-
Notifications
You must be signed in to change notification settings - Fork 598
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
Support SBOM creation for container image indexes #1683
Comments
Syft can download different architectures when using the We investigated combining multiple SBOMs into a single one, but there are some definite issues with this. Feel free to read this issue for some more information there. |
We could generate SBOMs for each underlying container image separately, then merge them into a single SBOM. But I believe this is a common enough use case that Syft should support it. Multi-architecture and multi-platform images are exposed to the user via the image index digest. So when they request an SBOM for the artifact, they will use that identifier in the lookup, rather than a digest for one of the underlying image manifests. |
Hi @eliaslevy at present this request requires a couple different things:
Today, we don't have either of these features on the roadmap. Combining multiple SBOMs, for example, is a nontrivial task that requires understanding about what packages and files mean within the context of the provided SBOM. That said, we always accept PRs and we're always happy to talk about this on Slack or our community office hours! |
I would think (at least in my scenario) that making a per-platform SBOM from a multi-platform manifest would be a very valuable step forward |
There are documented semantics for SPDX and this use case. AFAIK apko, ko & bom all already follow this semantic pattern (reference). |
Hi all! We discussed this on our livestream today and we have some ideas:
|
@willmurphyscode providing the specification for the output SBOM would be the first step. FYI I'm not sure if the standards I linked above are actually in use. After there is a standard Syft could add support to merge the SBOMs created using |
What would you like to be added:
Create an SBOM when given a container reference that points to a container image index that includes the dependencies of all the image manifests the index points to.
Why is this needed:
Multi-architecture and multi-platform container images are becoming more common.
Additional context:
Syft supports creating an SBOM from a container reference. When given a reference, Syft will pull the reference to download the container image. When the reference points to a container image index, Syft will download one of the underlaying images depending on that platform the tool is run on, and generate an SBOM from that image. That means that the dependencies of the alternate images are not cataloged and documented in the SBOM, creating a visibility gap.
Syft should optionally download each underlaying image and document the dependencies in all of them. Ideally Syft would model the image index and image manifests as packages in the SBOM with appropriate relationships, so that the dependency graph information is recorded.
The text was updated successfully, but these errors were encountered: