The Linux Foundation Projects
Skip to main content

Definition

The build profile includes capturing details of software builds. Specifically, the build profile and its associated definitions help express how software is generated and transformed. This includes encoding the inputs, outputs, procedures/instructions, environments and actors from the build process along with the associated evidence.

Personas

The profile is primarily produced by software builders. This includes tools and organizations that operate build services and infrastructure, software compilers and software packagers. The build information can be consumed by security, safety, compliance, quality assurance operators, auditors and executives.

Use Cases

Build Provenance

Providing and verifying build provenance of a software ensure that the provided software is what it claims to be

Security

Providing the necessary information to respond to supply chain compromises such as a bad builder or build tool/configuration

Audit

Checking if certain build tool (e.g. security compilation flag configuration) is enabled in the creation of the software

Reproducibility

Providing the necessary information to verify the reproducibility of a build to create more confidence in the built artifact and the build process.

Quality

Provide evidence to assert higher confidence that the specified software components in an SBOM is accurate and complete.

Safety

Providing information about all the inputs and processes that are used in the creation of the software so they can be audited and verified for safety standards in critical infrastructure and components.

Benefits

Applying the build profile will enable the encoding of the necessary information to be able to perform the respective use cases and allow interoperability across tools and ecosystems which understand the SPDX Build Profile.