-
Notifications
You must be signed in to change notification settings - Fork 3.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
[Build] Run OWASP Dependency Check as a scheduled build once per day #10855
[Build] Run OWASP Dependency Check as a scheduled build once per day #10855
Conversation
- add suppressions for false positives - add suppressions for known issues in distribution/server and make the check fail if new vulnerabilities are introduced - run reports for distribution/offloaders, distribution/io and pulsar-sql/presto-distribution to get a complete report of all vulnerabilities - upload report files as GitHub Actions artifact
Here's an example of the OWASP Dependency Check html reports that the schedule build will produce: https://github.com/lhotari/pulsar/actions/runs/914726687 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
we have a similar Job on Apache ZooKeeper project
+1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. Is there a way to trigger an email notification to the dev@ list when the job fails?
It's possible, but a bit complicated in GitHub Actions to send email. There are multiple ways to implement the sending of email from GitHub Actions. You need an email sending service in all solutions. The simplest way might be with SendGrid free, adding the API key as a GitHub Actions secret and using a shell script where curl is used to send email via the SendGrid REST API. Perhaps that could be done separately once we see how well the scheduled job works? |
The results of the scheduled OWASP Dependency Check scans can be found here: |
…pache#10855) - add suppressions for false positives - add suppressions for known issues in distribution/server and make the check fail if new vulnerabilities are introduced - run reports for distribution/offloaders, distribution/io and pulsar-sql/presto-distribution to get a complete report of all vulnerabilities - upload report files as GitHub Actions artifact
…pache#10855) - add suppressions for false positives - add suppressions for known issues in distribution/server and make the check fail if new vulnerabilities are introduced - run reports for distribution/offloaders, distribution/io and pulsar-sql/presto-distribution to get a complete report of all vulnerabilities - upload report files as GitHub Actions artifact (cherry picked from commit ccadc8a)
…pache#10855) - add suppressions for false positives - add suppressions for known issues in distribution/server and make the check fail if new vulnerabilities are introduced - run reports for distribution/offloaders, distribution/io and pulsar-sql/presto-distribution to get a complete report of all vulnerabilities - upload report files as GitHub Actions artifact
since list of suppressed vulnerabilities grows over time (today: 27) |
Motivation
Monitoring for new library vulnerabilities without having an automated solution is prone to errors.
There's an enhancement request #8815 about "Automated security and update routine before every release". This PR will help address those aspects.
New library vulnerabilities can be detected earlier when there's a scheduled build once per day.
Modifications
fail if new vulnerabilities are introduced
pulsar-sql/presto-distribution to get a complete report of all
vulnerabilities
Additional context
The current master branch contains a few vulnerabilities:
The vulnerabilities mentioned above are suppressed in
src/owasp-dependency-check-suppressions.xml
file so that it's possible to run OWASP Dependency Check with-DfailBuildOnAnyVulnerability=true
for failing the build if any new vulnerabilities are detected. This is the way how this PR sets a baseline and llbrary vulnerabilities can be tracked.