Skip to content

CycloneDX equivalents for SBOM guidelines #80

@twaugh

Description

@twaugh

https://github.com/RedHatProductSecurity/security-data-guidelines/blob/main/docs/sbom.md#formats:

In the future, we may add similar guidelines for CycloneDX and SPDX 3.0.

A need for CycloneDX guidelines comes from this Konflux CI ADR: konflux-ci/architecture#301
specifically here: konflux-ci/architecture#301 (review)

The specific case at hand is about identifying the git tree from which with the specific component was built, for example like this in an SPDX "package" object:

  "externalRefs": [
    {
      "referenceCategory": "PACKAGE-MANAGER",
      "referenceType": "purl",
      "referenceLocator": "pkg:github/my-org/my-app@7d35c64261eeb9e9f8b2b4b0d119366dda99c6fd"
    }
  ]

The discussion in the ADR PR describes potential ways to express this in CycloneDX for a "component":

  • "externalReferences": {
      "type": "vcs",
      "url": "https://github.com/example/project.git"
    }
    ...but which package should this be a part of? Adding it to the binary package seems incorrect, so perhaps there should be a source package representing the source code within the git repository, with these external references, and with a GENERATED_FROM relationship indicating the binary artifact was generated from the source code (by eg compilation).
  • "pedigree": {
      "commits": [
        {
          "uid": "7638417db6d59f3c431d3e1f261cc637155684cd",
          "url": "https://github.com/example/project/commit/7638417db6d59f3c431d3e1f261cc637155684cd"
        }
      ]
    }
    ...but isn't pedigree.commits for changes to the component relative to the external references?
  • a combination of the above

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions