stable

Clone or download

Read-only

Closes request #31123: Automate scanning for known vulnerabilities in dependencies

This contribution introduces a new Jenkins pipeline that will executed once a day. Developers can execute the same thing locally with `make scan-vuln-deps`. It uses the recently introduced OSV-Scanner [0][1]. The PHP, JS, Go and Rust dependencies are covered. Nix derivations could be covered in the future by creating SBOM for them (but note that for "new" tools/services we are using the package manager associated with the language anyway). The goals are to: * gives the whole dev team the possibility to participate to the triage or at least be aware of it * have a better view of the state of our dependency tree * force a response when a vulnerability is discovered in our dependency tree even if it is "ignore it for now" * see how noisy it is day-to-day This approach has shortcomings (ignore vulns is not scoped by sub-packages, does not give a centralized view across the supported Tuleap versions...) but it requires little to no additional infrastructure and it is still better than what we currently have. Deploying tools like Dependency-Track [2] could be considered later on but the work done here will not be wasted anyway (even more since they started using the OSV.dev database). [0] https://security.googleblog.com/2022/12/announcing-osv-scanner-vulnerability.html [1] https://github.com/google/osv-scanner [2] https://dependencytrack.org/ Change-Id: I4fee861bbd591e385cfe3f9dfe7006c4adeff7da

Modified Files

Name
M Makefile +4 −0 Go to diff View file
D plugins/mytuleap_contact_support/Jenkinsfile +0 −114 Go to diff View file
M tests/Jenkinsfile +4 −4 Go to diff View file
M tests/Jenkinsfile-nightly +2 −2 Go to diff View file
A tests/Jenkinsfile-security-scan-vuln-deps +53 −0 Go to diff View file
M tests/Jenkinsfile-security-taint-analysis +1 −1 Go to diff View file
M tests/build_and_run/test.sh +1 −1 Go to diff View file
M tools/publish_js_libraries/Jenkinsfile +5 −5 Go to diff View file
M tools/rpm/build_and_run_packages.sh +1 −1 Go to diff View file
M tools/utils/nix/dev-tools/default.nix +1 −0 Go to diff View file
R tools/utils/nix/build-tools.dockerfile Go to diff View file
A tools/utils/osv-scanner/config.toml +359 −0 Go to diff View file