Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
content: draft: define source-track objective in terms of revisions a…
…nd provenance. (#1083) fixes #1072 This PR modifies _draft_ content of the slsa spec. ## Context Based on discussion from #1037 See [discussion here](https://docs.google.com/document/d/13Xt8mA_2b00McGX2vkyhu4GQdFAqtXPu7YXE8ZA6ISE/edit?resourcekey=0-EqfHF79tUWAKp4PzsE3z1A#heading=h.svjr333bawb). Copied from [draft proposal here](https://docs.google.com/document/d/13Xt8mA_2b00McGX2vkyhu4GQdFAqtXPu7YXE8ZA6ISE/edit?resourcekey=0-EqfHF79tUWAKp4PzsE3z1A#bookmark=id.4qr65cfy6ufj). Google document requires slsa-discussion@googlegroups.com membership. ## Source revision provenance Repos contain many revisions, most of which are not "official" or otherwise approved for release. The goal of the source track is to attest to why a specific revision _was_ approved for release. We can think of the SCP / code review tool as “building” the next official revision of a repository using a codified process that involves collecting commits, acquiring reviews, running CI, etc. If the change review process is successful, the code review tooling will merge the code changes and attest to the process used to produce the new revision. The source provenance attestations associate a specific revision of a repository to security claims and documents (basically build logs) of the process that produced it. In GitHub terms, a merged pull request and its associated rules evaluation justify why and how a specific git SHA is reachable from a protected branch. ## Example Scenario 1. A CI system is trying to build some artifact and will download all necessary resources, including repos and packages. 2. After download, the system will proceed to verify all fetched resources. 1. For package artifacts, it takes the hash and looks for build provenance attestations from sigstore or github. 1. For source artifacts that are not packaged (EG, cloned via git), it takes the revision id and looks for the source provenance from sigstore or github. 5. Based on the claims in the provenance attestations, the CI system can determine if all resources comply with required policy and choose to proceed. --------- Signed-off-by: Zachariah Cox <zachariahcox@github.com> Co-authored-by: Joshua Lock <joshuagloe@gmail.com> Co-authored-by: Tom Hennen <TomHennen@users.noreply.github.com>
- Loading branch information