-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Description
This issue is to document our discussion today (Dec 13th 2023) at the SBOMit community meeting.
We discussed what properties are required in an SBOM format to allow it to meet SBOMit phase 1 and phase 2 verification. A SBOMit compatible SBOM format is referred to as a SIT.
- SIT: refers to an SBOM (Software Bill of Materials) that has been derived from an SBOMit document. It can be formatted in any SBOM style and references the originating SBOMit document used for its creation.
SIT Required Fields
- Identifiers
- Component/Packages must of a digest field which supports the same digests as outlined in the in-toto DigestSet field
- In-toto Attestation Storage
- Attestations can be stored directly within an SBOM
- Attestations can be stored externally to the SBOM and referenced by URL
- In-toto Layout Storage
- Layouts can be stored directly within an SBOM
- Layouts can be stored externally to the SBOM and referenced by URL
- Component/Package to Attestation References
- Each component/package has a reference to one or more attestation(s)
- References should be able to support URLs for externally stored attestations and within the same document
We want to explicitly call out many to many relationships are required between components/packages and attestations.
- Multiple
attestationscould reference the samematerials/products. - Multiple
materials/productsmay be reference in the sameattestation
Planned Fields For Common SBOM Formats
SPDX
- targeted Version: TBD
- (2.3+) Package checksum field
- (2.3 +) External reference field
Needed Fields
- We need a method to store in-toto attestation json files directly within the SPDX formation. We could overload annotations but it doesn't seem like an ideal solution.
CycloneDX
- targeted Version: 1.6
- (1.2 +) hashes
- (1.6 +) Evidence is being added as part of Standards and Attestation support.
- Evidence supports base64 encoded data to be stored directly within the SBOM using the
evidence.data.contents.attachmentfield. - Evidence supports url reference to external resources using the
evidence.data.contents.url
- Evidence supports base64 encoded data to be stored directly within the SBOM using the
- (1.5 +) External Reference of
attestationType- A
bomlinkcan be used for an internal reference to a component of data type
- A
Needed Fields
- N/A
Metadata
Metadata
Assignees
Labels
No labels