Skip to content

Commit

Permalink
Merge branch 'main' into prov-and-vsa-to-spec
Browse files Browse the repository at this point in the history
Signed-off-by: Mark Lodato <lodato@google.com>
  • Loading branch information
MarkLodato committed Aug 7, 2023
2 parents 199ed25 + 42b51dc commit 52391c9
Show file tree
Hide file tree
Showing 22 changed files with 349 additions and 447 deletions.
26 changes: 13 additions & 13 deletions docs/Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (7.0.4.3)
activesupport (7.0.6)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
addressable (2.8.1)
addressable (2.8.4)
public_suffix (>= 2.0.2, < 6.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.11.1)
colorator (1.1.0)
commonmarker (0.23.9)
commonmarker (0.23.10)
concurrent-ruby (1.2.2)
dnsruby (1.61.9)
simpleidn (~> 0.1)
dnsruby (1.70.0)
simpleidn (~> 0.2.1)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
ethon (0.16.0)
ffi (>= 1.15.0)
eventmachine (1.2.7)
execjs (2.8.1)
faraday (2.7.4)
faraday (2.7.10)
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-net_http (3.0.2)
Expand Down Expand Up @@ -86,7 +86,7 @@ GEM
activesupport (>= 2)
nokogiri (>= 1.4)
http_parser.rb (0.8.0)
i18n (1.12.0)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
jekyll (3.9.3)
addressable (~> 2.4)
Expand Down Expand Up @@ -205,27 +205,27 @@ GEM
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.3.6)
mini_portile2 (2.8.1)
mini_portile2 (2.8.4)
minima (2.5.1)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
minitest (5.18.0)
minitest (5.19.0)
netrc (0.11.0)
nokogiri (1.14.3)
mini_portile2 (~> 2.8.0)
nokogiri (1.15.3)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
octokit (4.25.1)
faraday (>= 1, < 3)
sawyer (~> 0.9)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.7)
racc (1.6.2)
racc (1.7.1)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.5)
rexml (3.2.6)
rouge (3.26.0)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
Expand Down
4 changes: 4 additions & 0 deletions docs/_redirects
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@
/github-actions-workflow/v1.0 https://slsa-framework.github.io/github-actions-buildtypes/workflow/v1 301

/images/provenance/v1/model.svg /spec/v1.0/images/provenance-model.svg 302
/images/v1.0/supply-chain-threats-build-verification.svg /spec/v1.0/images/supply-chain-threats-build-verification.svg 302
/images/v1.0/supply-chain-threats.svg /spec/v1.0/images/supply-chain-threats.svg 302
/spec/v1.0/build-model.svg /spec/v1.0/images/build-model.svg 302
/spec/v1.0/verification-model.svg /spec/v1.0/images/verification-model.svg 302

/provenance /spec/v1.0/provenance 302 # floating
/provenance/v0.1 /spec/v0.1/provenance 301
Expand Down
13 changes: 13 additions & 0 deletions docs/spec/v0.1/provenance.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,18 @@ something was produced. For higher SLSA levels and more resilient integrity
guarantees, provenance requirements are stricter and need a deeper, more
technical understanding of the predicate.

This document defines the following predicate type within the [in-toto
attestation] framework:

```json
"predicateType": "https://slsa.dev/provenance/v0.1"
```

> Important: Always use the above string for `predicateType` rather than what is
> in the URL bar. The `predicateType` URI will always resolve to the latest
> minor version of this specification. See [parsing rules](#parsing-rules) for
> more information.
## Purpose

Describe how an artifact or set of artifacts was produced.
Expand Down Expand Up @@ -488,5 +500,6 @@ Execution of arbitrary commands:
[Statement]: https://github.com/in-toto/attestation/blob/main/spec/v0.1.0/README.md#statement
[Timestamp]: https://github.com/in-toto/attestation/blob/main/spec/v0.1.0/field_types.md#Timestamp
[TypeURI]: https://github.com/in-toto/attestation/blob/main/spec/v0.1.0/field_types.md#TypeURI
[in-toto attestation]: https://github.com/in-toto/attestation
[parsing rules]: https://github.com/in-toto/attestation/blob/main/spec/v0.1.0/README.md#parsing-rules
[provenance requirements]: requirements#provenance-requirements
17 changes: 12 additions & 5 deletions docs/spec/v0.1/verification_summary.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,18 @@ layout: standard
Verification summary attestations communicate that an artifact has been verified
at a specific SLSA level and details about that verification.

This document defines the following predicate type within the [in-toto
attestation] framework:

```json
"predicateType": "https://slsa.dev/verification_summary/v0.1"
```

> Important: Always use the above string for `predicateType` rather than what is
> in the URL bar. The `predicateType` URI will always resolve to the latest
> minor version of this specification. See [parsing rules](#parsing-rules) for
> more information.
## Purpose

Describe what SLSA level an artifact or set of artifacts was verified at
Expand All @@ -25,11 +37,6 @@ This might be necessary for legal reasons (keeping a software supplier
confidential) or for security reasons (not revealing that an embargoed patch has
been included).

## Prerequisite

Understanding of SLSA [Software Attestations](/attestation-model),
[SLSA Provenance](/provenance), and the larger [in-toto attestation] framework.

## Model

A Verification Summary Attestation (VSA) is an attestation that some entity
Expand Down
17 changes: 12 additions & 5 deletions docs/spec/v0.2/provenance.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,25 @@ something was produced. For higher SLSA levels and more resilient integrity
guarantees, provenance requirements are stricter and need a deeper, more
technical understanding of the predicate.

This document defines the following predicate type within the [in-toto
attestation] framework:

```json
"predicateType": "https://slsa.dev/provenance/v0.2"
```

> Important: Always use the above string for `predicateType` rather than what is
> in the URL bar. The `predicateType` URI will always resolve to the latest
> minor version of this specification. See [parsing rules](#parsing-rules) for
> more information.
## Purpose

Describe how an artifact or set of artifacts was produced.

This predicate is the recommended way to satisfy the SLSA [provenance
requirements].

## Prerequisite

Understanding of SLSA [Software Attestations](/attestation-model)
and the larger [in-toto attestation] framework.

## Model

Provenance is an attestation that some entity (`builder`) produced one or more
Expand Down
17 changes: 12 additions & 5 deletions docs/spec/v0.2/verification_summary.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,18 @@ layout: standard
Verification summary attestations communicate that an artifact has been verified
at a specific SLSA level and details about that verification.

This document defines the following predicate type within the [in-toto
attestation] framework:

```json
"predicateType": "https://slsa.dev/verification_summary/v0.2"
```

> Important: Always use the above string for `predicateType` rather than what is
> in the URL bar. The `predicateType` URI will always resolve to the latest
> minor version of this specification. See [parsing rules](#parsing-rules) for
> more information.
## Purpose

Describe what SLSA level an artifact or set of artifacts was verified at
Expand All @@ -25,11 +37,6 @@ This might be necessary for legal reasons (keeping a software supplier
confidential) or for security reasons (not revealing that an embargoed patch has
been included).

## Prerequisite

Understanding of SLSA [Software Attestations](/attestation-model),
[SLSA Provenance](/provenance), and the larger [in-toto attestation] framework.

## Model

A Verification Summary Attestation (VSA) is an attestation that some entity
Expand Down
30 changes: 16 additions & 14 deletions docs/spec/v1.0-rc1/provenance.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,29 @@ title: Provenance
description: Description of SLSA provenance specification for verifying where, when, and how something was produced.
layout: standard
---
<!-- Note: We only include the major version in the URL, e.g. "v1" instead of
"v1.0", because minor versions are guaranteed to be backwards compatible. We
still include the minor version number in the selector (_data/versions.yml) so
that readers can easily find the current minor version number. -->

To trace software back to the source and define the moving parts in a complex
supply chain, provenance needs to be there from the very beginning. It's the
verifiable information about software artifacts describing where, when and how
something was produced. For higher SLSA levels and more resilient integrity
guarantees, provenance requirements are stricter and need a deeper, more
technical understanding of the predicate.

This document defines the following predicate type within the [in-toto
attestation] framework:

```json
"predicateType": "https://slsa.dev/provenance/v1-rc1"
```

> Important: Always use the above string for `predicateType` rather than what is
> in the URL bar. The `predicateType` URI will always resolve to the latest
> minor version of this specification. See [parsing rules](#parsing-rules) for
> more information.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
interpreted as described in [RFC 2119](https://www.rfc-editor.org/rfc/rfc2119).

## Purpose

Describe how an artifact or set of artifacts was produced so that:
Expand All @@ -26,15 +37,6 @@ Describe how an artifact or set of artifacts was produced so that:
This predicate is the RECOMMENDED way to satisfy the SLSA v1.0 [provenance
requirements](/spec/v1.0-rc1/requirements#provenance-generation).

## Prerequisite

Understanding of SLSA [Software Attestations](/attestation-model)
and the larger [in-toto attestation] framework.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
interpreted as described in [RFC 2119](https://www.rfc-editor.org/rfc/rfc2119).

## Model

Provenance is an attestation that the `builder` produced the `subject` software
Expand Down
30 changes: 16 additions & 14 deletions docs/spec/v1.0-rc2/provenance.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,29 @@ title: Provenance
description: Description of SLSA provenance specification for verifying where, when, and how something was produced.
layout: standard
---
<!-- Note: We only include the major version in the URL, e.g. "v1" instead of
"v1.0", because minor versions are guaranteed to be backwards compatible. We
still include the minor version number in the selector (_data/versions.yml) so
that readers can easily find the current minor version number. -->

To trace software back to the source and define the moving parts in a complex
supply chain, provenance needs to be there from the very beginning. It's the
verifiable information about software artifacts describing where, when and how
something was produced. For higher SLSA levels and more resilient integrity
guarantees, provenance requirements are stricter and need a deeper, more
technical understanding of the predicate.

This document defines the following predicate type within the [in-toto
attestation] framework:

```json
"predicateType": "https://slsa.dev/provenance/v1-rc2"
```

> Important: Always use the above string for `predicateType` rather than what is
> in the URL bar. The `predicateType` URI will always resolve to the latest
> minor version of this specification. See [parsing rules](#parsing-rules) for
> more information.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
interpreted as described in [RFC 2119](https://www.rfc-editor.org/rfc/rfc2119).

## Purpose

Describe how an artifact or set of artifacts was produced so that:
Expand All @@ -26,15 +37,6 @@ Describe how an artifact or set of artifacts was produced so that:
This predicate is the RECOMMENDED way to satisfy the SLSA v1.0 [provenance
requirements](/spec/v1.0-rc2/requirements#provenance-generation).

## Prerequisite

Understanding of SLSA [Software Attestations](/attestation-model)
and the larger [in-toto attestation] framework.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
interpreted as described in [RFC 2119](https://www.rfc-editor.org/rfc/rfc2119).

## Model

Provenance is an attestation that a particular build platform produced a set of
Expand Down
17 changes: 12 additions & 5 deletions docs/spec/v1.0-rc2/verification_summary.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,18 @@ layout: standard
Verification summary attestations communicate that an artifact has been verified
at a specific SLSA level and details about that verification.

This document defines the following predicate type within the [in-toto
attestation] framework:

```json
"predicateType": "https://slsa.dev/verification_summary/v1-rc2"
```

> Important: Always use the above string for `predicateType` rather than what is
> in the URL bar. The `predicateType` URI will always resolve to the latest
> minor version of this specification. See [parsing rules](#parsing-rules) for
> more information.
## Purpose

Describe what SLSA level an artifact or set of artifacts was verified at
Expand All @@ -25,11 +37,6 @@ This might be necessary for legal reasons (keeping a software supplier
confidential) or for security reasons (not revealing that an embargoed patch has
been included).

## Prerequisite

Understanding of SLSA [Software Attestations](/attestation-model),
[SLSA Provenance], and the larger [in-toto attestation] framework.

## Model

A Verification Summary Attestation (VSA) is an attestation that some entity
Expand Down
File renamed without changes
Loading

0 comments on commit 52391c9

Please sign in to comment.