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

nonspec: Split Tracks out of the Draft specification into separate specs #1280

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

lehors
Copy link
Member

@lehors lehors commented Feb 7, 2025

Turn the build, build environment, and source track sections into separate specifications.
Change the Draft specification to only hold general content and a highlevel description of the tracks with pointers to the individual specs.

Turn the build, build environment, and source track sections into separate
specifications.
Change the Draft specification to only hold general content and a
highlevel description of the tracks with pointers to the individual
specs.

Signed-off-by: Arnaud J Le Hors <[email protected]>
Signed-off-by: Arnaud J Le Hors <[email protected]>
@lehors lehors marked this pull request as draft February 7, 2025 15:22
Copy link

netlify bot commented Feb 7, 2025

Deploy Preview for slsa ready!

Name Link
🔨 Latest commit 14041e7
🔍 Latest deploy log https://app.netlify.com/sites/slsa/deploys/67a9efe58db8590008658418
😎 Deploy Preview https://deploy-preview-1280--slsa.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@lehors lehors changed the title [nonspec]: Split Tracks out of the Draft specification into separate specs nonspec: Split Tracks out of the Draft specification into separate specs Feb 7, 2025
Signed-off-by: Arnaud J Le Hors <[email protected]>
Signed-off-by: Arnaud J Le Hors <[email protected]>
Signed-off-by: Arnaud J Le Hors <[email protected]>
Signed-off-by: Arnaud J Le Hors <[email protected]>
@lehors
Copy link
Member Author

lehors commented Feb 7, 2025

For the record: I think this works pretty well but I am struggling with the terminology section. Most of its current content is build related so I moved it into the Build track spec but I actually think that's too radical. The right thing might be to have a global terminology section that stays with the (main) draft spec and can be referenced from the different track specs. Then each track spec can have its own specialized terminology section that extends the main one with terms specific to that track.
At the same time, splitting the current terminology section into a general one and a build specific one requires careful surgery (for which I may not be the best person).

@@ -74,7 +74,7 @@ For close source software SLSA does not provide any solutions for malicious prod
<td>E
<td>Build process
<td><a href="https://www.crowdstrike.com/blog/sunspot-malware-technical-analysis/">SolarWinds</a>: Attacker compromised the build platform and installed an implant that injected malicious behavior during each build.
<td>Higher SLSA levels require <a href="requirements#build-requirements">stronger security controls for the build platform</a>, making it more difficult to compromise and gain persistence.
<td>Higher SLSA levels require <a href="../../build/v1.0/requirements">stronger security controls for the build platform</a>, making it more difficult to compromise and gain persistence.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lehors How would we manage threat modeling in this new design? With new tracks coming into SLSA spec I see people taking two approaches:

Looking at this chage I think you adopt the first path with core specification defining the threats across all tracks. And then BuildEnvironment threat PR needs to be updated moving all the changes into threats.md.

How does it sound?


</details>

### Build environment model
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section should probably be moved to a separate terminology.md file under /build-env/draft/ because this content wasn't part of the build track 1.0

Comment on lines 28 to 31
| [Build L0] | (none) | (n/a)
| [Build L1] | Provenance showing how the package was built | Mistakes, documentation
| [Build L2] | Signed provenance, generated by a hosted build platform | Tampering after the build
| [Build L3] | Hardened build platform | Tampering during the build
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like the links to the individual levels for this and the other tracks are missing. I think it may actually be ok to remove these links from this page since the actual track specs are referenced below each table.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 🆕 New
Development

Successfully merging this pull request may close these issues.

3 participants