Caution: Always verify the result with a new dependency check.
Dependency Check Suppressions Cleaner (supclean
) processes an XML report from OWASP Dependency-Check along with an associated suppression XML file.
It identifies suppression rules that apply to the vulnerabilities listed in the report, filters out irrelevant suppressions, and merges any duplicates.
Note: This is not an official OWASP project.
- Parses an OWASP Dependency-Check XML report.
- Parses an OWASP Dependency-Check suppression XML file.
- Evaluates suppression rules against dependency vulnerabilities.
- Removes non-applicable suppressions.
- Merges duplicate suppressions.
- Outputs consolidated suppressions as XML on STDOUT.
-h
: Show help-r string
: Path to the OWASP Dependency-Check report XML file (defaultdependency-check-report.xml
)-s string
: Path to the OWASP Dependency-Check suppressions XML file (defaultdependency-check-suppressions.xml
)-ks
: Keep non-matching CVSS minimum score fil*ter from suppressions (often required for future checks)-kw
: Keep non-matching CWE filters from suppressions (often required for future checks)-u string
: Remove expired suppressions with 'until' attribute before this date:now
, a RFC3339 date (2020-01-01Z
), ornever
(defaultnow
)-v
: Enable verbose mode-vv
: Enable trace mode, implies verbose
An example of running the tool with debug mode enabled and specifying custom paths for input files:
./supclean -debug -report path/to/report.xml -suppress path/to/suppressions.xml > consolidated_suppressions.xml
The tool outputs consolidated suppressions in XML format. You can redirect it into a file via >
. Logging is done to STDERR, so it will not end up in the suppressions file.
- Go
To run the tool, you need to clone the repository and either start it directy with go run supclean.go
or build the executable:
git clone https://github.com/dmatscheko/dependency-check-suppressions-cleaner.git
cd dependency-check-suppressions-cleaner
go build supclean.go
Contributions to this project are welcome! Please feel free to submit a pull request or open an issue for any bugs, feature requests, or questions.
This project is licensed under the GPLv3 License. See the LICENSE file for more information.
This tool was created by David M.