dependency-track/dev
nscuro 15df5bfcba
Consider OS distro during vulnerability matching
* Where possible, enriches an affected package's PURL with `distro` qualifier inferred from the package's `ecosystem`. e.g. `ecosystem=Debian:7` becomes `distro=debian-11`, `ecosystem=Ubuntu:20.04:LTS` becomes `distro=ubuntu-20.04` etc.
* During vulnerability analysis, if both component and matching criteria have a PURL `distro` qualifier, ensures they match. Matching can handle codename <-> version comparisons, e.g. for Ubuntu `focal` would match `20.04` and vice versa.
* Generally improves performance of OSV mirroring by using fewer transactions and disabling ORM features that caused expensive unnecessary queries.

Currently Alpine, Debian, and Ubuntu distribution matching is implemented. These seem to work for SBOMs generated with Trivy and Syft.

The codename <-> version mapping is currently hardcoded for Debian and Ubuntu. There is a fallback mechanism that will handle exact matches, such that when Debian publishes a hypothetical "foo" release, we can still match components with vulnerabilities if both `distro` qualifiers are exactly "foo".

Debian and Ubuntu provide CSV which we could regularly fetch at runtime, but this involves more work to coordinate.

Fixes https://github.com/DependencyTrack/dependency-track/issues/1374
Fixes https://github.com/DependencyTrack/dependency-track/issues/5776
Fixes https://github.com/DependencyTrack/dependency-track/issues/4445
Fixes https://github.com/DependencyTrack/dependency-track/issues/4725

Signed-off-by: nscuro <nscuro@protonmail.com>
2026-03-02 23:51:05 +01:00
..
monitoring Align retry configuration and behavior across analyzers 2024-02-24 22:16:46 +01:00
scripts Bump CWE dictionary to v4.14 2024-06-06 20:06:24 +02:00
docker-compose.monitoring.yml Transfer copyright from Steve Springett to OWASP Foundation 2024-03-20 18:39:35 +01:00
docker-compose.mssql.yml Fix docker-compose.mssql.yml 2024-09-12 19:30:07 +02:00
docker-compose.mysql.yml Fix project.active being nullable 2024-11-27 22:10:16 +01:00
docker-compose.postgres.yml Consider OS distro during vulnerability matching 2026-03-02 23:51:05 +01:00
docker-compose.trivy.yml Add dev Compose file for Trivy 2024-04-20 19:58:10 +02:00
docker-compose.yml Switch to G1GC and limit default Docker Compose memory to 4GB 2026-02-07 19:23:54 +01:00