Skip to content

Commit 861fe9e

Browse files
committed
fix: slsa page
1 parent f95ef01 commit 861fe9e

File tree

1 file changed

+11
-25
lines changed

1 file changed

+11
-25
lines changed

docs/compliance/SLSA.md

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,11 @@ Levels are further broken up into their own tracks, each expanding on the previo
3333

3434
### SLSA Level 0: The Starting Line
3535

36-
This is the Wild West of software development, where most software starts. No automation, no reproducibility, no trust. It’s like baking a cake without writing down the recipe—you might get something tasty once, but good luck doing it again the same way.
36+
This is the Wild West of software development, where most software starts. No automation, no reproducibility, no trust. It's a bit like baking a cake without writing down the recipe—you might get something tasty once, but good luck doing it again the same way.
3737

38-
The build process might be manual, dependencies aren't tracked, and there's no way to verify the integrity of your artifacts.
38+
The build process might be manual, dependencies aren't tracked, and there's no way to verify the integrity of your artifacts. The risk here is that tampering is undetectable, and no one knows how your software was built. Ultimately, however, the goal is to recognize this as the starting point, and commit to improvement.
3939

40-
- Risk: Tampering is undetectable, and no one knows how your software was built.
41-
- Goal: Recognize this as the starting point and commit to improvement.
40+
An example at this level might be running `make` commands directly on your local machine and manually uploading binaries to a server.
4241

4342
### SLSA Level 1
4443

@@ -48,8 +47,6 @@ Requirements:
4847
- A defined build process (e.g. CI/CD pipelines).
4948
- Artifacts can be recreated reliably.
5049

51-
Example: Running `make` commands directly on your local machine and manually uploading binaries to a server.
52-
5350
Example tools might include Jenkins, GitHub Actions, or GitLab CI.
5451

5552
:::tip[Did you know?]
@@ -58,33 +55,22 @@ SLSA L1 is achievable for many teams with minimal effort—if you're using CI/CD
5855

5956
:::
6057

61-
SLSA L1 is a means to an end, and should be seen as a stepping stone towards improving your overall approach to security.
58+
SLSA L1 is a means to an end, and should be seen as a stepping stone towards improving your overall approach to security.
6259

6360

6461
### SLSA Level 2: Provenance Proofs
6562

66-
Level 2 introduces the concept of [provenance](/what-is-software-provenance-and-why-is-it-important-for-security), a verifiable statement of what, how, and where something was built. Build systems must generate signed provenance documents.
63+
Level 2 introduces the concept of [provenance](/what-is-software-provenance-and-why-is-it-important-for-security), a verifiable statement of _what_, _how_, and _where_ something was built.
6764

68-
Builds must be performed in a secure environment that prevents tampering, which involves using isolated, authenticated systems (e.g. hardened CI/CD environments).
65+
Build systems must generate signed provenance documents. Builds must also be performed in a secure environment that prevents tampering, which involves using isolated, authenticated systems (e.g. hardened CI/CD environments).
6966

7067
### SLSA Level 3: Fully Fortified
7168

72-
This is the gold standard. At Level 3:
73-
- Builds are hermetic (completely isolated from the outside world).
74-
- Dependencies are verified and controlled.
75-
- Build environments are hardened to prevent tampering.
76-
77-
Additional practices include:
78-
- Two-person review for every change.
79-
- Strict control over source and dependencies.
80-
- Requirements:
81-
- All Level 2 controls.
82-
- Builds must be tamper-proof and reproducible in a hermetic environment.
83-
- Example Tools:
84-
- Containerized builds (e.g., using Docker or Bazel).
85-
- Cloud-native build systems like GCP Cloud Build or AWS CodeBuild.
86-
87-
This level adds two-person review for all changes and hermetic builds, meaning builds are completely isolated from the outside world. Every dependency must be verified.
69+
SLSA L3 is the gold standard. This level adds a two-person review for any changes and requires reproducible tamper-proof builds in a hermetic environment (meaning builds are completely isolated from the outside world). Each and every dependency must be verified. At Level 3:
8870

71+
- Builds are hermetic
72+
- Dependencies are verified and controlled
73+
- Build environments are hardened to prevent tampering
8974

75+
Example tools at this level might include containerized builds using, for example, Docker. Cloud-native build systems like GCP Cloud Build or AWS CodeBuild are also popular options.
9076

0 commit comments

Comments
 (0)