-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fortify fpr-parser uses a wrong risk/priority calculation #11901
Comments
Hello, Firstly, I would like to express my gratitude to the community for developing a parser for FPR files. I concur with the reported bug and would like to highlight two issues related to the parsing of the FPR file that I believe would benefit all of us through a bug fix.
For example, the below finding is flagged as High severity finding by Fortify as the InstanceSeverity is 4.0
Unfortunately, I couldn't attach the file with the Here’s what I see in Fortify Audit Workbench: And here’s what I see in DefectDojo:
|
@manochinnachamy Thanks for your report. Can you raise a separate issue for the "audits not considered"? |
Hello,
Our teams discovered a wrong behavior in the DefectDojo Fortify fpr-parser. This parser was added in addition to the existing xml-parser. An fpr is a zip container and containes an audit.fvdl xml-file with issue information.
The xml is created via CLI tools or special software like audit workbench, that adds some further information to the findings like a "friority" (fortify priority rating). This information is missing in a raw fpr file.
Bug description
Inside "parse_severity_and_convert" function of:
https://github.com/DefectDojo/django-DefectDojo/blob/master/dojo/tools/fortify/fpr_parser.py
it's visible that the fpr-parser uses only InstanceSeverity and Confidence fields from the audit.fvdl.
This leads to significant higher priority ratings in DefectDojo than in Fortify itself.
Expected behavior
Other projects on GitHub are mentioned by the Fortify community and have implemented Fortifys internal scoring formula:
https://github.com/jaxley/python-fortify
They calculate the risk/friority as a result of impact and likelihood ((confidence * probability * accuracy) / 25). These values are taken from the finding class rule also contained in the same audit.fvdl / fpr-file.
It would be great if you could improve this behaviour.
The text was updated successfully, but these errors were encountered: