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

[Bug] Telco SBOM a Package URL doesn't (always) "uniquely identify software packages" #74

Open
joshuagl opened this issue Oct 3, 2023 · 3 comments
Labels
bug Something isn't working

Comments

@joshuagl
Copy link

joshuagl commented Oct 3, 2023

The draft Telco SBOM specification states that a package SHOULD be identified by a Package URL (PURL) in an ExternalRef, and that:

Package URL (PURL) is a de facto standard to uniquely identify software packages.

However, there's no uniformity around PURL usage to ensure that a given PURL is a unique identifier for a software component.

There have been requests for guidance/"Documentation around using PURLs as unique identifiers": package-url/purl-spec#242 -- however this appears to still be an unresolved question in the PURL community.

Expected behavior

It's clear how to use a PURL to uniquely identify a software package, or the claim to uniquely identify a software package is diluted.
This may be a section of the Telco SBOM which describes how to construct a PURL such that the identified package is uniquely identifiable, or may be working with the upstream to ensure this is covered by the PURL spec.

@joshuagl joshuagl added the bug Something isn't working label Oct 3, 2023
@vargenau
Copy link
Collaborator

vargenau commented Oct 4, 2023

@joshuagl
Thank you for your comments.
Do you have a proposal to solve this?

@nishakm
Copy link

nishakm commented Oct 24, 2023

https://github.com/package-url/purl-spec/blob/master/PURL-TYPES.rst is the canonical place to look for best practices to create pURLs for each ecosystem. I'm looking forward to hearing if this solves your problem.

@joshuagl
Copy link
Author

Apologies for the delayed response. I think the question of how to resolve this depends on the purpose for using pURL.

The draft spec says that the pURL is used as to identify packages, however the pURL maintainer(s) state (in purl#242 comment) that pURL is primarily a locator format:

A PURL is a locator and a mostly unique way to identify a package. But this does not mean that there is a single unique PURL for a given package.

I believe the goal for use of pURL in the telco SBOM is to provide a reference to the original location the package was retrieved from? If that's correct, we can update the draft spec to align the language with pURL's statements.

If that's not correct, the spec should better describe the goal and how pURL can be used to achieve it. Perhaps referencing the pURL types document that Nisha referenced.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants