Skip to content

Commit ff18705

Browse files
committed
Add links to definitions in BuldEnv levels
Signed-off-by: Marcela Melara <marcela.melara@intel.com>
1 parent b085659 commit ff18705

1 file changed

Lines changed: 37 additions & 25 deletions

File tree

docs/spec/draft/attested-build-env-levels.md

Lines changed: 37 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -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
99
chain. Whether it's a cloud-hosted service like GitHub Actions or an internal
1010
enterprise CI/CD system, the build platform has a privileged level of access
1111
to 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
1818
of many layers of interconnected components and subsystems.
1919

2020
The 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
2222
platform components.
2323

2424
## Track overview
2525

2626
The 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
3030
environment, and the compute platform they used.
3131

3232
| Track/Level | Requirements | Focus | Trust Root
@@ -52,23 +52,23 @@ TODO
5252
## BuildEnv levels
5353

5454
The 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

5757
The 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
5959
auditability of the build environment's properties and integrity of the
6060
generated 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

6464
Software 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
6666
properties for a given build environment. This enables any party to detect
6767
[several classes] of supply chain threats originating in the build
6868
environment.
6969

7070
As 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
7272
or enterprise organization. While this track describes general minimum
7373
requirements, this track does not dictate the following
7474
implementation-specific details: the type of build environment, accepted
@@ -110,23 +110,23 @@ n/a
110110
<dt>Summary<dd>
111111

112112
The 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

117117
Build 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

Comments
 (0)