Skip to content

Additional scenarios #10

@sudo-bmitch

Description

@sudo-bmitch

Looking at #9, I'm trying to get a better understanding of how SBOMit delivers the following:

This specification proposes a means to generate metadata for an SBOM while the
software is being created. Furthermore, the means by which this information
is captured uses (in-toto)[https://in-toto.io] attestations and layouts. This
provides cryptograpic validation that this information is correct, handles
key distribution and management to indicate which parties should be trusted
for each step, and captures information about the environment in which the
steps are run.

As a result, using SBOMit provides a more accurate SBOM when parties are
honest. When malicious parties interfere in the process, SBOMit provides
a mix of traceability (knowing which party was malicious) and prevention
(blocking malicious software from being trusted), depending on how the
in-toto steps are configured.

For this I'm thinking of two scenarios. In both, the builds are not reproducible, so the hashes of the various outputs will be different for every build, and between any steps within the build.

In the first scenario, the build is run on a company's servers, and the end user only receives the generated binaries and an SBOM documenting the contents. For some reason the company doesn't want to document their usage of some 3rd party components, so they are taking deliberate steps to prevent that content from being included in the delivered SBOM. This company controls all of the signing keys and the servers where the steps are performed. How would SBOMit ensure that this is not possible and can be detected by the end user receiving the software?

In the second scenario, software is built on a public SaaS, e.g. GitHub Actions. The public action shows the SBOM generation steps being performed. and it is even signed using a project like sigstore to prove the build was run from the specific workflow and commit hash. The build itself could be verified with the GitHub SLSA provenance generator. In this scenario, what additional value would end users receive from verifying the SBOM from SBOMit vs verifying signature came from the workflow and commit running on the SaaS system?

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