-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Hello, thanks for your work on this project!
Is your feature request related to a problem? Please describe.
In my use case I work with a large project where there is a lot of suppressions. An effort is made to keep the suppressions grouped together based on different categories, such as if they are temporary suppressions or permanent (as well as other things). This grouping is now done with comments and whitepsace in the suppressions.xml.
-
If we take the temporary suppressions in my case as an example: The
untilattribute should be put on all temporary suppressions individually. In my case the same date is used for all temporary suppressions.
It would thus be convenient and less error prone to be able to put them in a group where theuntilattribute is specified on group level. -
In my case there is also a need to generate documentation (where the xml file itself won't suffice) about what suppressions have been made. In this case it would also be advantegous if suppressions could be put into related groups. Then that information could be easily transformed using
xslt.
Describe the solution you'd like
A new version of the suppression schema (1.4) with an optional suppressionGroup element could be created.
- The
suppressionGroupelement contains suppressions. - All attributes that can be used on a
suppressioncan be used onsuppresssionGroupas well. The attributes of thesuppressionGroupare applied to allsuppressionelements it contains. If attributes are defined in asuppressionelement anyway, then those overide that of the group. - The
suppressionGroupalso has anameattribute. It also has anoteselement for documentation similar to asuppression. - The
suppressionGroupelement is optional. Suppressions should still be able to be individually listed. Making any xml written according to schema 1.3 valid according to schema 1.4 as well. - Only the parsing of the
suppressions.xmlis changed. Internally OWASP will representSuppressionRulethe same, and will not be aware of any groups.
Describe alternatives you've considered
- Considered if internal representation of
SuppressionRuleshould be aware of the any groups, but didn't want to change that. Perhaps it could beneficial for some output of the application. - Considered if
suppressioninside asuppressionGroupshould not be allowed to override attribute set on group level, perhaps making it less likely to make manual errors. But thought that the override principle follows other patterns in computing, such as inheritance in programming languages.