Skip to content

Commit 70432da

Browse files
committed
adds top-level slsa-attestations page and updates links
1 parent 367e393 commit 70432da

12 files changed

Lines changed: 83 additions & 38 deletions

File tree

docs/_data/menus/documentation.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,12 @@
6262

6363
- text: Origin Verification
6464
path: origin-verification
65+
66+
- text: SLSA Attestations
67+
path: slsa-attestations
6568
items:
66-
- text: SLSA Attestations
67-
path: slsa-attestations
69+
- text: Definitions
70+
path: definitions
6871

6972
- separator: true
7073

docs/origin-verification/slsa-attestations.md renamed to docs/slsa-attestations/definitions.md

Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,13 @@
11
---
2-
header: SLSA Build Levels
2+
header: Definitions
33
layout: resources
44
toc: true
55
show_toc: 3
66
description: Describes SignPath SLSA build levels
77
---
88

9-
## SLSA attestations by SignPath
10-
119
This page contains the definitions for SignPath build types and builders for SLSA provenance files.
1210

13-
SignPath creates SLSA attestation in three distinct steps:
14-
15-
<!-- TODO: product names should be explained somewhere -->
16-
1. SignPath Pipeline Integrity gathers and verifies relevant information from a supported _origin_ CI/CD system
17-
2. SignPath DeepSign creates SLSA provenance build based on that information (along with other code signing operations)
18-
3. SignPath Attest signs the provenance
19-
20-
{:.panel.info}
21-
> **Attestation trust explained**
22-
>
23-
> In order to be able to trust an attestation issued by SignPath, clients need to:
24-
>
25-
> * Verify the signature on the attestation: it must be signed by an official SignPath certificate
26-
> * Trust SignPath to evaluate the attested properties
27-
> * SignPath evaluates and continuously monitors the services and APIs it uses from supported CI/CD systems. We do extensive research based on official vendor documentation and perform our own tests to ensure that attested properties reflect the actual configuration and build execution.
28-
> * Trust all hosted CI/CD system supported by SignPath or verify that the _origin_ system is one that you trust.
29-
> * SignPath cannot guarantee that the CI/CD system is actually operated in a safe way and safe from manipulation.
30-
>
31-
> Clients do _not_ need to trust the publisher for these security properties, as they are evaluated on the _control plane_ without relying on the provider's configuration. However, SignPath can only make technical evaluations and enforce technical policies. The quality of the source code (including build scripts) and code reviews is still up to the publisher.
32-
>
33-
> SignPath cannot attest builds from customer-operated CI/CD systems. However, SignPath provides features for customers to self-attest builds from centrally operated CI/CD systems for individual teams.
34-
35-
For details how to create SLSA attestations with SignPath, see the respective [artifact configuration directives](/artifact-configuration/reference#create-provenance-file).
36-
3711
## Build type and builder identifier
3812

3913
SignPath identifies build types and builders using the following URIs:
@@ -178,3 +152,7 @@ Guarantee: If the provenance is signed by SignPath, the build was executed on a
178152
| GitHub Actions | The build was executed on a GitHub-hosted runner which does not provide the ability to remotely connect, unless explicitly specified in the build definition (see [the official documentation](https://docs.github.com/en/actions/how-tos/manage-runners/github-hosted-runners/connect-to-a-private-network))
179153

180154
<!--| GitLab CI/CD | The build was executed on a GitLab-hosted runner wich does not allow remote connections (see [the official documentation](https://docs.gitlab.com/ci/runners/hosted_runners/))-->
155+
156+
## The `resource-uri` field
157+
158+
A Verification Summary Attestation (VSA) document defines a `resource-uri` field, with the intention to communicate an URI where the software artifact can be retrieved. This information is rarely known ahead of time for all artifacts that are published outside an e.g. app store or package manager repository. SignPath instead provides, in accordance with the SLSA specifications, information identifying the software publisher.

docs/slsa-attestations/index.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
---
2+
header: SLSA Attestations
3+
layout: resources
4+
toc: true
5+
show_toc: 3
6+
description: SLSA Attestations in SignPath
7+
---
8+
9+
## Overview
10+
11+
The [SLSA framework](https://slsa.dev) was originally introduced by Google in 2021 and is now maintained under the Open Source Security Foundation (OpenSSF). It defines a set of incremental security properties for build systems - a maturity model with levels that describe increasing degrees of assurance.
12+
13+
### Key concepts
14+
15+
- A **Provenance** is a machine- and human-readable file describing *where*, *when*, and *how* a software artifact was produced - typically including the source code repository and revision, the build definition, and information about the build system.
16+
- An **Attestation** is a digitally signed provenance.
17+
- A **Verification Summary Attestation (VSA)** confirms that an artifact was built compliant with the attested SLSA build level. It omits technical details about the build process and can therefore be more easily shared and validated.
18+
19+
### Build Levels
20+
21+
SLSA defines [three incremental levels](https://slsa.dev/spec/v1.2/build-track-basics) for build security:
22+
23+
#### Build L1 - Provenance exists
24+
25+
A provenance document exists, though its contents are not yet considered fully trustworthy or complete.
26+
27+
28+
#### Build L2 - Hosted build platform
29+
30+
The build ran on a hosted build system (not a developer's local machine), the provenance was generated by a trusted system (such as SignPath), and it is signed - making it a proper attestation.
31+
32+
#### Build L3 - Hardened builds
33+
34+
The build ran in an isolated, ephemeral environment - free from caches, remote sessions, and interference from other builds. A fresh environment is provisioned for every build.
35+
36+
## SLSA attestations by SignPath
37+
38+
SignPath creates SLSA attestation in three distinct steps:
39+
40+
<!-- TODO: product names should be explained somewhere -->
41+
1. SignPath Pipeline Integrity gathers and verifies relevant information from a supported _origin_ CI/CD system
42+
2. SignPath DeepSign creates SLSA provenance build based on that information (along with other code signing operations)
43+
3. SignPath Attest signs the provenance
44+
45+
For details see the respective [artifact configuration directives](/artifact-configuration/reference#create-provenance-file).
46+
47+
{:.panel.info}
48+
> **Attestation trust explained**
49+
>
50+
> In order to be able to trust an attestation issued by SignPath, clients need to:
51+
>
52+
> * Verify the signature on the attestation: it must be signed by an official SignPath certificate
53+
> * Trust SignPath to evaluate the attested properties
54+
> * SignPath evaluates and continuously monitors the services and APIs it uses from supported CI/CD systems. We do extensive research based on official vendor documentation and perform our own tests to ensure that attested properties reflect the actual configuration and build execution.
55+
> * Trust all hosted CI/CD system supported by SignPath or verify that the _origin_ system is one that you trust.
56+
> * SignPath cannot guarantee that the CI/CD system is actually operated in a safe way and safe from manipulation.
57+
>
58+
> Clients do _not_ need to trust the publisher for these security properties, as they are evaluated on the _control plane_ without relying on the provider's configuration. However, SignPath can only make technical evaluations and enforce technical policies. The quality of the source code (including build scripts) and code reviews is still up to the publisher.
59+
>
60+
> SignPath cannot attest builds from customer-operated CI/CD systems. However, SignPath provides features for customers to self-attest builds from centrally operated CI/CD systems for individual teams.
61+
>
62+
> A step-by-step guide on how to validate a Verification Summary Attestation is [provided here](/artifact-configuration/reference#slsa-vsa-verification).
63+
64+
Specific information about each supported build system and the underlying guarantees can be found in the [SLSA Attestation definitions](/slsa-attestations/definitions).
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
---
2-
redirect_to: /origin-verification/slsa-attestations
2+
redirect_to: /slsa-attestations/definitions
33
---
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
---
2-
redirect_to: /origin-verification/slsa-attestations
2+
redirect_to: /slsa-attestations/definitions
33
---
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
---
2-
redirect_to: /origin-verification/slsa-attestations
2+
redirect_to: /slsa-attestations/definitions
33
---
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
---
2-
redirect_to: /origin-verification/slsa-attestations
2+
redirect_to: /slsa-attestations/definitions
33
---
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
---
2-
redirect_to: /origin-verification/slsa-attestations
2+
redirect_to: /slsa-attestations/definitions
33
---
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
---
2-
redirect_to: /origin-verification/slsa-attestations
2+
redirect_to: /slsa-attestations/definitions
33
---
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
---
2-
redirect_to: /origin-verification/slsa-attestations
2+
redirect_to: /slsa-attestations/definitions
33
---

0 commit comments

Comments
 (0)