The Supply-chain Levels for Software Artifacts (SLSA) framework consists of a set of incrementally adoptable guidelines for supply chain security, established by industry consensus. It is designed to support automation that tracks code handling from source to binary, protecting against tampering regardless of the complexity of the software supply chain. The SLSA framework provides trust with best practices and tamper-resistant evidence for securing each step of the software production process.
Tanzu Application Catalog produces provenance attestations for all the distributed assets, as the verifiable information about software artifacts describing where, when and how something was produced, that meets SLSA Build Level 3.
The table below shows the requirements needed to be SLSA compliant for Level 3 based on this specification. As you will see in the following sections, Tanzu Application Catalog follows SLSA recommendations to meet those requirements when building and delivering applications.
Implementer | Requirement | Degree | L3 |
---|---|---|---|
Producer | Choose an appropriate build platform | Yes | |
Follow a consistent build process | Yes | ||
Distribute provenance | Yes | ||
Build platform | Provenance generation | Exists | Yes |
Authentic | Yes | ||
Unforgeable | Yes | ||
Isolation strength | Hosted | Yes | |
Isolated | Yes |
In this section you will learn how Tanzu Application Catalog artifacts are compliant with the following SLSA requirements:
The producer must select a build platform that is capable of reaching their desired SLSA Build Level.
Tanzu Application Catalog custom build platform is the evolution of the Bitnami build platform, following these rules:
The producer must build their artifact in a consistent manner such that verifiers can form expectations about the build process.
All build steps ran using a hosted build platform on shared or dedicated infrastructure, not on an individual’s workstation.
Tanzu Application Catalog build platform runs in a dedicated hosted environment, isolated from the rest of services, with all expected security measures and strict network rules.
The build platform ensured that the build steps ran in an isolated environment, free of unintended external influence. In other words, any external influence on the build was specifically requested by the build itself. This must hold true even between builds within the same tenant project.
The producer must distribute provenance to artifact consumers.
Custom provenance metadata is distributed in Tanzu Application Catalog along with the build outputs:
Provenance metadata is based on the SLSA Provenance proposal. The Tanzu Application Catalog build type definition can be found here.
Additional metadata consists of several artifacts such as SPDX SBOMs, test results, CVE scans, VEX documents and so on.
All these artifacts are available for download through the Tanzu Application Catalog UI as shown in the screenshot below or via CLI.
The build process must generate provenance that unequivocally identifies the output package by cryptographic digest and describes how that package was produced. The format must be acceptable to the package ecosystem and/or consumer.
Tanzu Application Catalog asset specification contains SHA-256 hashes of all artifacts produced during the build process, and also the OCI repo digests (manifest digests) of the delivered images.
SLSA Provenance is digitally signed (protected against tampering), and its information is complete, including:
Consumers must be able to validate the authenticity of the provenance attestation in order to ensure integrity and define trust.
Provenance based on the SLSA security framework is digitally signed by the build platform control plane, and the public key is available in a well known URL for customers and verifiers to check its integrity.
Additionally, all delivered OCI artifacts are signed with both Cosign and Notation. To learn how to verify artifacts signatures in Tanzu Application Catalog, see this tutorial.
Provenance must be strongly resistant to forgery by tenants.
Provenance is generated in the Tanzu Application Catalog build platform control plane. Security measures are put in place to ensure that non-authorized access to the provenance signing key cannot occur.