@@ -10,33 +10,33 @@ as of June 21, 2025.
10
10
## Organization Requirements
11
11
12
12
These requirements are primarily for the organization that is producing the
13
- source code. The ` slsa- source-poc ` tool helps organizations meet these
13
+ source code. ` source-tool ` helps organizations meet these
14
14
requirements when using GitHub as their Source Control System (SCS).
15
15
16
16
### [ Choose an appropriate source control system] ( https://slsa.dev/spec/v1.2-rc1/source-requirements#choose-scs )
17
17
18
18
** Required for: SLSA Source Level 1+**
19
19
20
20
This requirement is for the organization to select an SCS that can meet their
21
- desired SLSA Source Level. The ` slsa- source-poc ` tool is designed specifically
21
+ desired SLSA Source Level. ` source-tool ` is designed specifically
22
22
for organizations using ** GitHub** .
23
23
24
24
### [ Protect consumable branches and tags] ( https://slsa.dev/spec/v1.2-rc1/source-requirements#protect-consumable-branches-and-tags )
25
25
26
26
** Required for: SLSA Source Level 2+**
27
27
28
- The ` slsa- source-poc ` tool is designed around this principle.
28
+ The SLSA source tool is designed around this principle.
29
29
30
30
- ** Policy:** Users define a
31
- [ policy file] ( https://github.com/slsa-framework/slsa-source-poc/blob/main/ DESIGN.md#policy)
31
+ [ policy file] ( DESIGN.md#policy )
32
32
to specify which branches are protected and what their target SLSA level is.
33
33
The policy also allows for specifying which tags should be protected.
34
34
- ** Identity Management:** The tool relies on GitHub's built-in
35
35
[ identity management] ( https://docs.github.com/en/get-started/learning-about-github/types-of-github-accounts#user-accounts )
36
36
to configure which actors can perform sensitive actions.
37
37
- ** Technical Controls:** The tool enforces technical controls via GitHub's
38
38
[ rulesets] ( https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/creating-rulesets-for-a-repository ) .
39
- [ DESIGN.md] ( https://github.com/slsa-framework/slsa-source-poc/blob/main/ DESIGN.md)
39
+ [ DESIGN.md] ( DESIGN.md )
40
40
outlines several controls such as ` CONTINUITY_ENFORCED ` , ` REVIEW_ENFORCED ` ,
41
41
` TAG_HYGIENE ` , and custom ` GH_REQUIRED_CHECK_* ` controls that map to
42
42
organization-defined checks. These are included in the generated VSAs as
@@ -46,7 +46,7 @@ The `slsa-source-poc` tool is designed around this principle.
46
46
47
47
** Required for: SLSA Source Level 2+**
48
48
49
- The ` slsa- source-poc ` tool does not provide a technical enforcement mechanism
49
+ The SLSA source tool does not provide a technical enforcement mechanism
50
50
for a safe expunging process. However, it recommends a process based on GitHub's
51
51
features:
52
52
@@ -62,16 +62,15 @@ used only for safe expunging. This relies on organizational process.
62
62
63
63
## Source Control System Requirements
64
64
65
- These requirements are for the Source Control System itself. The
66
- ` slsa-source-poc ` tool leverages GitHub's capabilities to meet these
67
- requirements.
65
+ These requirements are for the Source Control System itself. ` source-tool `
66
+ leverages GitHub's capabilities to meet these requirements.
68
67
69
68
### [ Repositories are uniquely identifiable] ( https://slsa.dev/spec/v1.2-rc1/source-requirements#repository-ids )
70
69
71
70
** Required for: SLSA Source Level 1+**
72
71
73
72
The tool works with ** GitHub repositories** , which are uniquely identified by
74
- their URL (e.g., ` https://github.com/slsa-framework/slsa- source-poc ` ).
73
+ their URL (e.g., ` https://github.com/slsa-framework/source-tool ` ).
75
74
76
75
### [ Revisions are immutable and uniquely identifiable] ( https://slsa.dev/spec/v1.2-rc1/source-requirements#revision-ids )
77
76
@@ -84,8 +83,8 @@ identified by their commit hash.
84
83
85
84
** Required for: SLSA Source Level 1+**
86
85
87
- The ` slsa-source-poc ` tool generates
88
- [ Verification Summary Attestations (VSAs)] ( https://github.com/slsa-framework/slsa-source-poc/blob/main/ DESIGN.md#verification-summary-attestations-vsa)
86
+ The SLSA Source tool generates
87
+ [ Verification Summary Attestations (VSAs)] ( DESIGN.md#verification-summary-attestations-vsa )
89
88
for each commit on a protected branch. These VSAs indicate the SLSA Source Level
90
89
of the revision. The tool uses its generated
91
90
[ source provenance] ( #source-provenance ) to issue these VSAs for Level 3 and
@@ -97,7 +96,7 @@ can access the revision.
97
96
** Required for: SLSA Source Level 2+**
98
97
99
98
The tool requires users to specify protected branches in the
100
- [ policy file] ( https://github.com/slsa-framework/slsa-source-poc/blob/main/ DESIGN.md#policy) .
99
+ [ policy file] ( DESIGN.md#policy ) .
101
100
The tool's logic for determining SLSA levels is then applied to these branches.
102
101
103
102
### [ History] ( https://slsa.dev/spec/v1.2-rc1/source-requirements#history )
@@ -113,7 +112,7 @@ tampering with the history of protected branches.
113
112
114
113
** Required for: SLSA Source Level 2+**
115
114
116
- The ` slsa- source-poc ` tool enforces the change management process through a
115
+ ` source-tool ` tool enforces the change management process through a
117
116
combination of its policy file and GitHub's rulesets.
118
117
119
118
- The tool checks for the enforcement of specific rules on protected branches.
@@ -128,12 +127,12 @@ combination of its policy file and GitHub's rulesets.
128
127
129
128
** Required for: SLSA Source Level 2+**
130
129
131
- Continuity is a core concept in the ` slsa- source-poc ` design.
130
+ Continuity is a core concept in the ` source-tool ` design.
132
131
133
132
- The ` CONTINUITY_ENFORCED ` control ensures that history protection rules are
134
133
continuously enforced.
135
134
- The
136
- [ provenance-based approach] ( https://github.com/slsa-framework/slsa-source-poc/blob/main/ DESIGN.md#provenance-based)
135
+ [ provenance-based approach] ( DESIGN.md#provenance-based )
137
136
is designed to track continuity of controls from one commit to the next. If a
138
137
prior commit's provenance shows the same level of control, the start time of
139
138
that control is carried forward. This ensures that there are no gaps in
@@ -149,7 +148,7 @@ require this for a given SLSA level.
149
148
150
149
** Gap:** The tool does not yet support protecting only a subset of tags; the
151
150
` tag_hygiene ` setting applies to all tags. This is tracked in
152
- [ issue #129 ] ( https://github.com/slsa-framework/slsa- source-poc /issues/129 ) .
151
+ [ issue #129 ] ( https://github.com/slsa-framework/source-tool /issues/129 ) .
153
152
154
153
### [ Identity Management] ( https://slsa.dev/spec/v1.2-rc1/source-requirements#identity-management )
155
154
@@ -163,9 +162,9 @@ their GitHub user accounts.
163
162
164
163
** Required for: SLSA Source Level 3+**
165
164
166
- For Level 3, the ` slsa- source-poc ` tool creates ** source provenance
167
- attestations ** for each push to a protected branch. The
168
- [ design document] ( https://github.com/slsa-framework/slsa-source-poc/blob/main/ DESIGN.md#source-provenance)
165
+ For Level 3, ` source-tool ` creates ** source provenance attestations ** for each
166
+ push to a protected branch. The
167
+ [ design document] ( DESIGN.md#source-provenance )
169
168
specifies the format of these attestations, which include the actor, the current
170
169
and previous commits, the controls in place, and timestamps.
171
170
@@ -179,8 +178,8 @@ anyone who can access the revision.
179
178
180
179
** Required for: SLSA Source Level 4**
181
180
182
- For Level 4, the ` slsa- source-poc ` tool has a ` REVIEW_ENFORCED ` control. This
183
- control checks that the repository is configured to:
181
+ For Level 4, ` source-tool ` has a ` REVIEW_ENFORCED ` control. This control checks
182
+ that the repository is configured to:
184
183
185
184
- Require Pull Requests.
186
185
- Require at least one approval.
0 commit comments