Skip to content

Commit 33e0413

Browse files
committed
Pick up changes from PR #1316
Signed-off-by: Arnaud Le Hors <[email protected]>
1 parent 5237959 commit 33e0413

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

Diff for: docs/spec/v1.1-rc2/terminology.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -157,12 +157,13 @@ It is the primary identifier to which consumers attach expectations.
157157

158158
| Term | Description
159159
| ---- | -----------
160+
| Distribution platform | An entity responsible for mapping package names to immutable package artifacts.
160161
| Package | An identifiable unit of software intended for distribution, ambiguously meaning either an "artifact" or a "package name". Only use this term when the ambiguity is acceptable or desirable.
161162
| Package artifact | A file or other immutable object that is intended for distribution.
162163
| Package ecosystem | A set of rules and conventions governing how packages are distributed, including how clients resolve a package name into one or more specific artifacts.
163164
| Package manager client | Client-side tooling to interact with a package ecosystem.
164165
| Package name | <p>The primary identifier for a mutable collection of artifacts that all represent different versions of the same software. This is the primary identifier that consumers use to obtain the software.<p>A package name is specific to an ecosystem + registry, has a maintainer, is more general than a specific hash or version, and has a "correct" source location. A package ecosystem may group package names into some sort of hierarchy, such as the Group ID in Maven, though SLSA does not have a special term for this.
165-
| Package registry | An entity responsible for mapping package names to artifacts within a packaging ecosystem. Most ecosystems support multiple registries, usually a single global registry and multiple private registries.
166+
| Package registry | A specific type of "distribution platform" used within a packaging ecosystem. Most ecosystems support multiple registries, usually a single global registry and multiple private registries.
166167
| Publish [a package] | Make an artifact available for use by registering it with the package registry. In technical terms, this means associating an artifact to a package name. This does not necessarily mean making the artifact fully public; an artifact may be published for only a subset of users, such as internal testing or a closed beta.
167168

168169
<details><summary>Ambiguous terms to avoid</summary>

Diff for: docs/spec/v1.1-rc2/threats.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -110,30 +110,30 @@ A best practice is to require approval of any changes via a change management to
110110
*Mitigation:* The producer must ensure that no actor is able to control or influence multiple accounts with review privileges.
111111

112112
*Example:* Adversary creates a pull request using a secondary account and approves it using their primary account.
113-
114-
Solution: The producer must track all actors who have both explicit review permissions and the independent ability to control a privileged bot.
115-
A common vector for this attack is to influence a robot account with the permission to review or contribute code.
116-
Control of the robot account and an actor's own personal account is enough to exploit this vulnerability.
117-
A common solution to this flow is to deny bot accounts from contributing or reviewing code, or to require more human reviews in those cases.
113+
Solution: The producer must track all actors who have both explicit review permissions and the independent ability to control
114+
a privileged bot. A common vector for this attack is to influence a robot account with the permission to review or contribute
115+
code. Control of the robot account and an actor's own personal account is enough to exploit this vulnerability. A common
116+
solution to this flow is to deny bot accounts from contributing or reviewing code, or to require more human reviews in those
117+
cases.
118118

119119
</details>
120120
<details><summary>Use a robot account to submit change</summary>
121121

122122
*Threat:* Exploit a robot account that has the ability to submit changes without
123123
two-person review.
124124

125-
*Mitigation:* All changes require two-person review, even changes authored by
125+
*Mitigation:* All changes require review by two people, even changes authored by
126126
robots.
127127

128128
*Example:* A file within the source repository is automatically generated by a
129129
robot, which is allowed to submit without review.
130130
Adversary compromises the robot and submits a malicious change.
131-
Solution: Require review for such changes.
131+
Solution: Require two-person review for such changes, ignoring the robot.
132132

133133
</details>
134134
<details><summary>Abuse of rule exceptions</summary>
135135

136-
*Threat:* Rule exceptions provide vector for abuse
136+
*Threat:* Rule exceptions provide vector for abuse.
137137

138138
*Mitigation:* Remove rule exceptions.
139139

@@ -770,7 +770,7 @@ packages. If a misconfigured victim attempts to install attacker's package with
770770
an internal name but from the public registry, then verification against
771771
expectations will fail.
772772

773-
For more information see [Verifying artifacts](/spec/v1.1/verifying-artifacts)
773+
For more information see [Verifying artifacts](verifying-artifacts.md)
774774
and [Defender's Perspective: Dependency Confusion and Typosquatting Attacks](/blog/2024/08/dep-confusion-and-typosquatting).
775775

776776
</details>

0 commit comments

Comments
 (0)