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

content: Add Source Track Level definitions #1066

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

Nikokrock
Copy link
Contributor

Draft a the new source track level

Copy link

netlify bot commented Jun 13, 2024

Deploy Preview for slsa ready!

Name Link
🔨 Latest commit 1686a6e
🔍 Latest deploy log https://app.netlify.com/sites/slsa/deploys/668bef8b38a66800083f2143
😎 Deploy Preview https://deploy-preview-1066--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.

@Nikokrock Nikokrock changed the title Add Source Track Level definitions content: Add Source Track Level definitions Jun 13, 2024
@Nikokrock Nikokrock force-pushed the source branch 2 times, most recently from 4ac688e to 6713ecd Compare June 13, 2024 15:45
Replace multi-factor authentication by strong authentication as
other mechanisms can be considered strong authentication. Defer
presentation of possible mechanisms in the separate
'source-requirements.md'
Copy link
Member

@lehors lehors left a comment

Choose a reason for hiding this comment

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

Looks good overall but some text needs clarification.

what the expected provenance should look like for a given source revision and
then compare each source revision's actual provenance to those expectations.
Doing so prevents several classes of supply chain threats, mainly threats from
A to C in the SLSA Supply Chain threats model.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
A to C in the SLSA Supply Chain threats model.
A to C in the [SLSA Supply Chain threats model](threats-overview.md).

Comment on lines +247 to +249
revision followed the expected process. Consumers have some way of knowing
what the expected provenance should look like for a given source revision and
then compare each source revision's actual provenance to those expectations.
Copy link
Member

Choose a reason for hiding this comment

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

I have a hard time parsing this sentence. I assume this is meant to say that this is also what the source track enables but it doesn't say that and seems to simple state a fact, that's actually not one.

<dt>Requirements<dd>

- Version Controlled: Every change to the source MUST be tracked in a
version control system
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
version control system
version control system.

Comment on lines +300 to +301
- Makes easier for consumers the analysis of changes between two given
revisions
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
- Makes easier for consumers the analysis of changes between two given
revisions
- Makes the analysis of changes between two given revisions easier for
consumers.

Comment on lines +295 to +296
- Immutable references: A given revision ID MUST identify unequivocally a
given revision
Copy link
Member

Choose a reason for hiding this comment

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

Shouldn't this tie which revision this is about with something like:

Suggested change
- Immutable references: A given revision ID MUST identify unequivocally a
given revision
- Immutable references: A given revision ID MUST identify unequivocally that
given revision

Comment on lines +320 to +321
Organizations that are unwilling or unable to incorporate code review into
their software development practices.
Copy link
Member

Choose a reason for hiding this comment

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

I'm wondering whether this shouldn't be stronger and say "enforce" rather than "incorporate":

Suggested change
Organizations that are unwilling or unable to incorporate code review into
their software development practices.
Organizations that are unwilling or unable to enforce code review into
their software development practices.

- Retained History: The revision and its change history are preserved
indefinitely and cannot be deleted, except when subject to an established
and transparent policy for obliteration, such as a legal or policy
requirement. In that later case, a justification should be emitted in
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
requirement. In that later case, a justification should be emitted in
requirement. In that later case, a justification SHOULD be emitted in

Comment on lines +343 to +346
Attributes changes in the version history to specific actors and timestamps,
which allows for post-auditing, incident response, and deterrence for bad
actors. Strong authentication makes account compromise more difficult,
further ensuring the integrity of change attribution.
Copy link
Member

Choose a reason for hiding this comment

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

I think these are 2 different benefits that should be split according to the respective requirements:

Suggested change
Attributes changes in the version history to specific actors and timestamps,
which allows for post-auditing, incident response, and deterrence for bad
actors. Strong authentication makes account compromise more difficult,
further ensuring the integrity of change attribution.
- Strong authentication makes account compromise more difficult,
further ensuring the integrity of change attribution.
- Attributes changes in the version history to specific actors and timestamps,
which allows for post-auditing, incident response, and deterrence for bad
actors.

Comment on lines +371 to +373
decision about what they’re approving. The reviewer MUST be presented with
a full, meaningful content diff between the proposed revision and the
previously reviewed revision. For example, it is not sufficient to just
Copy link
Member

Choose a reason for hiding this comment

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

For the MUST to make sense in terms of compliance the reviewer cannot be the subject. This sentence needs to be reversed:

Suggested change
decision about what they’re approving. The reviewer MUST be presented with
a full, meaningful content diff between the proposed revision and the
previously reviewed revision. For example, it is not sufficient to just
decision about what they’re approving. A full, meaningful content diff between
the proposed revision and the previously reviewed revision MUST be
presented to the reviewer. For example, it is not sufficient to just

Comment on lines +380 to +382
Since all changes have been agreed to by at least two distinct trusted
entities, a compromise of a single entity does not result in compromise
of the project.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Since all changes have been agreed to by at least two distinct trusted
entities, a compromise of a single entity does not result in compromise
of the project.
Since all changes have to be agreed to by at least two distinct trusted
entities, a compromise of a single entity is not sufficient to compromise
the project.

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

Successfully merging this pull request may close these issues.

4 participants