One thing I didn't understand is the last part, specifically the last two
line which has two parts:
1. dangerous processor annotation
2. attribute protection.
If anyone can explain me a bit about above two points, it'll be of much
Thank you for contributing code and effort to Apache NiFi. I’m happy to take a look at your contributions for EncryptAttribute processor. If you feel comfortable, you can create a “work in progress” PR against apache/nifi master with the string “[WIP]” in the title so reviewers know it is not ready to be merged. Having the PR open makes it easier to provide comments and feedback using the standard tools.
Some very useful resources are the Contributor Guide  and the Developer Guide . These documents will help you configure your development environment to ensure that any code you submit meets the Apache contribution guidelines for acceptance. For example, modifying the .travis.yml and README.md files is unnecessary and can be avoided by using a feature branch for development . You can see all of your current changes against the upstream master here .
The “Dangerous Processor Annotation” was at the time just a future feature we had thrown on the security roadmap . It has since been implemented as NIFI-3050 . However, further discussion determined that Encrypt* processors should not be considered “dangerous”, so you do not need to integrate that annotation on this processor.
"Attribute protection” is another feature listed in the security roadmap to provide granular access controls to individual attributes throughout the life of a flowfile. This is because a sensitive attribute value will still be accessible via the flowfile provenance even after the attribute itself is encrypted using a later processor. At this time, the feature is not implemented, so I would not worry about handling it in your contribution.
Please let me know if you have any other questions and I look forward to getting your work into NiFi.
One thing I didn't understand is the last part, specifically the last two line which has two parts: 1. dangerous processor annotation 2. attribute protection. If anyone can explain me a bit about above two points, it'll be of much help.