aquasecurity / trivy

Find vulnerabilities, misconfigurations, secrets, SBOM in containers, Kubernetes, code repositories, clouds and more
https://aquasecurity.github.io/trivy
Apache License 2.0
22.1k stars 2.18k forks source link

fix(java): use `go-mvn-version` to remove `Package` duplicates #7088

Closed DmitriyLewen closed 1 day ago

DmitriyLewen commented 2 days ago

Description

We remove duplicates of packages. But there are cases when Packages uses same version, but one of package omits 0 patch version (e.g. 2.17.0 and 2.17).

Using go-mvn-version to compare version solves this problem.

before:

➜ trivy -q image apachepulsar/pulsar:3.3.0 --format cyclonedx | grep '"purl": "pkg:maven/org.glassfish.jersey.containers/jersey-container-servlet-core'
      "purl": "pkg:maven/org.glassfish.jersey.containers/jersey-container-servlet-core@2.41",
      "purl": "pkg:maven/org.glassfish.jersey.containers/jersey-container-servlet-core@2.41.0",

after:

➜ trivy -q image apachepulsar/pulsar:3.3.0 --format cyclonedx | grep '"purl": "pkg:maven/org.glassfish.jersey.containers/jersey-container-servlet-core'
      "purl": "pkg:maven/org.glassfish.jersey.containers/jersey-container-servlet-core@2.41",

Related issues

Checklist