-
-
Notifications
You must be signed in to change notification settings - Fork 59
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
Discoverability on the BOM Server #160
Comments
is this request in the correct repo? |
There's two standardization questions here:
Till (1) is settled (ideally in the specification), I'm not sure if it can even be taken up by any SBOM server. As it stands, the SBOM metadata does not include a stable identifier for itself. As a sample, this is what alpine:latest scanned via Syft shows up as: {
"$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
"bomFormat": "CycloneDX",
"specVersion": "1.4",
"serialNumber": "urn:uuid:16e4a07b-1174-4c6d-8783-f9d15c546924",
"version": 1,
"metadata": {
"timestamp": "2023-07-27T10:12:21Z",
"tools": [
{
"vendor": "anchore",
"name": "syft",
"version": "0.85.0"
}
],
"component": {
"bom-ref": "5f08cdaf1f225f20",
"type": "container",
"name": "alpine:edge",
"version": "sha256:12b034ab685c2031f14d2d99dff9db7049e05051c6dbce8905781d23c286b868"
}
}, Since this is a container image, which have unique PURLs, a discoverability mechanism would mean adding an identifier like:
But this does not include a PURL (there is no PURL type for operating-systems), and is a description of the operating system inside the container image, its not a top-level identifier for what was scanned. |
The combination of serialNumber and version form the identity of the BOM. This identity can be expressed via BOM-Link. The BOM Exchange API currently supports this. There are plans to support discoverability based on the metadata>component via its purl, cpe, or swid. |
Does Syft add: "swid": {
"tagId": "alpine",
"name": "alpine",
"version": "3.18_alpha20230329"
} If so, that's so completely wrong. Nothing about that markup is correct. |
this topic might be related/referring to https://github.com/CycloneDX/transparency-exchange-api |
Creating this based on Discussion on Slack:
Discoverability based on PURL/CPE will be very helpful for projects. It would also enable the creation of "public BOM servers", where one could host (say) SBOMs for every package on a specific distro or package manager.
Slack Ref: https://cyclonedx.slack.com/archives/C024GCLFJDR/p1652538141714249
The text was updated successfully, but these errors were encountered: