Replies: 2 comments 8 replies
-
thats the way to go
according to the guide, there is only one way - sub-components nested according to the architecture of use.
please be aware that dependency graph does express WHY a component exist, not where it is nested/contained. |
Beta Was this translation helpful? Give feedback.
-
Hi @knqyf263, Thank you for starting this important discussion! I tend to agree with both you and @jkowalleck that assemblies are conceptually the correct way to model inclusion relationships in CycloneDX. However, in practice, I’ve rarely seen them used in real-world SBOMs. For example:
As a result, most security scanners treat any component listed in a CycloneDX SBOM as bundled with the application, regardless of whether it’s actually included or merely referenced. This confusion is compounded by the NTIA’s definition of a "dependency relationship," which essentially equates it with inclusion:
Given this reality, we're exploring a more pragmatic approach in the CycloneDX Maven Plugin. Specifically, we’re considering using:
to differentiate between shipped and non-shipped dependencies. This ongoing discussion is documented in detail at CycloneDX/cyclonedx-maven-plugin#589. Proposal for Expressing
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi CycloneDX team,
We're working to improve Trivy’s CycloneDX output and would like guidance on how to model “contains” relationships that, in SPDX, are expressed with CONTAINS.
Typical scenario (container image SBOM):
We’ve read the Relationships guide and see that “assemblies” look closest to SPDX CONTAINS, but there seem to be several ways to structure the BOM.
Below are three candidate patterns, each with a simplified snippet (assuming
bom-ref
is equivalent toname
). Which one is considered most idiomatic?Pattern 1: Two parallel assemblies (OS & binary)
Considerations
Pattern 2: Single nested assembly (everything under the OS)
Considerations
Pattern 3: Flat components + dependencies
Considerations
Questions
Any guidance or references to existing public SBOMs following best practice would be greatly appreciated.
Thanks
Beta Was this translation helpful? Give feedback.
All reactions