-
Notifications
You must be signed in to change notification settings - Fork 580
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
SBOM cataloger silently discards CycloneDX components of other types than library/application #3447
Comments
Thanks for the issue @pasieronen! I added needs-discussion here since syft currently does not surface device-drivers or platform components. Here is the code where we drop the components on decode: syft/syft/format/internal/cyclonedxutil/helpers/decoder.go Lines 62 to 83 in 3161e18
I think we'll take a look this week on if we should allow these to pass through and not be dropped when doing the SBOM cataloger or The core question is: "Can/should the syft json be able to represent these packages?" |
Current component types supported by CycloneDX: |
I think this is one of many options here (hints the needs-investigation label). |
I'm going to spike on this and see if we can design a way to adapt packages coming into the syft SBOM that we don't know how to catalog. There are a couple of ways we discussed on the live-stream today, but all surround adding some kind of sidecar or metadata that is specific to the format models @ onto the core syft package coming from the SBOM cataloger so that we don't drop information on the floor when the SBOM cataloger is used. |
What happened:
Given a simple CycloneDX SBOM:
And running it through SBOM cataloger:
What you expected to happen:
I expected a SBOM containing all four components. But the resulting SBOM has only "someapp" and "somelib", and the other two ("someplatform" and "somedriver") are nowhere to be seen. It looks like this happens to all other CycloneDX types except "application" and "library".
Steps to reproduce the issue:
Anything else we need to know?:
Environment:
syft version
:cat /etc/os-release
or similar): MacOS 14.7.1The text was updated successfully, but these errors were encountered: