-
Notifications
You must be signed in to change notification settings - Fork 7
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
SBOMit Phase I Settlement #24
Comments
With CycloneDX, there is a third option, which also uses external references. In CDX, external references are only external to the object they describe, not necessarily the BOM. Therefore, in CDX, external references are also how relationships are formed. Every external reference type in CDX is also a relationship type. This is contrary to SPDX where they are different things. In CDX, they are one in the same. Example code (haven't validated this):{
"$schema": "http://cyclonedx.org/schema/bom-1.5.schema.json",
"bomFormat": "CycloneDX",
"specVersion": "1.5",
"serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79",
"version": 1,
"components": [
{
"type": "application",
"name": "My component",
"externalReferences": [
{
"type": "attestation",
"url": "urn:cdx:3e671687-395b-41f5-a30f-a58921a69b79/1#my-in-toto-attestation"
}
]
},
{
"bom-ref": "my-in-toto-attestation"
"type": "data",
"name": "Attestation data"
"data": [
{
"type": "dataset",
"contents": {
"attachment": {
"contentType": "application/vnd.in-toto+json",
"encoding": "base64",
"content": "eyAiJGNvbW1lbnQiOiAiaW4tdG90byBhdHRlc2F0aW9uIGRhdGEgZ29lcyBoZXJlIiB9"
}
}
}
]
},
]
}
Refer to: |
Good feedback @stevespringett :-) What you outline definitely something we discussed, but decided to defer to "Phase 2" of SBOMit, when there maybe a comparable capability in SPDX too. While using CycloneDX properties and SPDX annotations is not ideal, its something we could execute on today when we also work with the SPDX community to incorporate changes into SPDX 3.0. As we talk about the future of SBOMit for "Phase 2", we should also talk about using the new attestation capabilities in CycloneDX 1.6. This might be an opportunity to have the in-toto attestations used by SBOMit stored as |
SBOMit Phase I (lightweight, transparent to adopters):
The initial phase of SBOMit adoption is designed to be a streamlined process, involving minimal changes to existing SBOM generation tools used by adopters.
This phase comprises two pivotal actions:
Tooling Provider: Protobomit
"Protobomit" is a command-line tool specifically designed to augment the SBOMit initiative. Its functionalities are aligned with the objectives of SBOMit Phase I and extend beyond:
Optimal Placement of SBOMit Phase I Information in Different SBOM Formats
CycloneDX:
External References Field:
Pros:
Cons:
Custom Properties Field:
Pros:
Cons:
In Summary:
The SBOMit committee members have unanimously agreed in meeting to store in-toto attestations in the "Custom Properties" field of CycloneDX offers several advantages, particularly in contexts where security, integrity, and direct access to data are paramount. Embedding attestations directly within the SBOM ensures that all relevant data is self-contained, crucial in secure or air-gapped environments. This method enhances the overall security and integrity of the SBOM by reducing dependency on external sources. While embedding attestations increases the SBOM's size and may add complexity to its management, the benefits of having a comprehensive, self-contained, and secure record of attestations outweigh these concerns. Opting not to use the "External References" field is primarily due to challenges in dependency on external resources, security risks, and access issues in restricted environments.
SPDX:
External References Field:
Pros:
Cons:
Annotation Field:
Pros:
Cons:
In Summary:
The SBOMit committee members have unanimously agreed in meeting to store in-toto attestations in the "Annotation" field of SPDX offers distinct advantages. This method allows for direct association of attestations with relevant software components. Embedding attestations in the SBOM provides immediate, built-in verification details, crucial for security audits. Concerns about space constraints and added complexity for users are outweighed by the benefits of having a tightly integrated SBOM. Opting not to use "External References" is due to the reliance on external resources and associated security risks, especially in restricted environments.
The text was updated successfully, but these errors were encountered: