Skip to content

[Discussion] Documenting SIT specification to SBOM generated fields for tracibility #20

@idunbarh

Description

@idunbarh

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 attestations could reference the same materials/products.
  • Multiple materials/products may be reference in the same attestation

Planned Fields For Common SBOM Formats

SPDX

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

Needed Fields

  • N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions