@@ -5,7 +5,7 @@ description: This page gives an overview of the SLSA Build Environment track and
55
66## Rationale
77
8- Today's hosted build platforms play a central role in an artifact's supply
8+ Today's hosted [ build platforms] play a central role in an artifact's supply
99chain. Whether it's a cloud-hosted service like GitHub Actions or an internal
1010enterprise CI/CD system, the build platform has a privileged level of access
1111to artifacts and sensitive operations during a build (e.g., access to
@@ -18,15 +18,15 @@ implement and operate fully secure build platforms because they are made up
1818of many layers of interconnected components and subsystems.
1919
2020The SLSA Build Environment track aims to address these issues by making it
21- possible to validate the integrity and trace the provenance of core build
21+ possible to validate the integrity and trace the [ provenance] of core build
2222platform components.
2323
2424## Track overview
2525
2626The SLSA Build Environment (BuildEnv) track describes increasing levels of
27- integrity and trustworthiness of the < dfn > provenance</ dfn > of a build's
28- execution context. In this track, provenance describes how a [ build image]
29- was created, how the [ hosted] build platform deployed a build image in its
27+ integrity and trustworthiness of the provenance of a build's
28+ execution context. In this track, provenance describes how a build image
29+ was created, how the hosted build platform deployed a build image in its
3030environment, and the compute platform they used.
3131
3232| Track/Level | Requirements | Focus | Trust Root
5252## BuildEnv levels
5353
5454The primary purpose of the Build Environment (BuildEnv) track is to enable
55- auditing that a build was run in the expected execution context.
55+ auditing that a build was run in the expected [ execution context] .
5656
5757The lowest level only requires SLSA [ Build L2] Provenance to
58- exist for the build image, while higher levels provide increasing
58+ exist for the [ build image] , while higher levels provide increasing
5959auditability of the build environment's properties and integrity of the
6060generated provenance attestations. The highest levels introduce further
61- requirements for hardware-assisted hardening aimed at reducing the trusted
62- computing base of a build.
61+ requirements for hardware-assisted hardening of the [ compute platform ]
62+ aimed at reducing the trusted computing base of a build.
6363
6464Software producers and third-party auditors can check attestations generated
65- by the build image producer and build platform against the expected
65+ by the [ build image producer] and build platform against the expected
6666properties for a given build environment. This enables any party to detect
6767[ several classes] of supply chain threats originating in the build
6868environment.
6969
7070As in the Build track, the exact implementation of this track is determined
71- by the build platform provider , whether they are a commercial CI/CD service
71+ by the build platform implementer , whether they are a commercial CI/CD service
7272or enterprise organization. While this track describes general minimum
7373requirements, this track does not dictate the following
7474implementation-specific details: the type of build environment, accepted
@@ -110,23 +110,23 @@ n/a
110110<dt >Summary<dd >
111111
112112The build image (i.e., VM or container image) used to instantiate the build
113- environment has SLSA provenance showing how the image was built.
113+ environment has SLSA Build Provenance showing how the image was built.
114114
115115<dt >Intended for<dd >
116116
117117Build platforms and organizations wanting to ensure a baseline level of
118- integrity for build environments at the time of build image distrbution .
118+ integrity for build environments at the time of build image distribution .
119119
120120<dt >Requirements<dd >
121121
122122- Build Image Producer:
123123 - MUST automatically generate SLSA [ Build L2] or higher
124124 Provenance for created build images (i.e., VM or container images).
125- - MUST allow independent automatic verification of a build image's SLSA
126- Provenance. If the build image artifact cannot be published, for example
127- due to intellectual property concerns, an attestation asserting the
125+ - MUST allow independent automatic verification of a build image's [ SLSA
126+ Build Provenance] . If the build image artifact cannot be published, for
127+ example due to intellectual property concerns, an attestation asserting the
128128 expected hash value of the build image MUST be generated and distributed
129- instead (e.g., using [ SCAI] or a [ Release Attestation] ). If the full
129+ instead (e.g., using [ SCAI] or a [ Release Attestation] ). If the full Build
130130 Provenance document cannot be disclosed, a [ VSA] asserting the build
131131 image's SLSA Provenance MUST be distributed instead.
132132
@@ -168,14 +168,14 @@ All of [BuildEnv L1], plus:
168168- Build Image Producer:
169169 - Build images MUST be created via a SLSA [ Build L3] or higher build
170170 process.
171- - MUST automatically generate and distribute signed reference values
171+ - MUST automatically generate and distribute signed [ reference values]
172172 for the following build image components: bootloader or equivalent,
173- guest kernel, build agent, build executor, and root filesystem (e.g.,
174- via the image's SLSA Provenance, or [ SCAI] ).
173+ guest kernel, [ build agent] , and root filesystem (e.g., via the image's
174+ SLSA Provenance, or [ SCAI] ).
175175 Additional build image components whose initial state is to be checked
176176 MAY be also measured.
177177 - The build agent MUST be capable of:
178- - Upon completion of the boot process: Automatically interfacing
178+ - Upon completion of the [ boot process] : Automatically interfacing
179179 with the host interface to obtain and transmit a signed quote for the
180180 build environment's system state.
181181 - Upon build dispatch: Automatically generating and distributing
@@ -185,13 +185,13 @@ All of [BuildEnv L1], plus:
185185- Build Platform Requirements:
186186 - MUST meet SLSA [ Build L3] requirements.
187187 - Prior to dispatching a tenant's build to an instantiated environment,
188- a signed quote MUST be automatically requested from the build agent,
189- and the contained measurements verified against their boot process
188+ a signed [ quote] MUST be automatically requested from the build agent,
189+ and the contained [ measurements] verified against their boot process
190190 reference values. A signed attestation to the result of the verification
191191 MUST be generated and distributed (e.g., via a [ VSA] ).
192192
193193- Compute Platform Requirements:
194- - The host interface MUST be capable of generating signed quotes for
194+ - The [ host interface] MUST be capable of generating signed quotes for
195195 the build environment's system state.
196196 In a VM-based environment, this MUST be achieved by enabling a feature
197197 like [ vTPM] , or equivalent, in the hypervisor.
@@ -295,10 +295,22 @@ TODO
295295[ Release Attestation ] : https://github.com/in-toto/attestation/blob/main/spec/predicates/release.md
296296[ SCAI ] : https://github.com/in-toto/attestation/blob/main/spec/predicates/scai.md
297297[ Secure Boot ] : https://wiki.debian.org/SecureBoot#What_is_UEFI_Secure_Boot.3F
298+ [ SLSA Build Provenance ] : provenance.md
298299[ TPM ] : https://trustedcomputinggroup.org/resource/tpm-library-specification/
299300[ VSA ] : verification_summary.md
300- [ build image ] : terminology.md#build-environment-model
301+ [ build image ] : terminology.md#build-image
301302[ confidential computing ] : https://confidentialcomputing.io/wp-content/uploads/sites/10/2023/03/Common-Terminology-for-Confidential-Computing.pdf
303+ [ execution context ] : terminology.md#build-environment
302304[ hosted ] : requirements.md#isolation-strength
305+ [ boot process ] : terminology.md#boot-process
306+ [ build agent ] : terminology.md#build-agent
307+ [ build image producer ] : terminology.md#build-image-producer
308+ [ build platforms ] : terminology.md#platform
309+ [ compute platform ] : terminology.md#compute-platform
310+ [ host interface ] : terminology.md#host-interface
311+ [ measurement ] : terminology.md#measurement
312+ [ provenance ] : terminology.md#provenance
313+ [ quote ] : terminology.md#quote
314+ [ reference values ] : terminology.md#reference-value
303315[ several classes ] : #build-environment-threats
304316[ vTPM ] : https://trustedcomputinggroup.org/about/what-is-a-virtual-trusted-platform-module-vtpm/
0 commit comments