18,000 organizations compromised. Build system tampered with, signed updates weaponized.
SLSA — the supply chain hackers can no longer crack.
Supply-chain Levels for Software Artifacts. The framework that turns build pipelines into forensic evidence — and the only standard that satisfies CRA, NIS2 and EU AI Act with cryptographic proof.
Four attacks — one shared class.
Tampering between source code and end user. Classic code security does not reach this point. SLSA closes exactly this gap.
Unnoticed for two months. Credentials from numerous CI/CD pipelines siphoned off.
Multi-stage supply chain attack. The vendor itself was the victim of another supply chain attack.
Two years of social engineering. CVSS 10.0. Discovered only by one person’s chance observation.
The question is not if, but when.
Four numbers every CISO should know today — and that explain why no pipeline strategy can afford to skip SLSA any longer.
What SLSA is — and what it is not.
Before the debate about levels and pipelines begins, it is worth getting clear: SLSA solves one specific problem — and exactly that one.
Supply-chain Levels for Software Artifacts
Security framework from OpenSSF (Linux Foundation), launched in 2021 by Google. Pronounced “sal-sa”. It grades build pipelines into measurable trust levels — from L0 (no guarantee) to L3 (hardened, isolated, signed).
No silver bullet, no tool to buy.
- Not a pen test, not a code scanner.SLSA does not inspect the content of artifacts, but the integrity of their origin.
- Not a replacement for SBOM.SLSA complements SBOM with provable provenance — the two are complementary.
- Not a product, not a tool purchase.A framework with requirements and levels, not a licensing model.
- Not a compliance checklist.A threat model with concrete countermeasures — not mandatory checkboxes.
The eight threats along the supply chain.
Four phases, eight concrete attack vectors. SLSA primarily addresses the build and distribution phase — source protection and consumer verification emerge as separate tracks.
Three terms — the rest is detail.
Once you understand these three terms, you have understood SLSA. Everything else is implementation variants.
Provenance
A machine-readable document: what was built, from which source, by which builder, with which parameters. Format: in-toto Attestation.
Build Platform
The CI/CD platform that builds the artifact. It generates the provenance and signs it. Examples: GitHub Actions, GitLab CI, Tekton Chains.
Verifier
The component that checks before deployment: is the provenance correct, is the signature valid, does the artifact meet the policy.
Four levels — from Wild West to fortress.
Each level builds on the previous one. More security, less taking-it-on-trust.
No guarantees
No build standard, no provenance. The default state of many internal projects.
Provenance exists
Build process documented. Provenance is generated — machine-readable.
Signed provenance
Build on a hosted platform. Provenance cryptographically signed.
Hardened build platform
Isolation, no user-defined steps, non-forgeable provenance.
What exactly do you have to do? The Build Track matrix.
Three “—” become three “✓”. That is precisely the path from “trust me” to “prove it”.
| Requirement | L1 | L2 | L3 |
|---|---|---|---|
| Build process follows a consistent procedure | ✓ | ✓ | ✓ |
| Provenance is generated automatically | ✓ | ✓ | ✓ |
| Provenance is complete (all build inputs included) | ✓ | ✓ | ✓ |
| Provenance is authentic (signed by the builder) | — | ✓ | ✓ |
| Build runs on a hosted build platform | — | ✓ | ✓ |
| Build platform isolates builds from one another | — | — | ✓ |
| Provenance is non-forgeable (users cannot fake it) | — | — | ✓ |
What does a provenance actually look like?
Machine-readable, signed, fully auditable. What lies behind the in-toto Statement v1 format.
{ "_type": "https://in-toto.io/Statement/v1", "subject": [{ "name": "vamisec-app:v1.2.3", "digest": { "sha256": "a3f5…e91b" } }], "predicateType": "https://slsa.dev/provenance/v1", "predicate": { "buildDefinition": { "buildType": "https://slsa-framework.github.io/…", "externalParameters": { "source": "git+https://github.com/vamisec/app", "ref": "refs/tags/v1.2.3" }, "internalParameters": { "runner": "ubuntu-22.04" } }, "runDetails": { "builder": { "id": "https://github.com/actions/runner" }, "metadata": { "invocationId": "…", "startedOn": "2026-05-20T08:14:02Z" } } } }
What the provenance reveals
subjectWhich artifact — name + SHA-256 hash. Uniquely identifiable.
externalParametersWhich source — Git URL, commit tag, controllable by the user.
builder.idWhich builder produced it — cryptographically signed identity.
metadataWhen, how long, with which invocation ID — fully auditable.
SLSA L3 in GitHub Actions — in 15 lines.
No theory, no new tool silo. Reusable workflow from slsa-framework, Sigstore signature via OIDC, Verifier CLI on the consumer side. Open Source, production-ready.
name: release on: push: tags: ['v*'] jobs: build: permissions: id-token: write # Sigstore OIDC contents: read actions: read uses: slsa-framework/slsa-github-generator/.github/workflows/builder_go_slsa3.yml@v2.0.0 with: go-version: '1.22' config-file: .slsa-goreleaser.yml
What happens automatically
- 1Build runs in an isolated GitHub runner VM.
- 2Provenance is generated automatically.
- 3Signed with Sigstore (keyless, OIDC).
- 4Provenance attached as a release asset.
- 5Publicly verifiable via
slsa-verifier.
Verification on the consumer side — a single line.
$ slsa-verifier verify-artifact app-binary \ --provenance-path app-binary.intoto.jsonl \ --source-uri github.com/vamisec/app \ --source-tag v1.2.3 PASSED: Verified SLSA provenance
This check belongs in every admission controller, every CD pipeline, every package manager wrapper. Default: not verified = not deployed.
The ecosystem — Open Source, production-ready.
You build nothing from scratch — you compose from mature open-source building blocks. No commercial license required.
GitHub Actions
Native SLSA L3 provenance via slsa-github-generator. Sigstore signature out of the box.
GitLab CI
Built-in provenance generation, in-toto compliant, from GitLab 16+.
Tekton Chains
Kubernetes-native build platform with native SLSA support for cloud-native stacks.
Sigstore (Cosign)
Keyless signing via OIDC + transparency log. The de-facto standard for containers and artifacts.
in-toto Attestation
The standard format for provenance statements. JSON-based, structured, signable.
SLSA Verifier
Open-source CLI from OpenSSF. Checks provenance against policy — one line, one exit code.
Who SLSA is especially relevant for.
If you decide or implement at any of these points, SLSA belongs in your technical target picture — before the CRA deadline turns into an emergency.
CISOs & Heads of AppSec
Secure the software supply chain in regulatory terms — without building a new tool silo.
DevSecOps Leads
Harden CI/CD pipelines with concrete implementation patterns — not just theory.
Compliance & Auditors
Technical evidence for CRA Article 13, NIS2 Article 21(2)(d), EU AI Act Article 15.
Platform Teams
Build or evaluate hosting build platforms — SLSA-compliant from day one.
Why SLSA stops being optional by 2027 at the latest.
Four EU regulations, one shared requirement: provable supply chain security. SLSA delivers the technical proof.
Article 13 — “Cybersecurity by design”. Identification of components and vulnerability management along the supply chain. Applicable from 11 Dec 2027.
Article 21(2)(d) — supply chain security as a mandatory risk management measure. Transposed in Germany via the NIS2UmsuCG.
Article 15 — accuracy, robustness, cybersecurity. For high-risk AI, traceable build and training provenance is mandatory.
Third-party risk management for financial institutions. Software suppliers must demonstrate provably hardened processes.
XZ Utils — and why SLSA would not have prevented it.
An honest look at the limits of the framework. When the pipeline is enough, and when you need more.
What teams get wrong on the first attempt.
Six mistakes we see regularly in audits. Knowing them saves you the expensive second attempt.
Generating provenance but not verifying it
Evidence without checking is theater. Verification belongs in the admission controller, not the backlog.
Migrating all repos at once
Start with the most critical production artifact. Learn. Scale. Big bang always fails.
Custom build steps in L3 workflows
User-defined scripts make provenance forgeable. Reusable workflows without user code are mandatory.
No policy, just a signature
A valid signature says nothing about the builder’s identity. Policy enforces: who is allowed to build for us?
Treating SBOM and SLSA as competitors
They complement each other. SBOM = what. SLSA = how. Deliver both, verify both.
Treating the Sigstore root as a black box
Sigstore relies on a public trust root. Understand what you implicitly trust. For very high requirements: a private trust root.
From the status quo to L3 — the realistic path.
Six months from “works on my machine” to non-forgeable provenance for the critical artifacts. No big bang, but four phases.
Inventory
Which build pipelines exist? Who builds production artifacts? Which builds run locally (“works on my machine”)?
Reach L1
Standardize builds. Build definition as code (YAML). Generate provenance, even if not yet signed.
Reach L2
Builds only on hosted platforms. Sign provenance with Sigstore. Consumers verify.
L3 for critical artifacts
Hosted builders with isolation. Reusable workflows without user-defined build steps. Non-forgeable provenance.
Five sentences — you need no more.
If you take only one thing from this page, let it be these five statements — in exactly this order.
SLSA is a requirements framework for build pipelines — not a tool, not a product.
Provenance + Verifier turn “trust me” into “prove it”.
L1 is reachable in weeks, L3 in months. Neither scales through a big bang.
SBOM answers what, SLSA answers how. You need both.
CRA, NIS2, DORA, AI Act — all of them demand provable supply chain security. SLSA delivers it.
Valeri Milke
“Security is not a product — it is a process. And a process that cannot be proven does not exist in an audit.”
Standards you will know in your sleep afterwards.
FAQ.
How long does introducing SLSA L3 typically take?
Which tools do I actually need for SLSA L3?
How does SLSA differ from SBOM?
Do I need SLSA if I am not yet subject to the CRA?
How exactly does VamiSec support the rollout?
Audit-proof.Provable.Productive.
Before you start, talk to an expert. 30 minutes of consultation with a concrete plan for your pipeline — non-binding and free of charge.
Request a consultation- Maturity check of your current build pipeline
- Roadmap L0 → L3 with effort estimate
- Concrete code patterns for GitHub Actions / Verifier
- Mapping your obligations: CRA · NIS2 · DORA · AI Act
- Written summary & recommendations