Skip to content
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

Encoding of PURL and CPE in Alpine #4242

Open
2 tasks done
abittasi opened this issue Oct 11, 2024 · 0 comments
Open
2 tasks done

Encoding of PURL and CPE in Alpine #4242

abittasi opened this issue Oct 11, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@abittasi
Copy link

Current Behavior

SBOMs obtained by scanning containers based on an official Alpine Docker base image contain a list of elements coded with an internal Alpine revision number.

An example might be the presence in the Alpine base image of components such as:

cpe:2.3:a:busybox:busybox:1.35.0-r31:::::::*
pkg:apk/alpine/[email protected]

The “-r31” tag informs that busybox v.1.35.0 is used in the base image, but that it has been patched to fix some vulnerabilities using an internal Alpine “r31” release.

The use of cpe and PURLs that contain this "-r*" has two effects:

  • Dependency Track is not able to notify the presence of a vulnerability in this SBOM (because it does not recognize cpe:2.3:a:busybox:busybox:1.35.0-r31 as the busybox v.1.35.0 package (probably because a strict string comparison based on cpe or PURL is used in the check).
  • Dependecy Track does not check whether or not this specific “-r31” revision of the package is still affected by the vulnerability because Alpine Security Tracker (https://security.alpinelinux.org/) is not available as a vulnerability DB source.

Other vulnerability scanners like grype (https://github.com/anchore/grype) check and recognize this "-r*" coding signaling the presence of vulnerabilities only for the affected "-r*" revision handling the Alpine ecosystem.

Given the widespread use of Docker Alpine images in building docker based solution we ask to integrate Alpine PURL and CPE coding.

Proposed Behavior

  • Check PURL and CPE keeping in mind this particular use of the package identifier made by Alpine
  • add the Alpine ecosystem to Dependecy Track

Checklist

@abittasi abittasi added the enhancement New feature or request label Oct 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant