Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.0: Clarify that systems are manually verified, artifacts are automatically verified #130

Closed
4 tasks done
Tracked by #606
MarkLodato opened this issue Aug 10, 2021 · 6 comments
Closed
4 tasks done
Tracked by #606
Assignees
Labels
clarification Clarification of the spec, without changing meaning

Comments

@MarkLodato
Copy link
Member

MarkLodato commented Aug 10, 2021

As @TomHennen said in #130 (comment):

The idea is that artifacts can be automatically verified to see if they meet a given SLSA level. Systems, however, may need some human analysis to see if they meet their SLSA requirements (e.g. Source & Build requirements).

Let's work that into the specification for v1.0.


Original text

As mentioned in #127, we need to clarify that all of the SLSA requirements are intended to be automatically verifiable to some degree. Right now that is completely unstated, which results in confusion and disagreement.

Futhermore, we should explain how we picture verifying these requirements. Examples:

  • Version Control: The source listed in the build provenance is either a known version control system (e.g. git+https URI scheme), has an attestation showing it came directly from version control (by matching on digest), or has some TBD chained verification.
  • Retention: The source has an attestation from the source control platform claiming that it meets the retention requirement, and the verifier has some global configuration saying which platforms the verifier trust to make that claim. For example, a verifier might trust GitHub's claims about retention.
@MarkLodato MarkLodato added the process Issue with the process around SLSA itself label Aug 10, 2021
@TomHennen
Copy link
Contributor

Regarding the source control system issuing an attestation to these requirements please see in-toto/attestation#47

@joshuagl
Copy link
Member

joshuagl commented Sep 6, 2021

Note we added mention of the intent for all requirements to be automatically verifiable in #133 (comment)

@TomHennen
Copy link
Contributor

I talked about this a bit with @joshuagl

The idea is that artifacts can be automatically verified to see if they meet a given SLSA level. Systems, however, may need some human analysis to see if they meet their SLSA requirements (e.g. Source & Build requirements).

For example, a security engineer may analyze the architecture and implementation of a build system to ensure that it meets (or can meet) the build requirements. Once the analysis is complete the keys used by the build system can then be 'trusted' up to a given SLSA level.

During verification of artifacts, the verifier can then automatically determine that the build system used meets the build requirements by checking if the keys used to sign the provenance are 'trusted' at the target SLSA level.

@MarkLodato MarkLodato added clarification Clarification of the spec, without changing meaning and removed process Issue with the process around SLSA itself labels Sep 14, 2021
@joshuagl
Copy link
Member

joshuagl commented Oct 3, 2022

Issue #46 "Policy & Verification" is related to this. As is #478 on achieving automatic verification.

@MarkLodato MarkLodato self-assigned this Oct 3, 2022
@MarkLodato MarkLodato changed the title Clarify that SLSA is intended to be automatically verifiable Clarify that systems are manually verified, artifacts are automatically verified Oct 17, 2022
@MarkLodato MarkLodato changed the title Clarify that systems are manually verified, artifacts are automatically verified v1.0: Clarify that systems are manually verified, artifacts are automatically verified Oct 17, 2022
@MarkLodato
Copy link
Member Author

I'm repurposing this issue to cover the general issue of how systems and artifacts are verified to meet the SLSA requirements, de-duplicating other issues here. See the updated top comment for the latest.

@kpk47
Copy link
Contributor

kpk47 commented Mar 20, 2023

Now that we've closed the 'verifying systems' bug, we can close this one as well.

@kpk47 kpk47 closed this as completed Mar 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clarification Clarification of the spec, without changing meaning
Projects
Status: Done
Development

No branches or pull requests

4 participants