Product Logo

Build Provenance (Build-Herkunftsnachweis)

Build Provenance ist ein kryptografisch signierter Nachweis, der den gesamten Build-Prozess eines Container-Images dokumentiert: welche Quellen verwendet wurden, in welcher Umgebung gebaut wurde und welche Tools beteiligt waren. Sie ist die Grundvoraussetzung für SLSA Level 2 und höher.

Was wird nachgewiesen?

  • Reproduzierbarkeit: Alle Build-Parameter, Umgebungsvariablen sowie verwendete Tools und deren Versionen sind dokumentiert. Dies ermöglicht es, einen Build zu reproduzieren und unabhängig zu verifizieren.

  • Build-Integrität: Nachweis, dass das Image tatsächlich aus dem angegebenen Quellcode durch einen verifizierbaren Build-Prozess erstellt wurde — ohne Manipulation während des Builds.

  • Builder-Identität: Identifikation des Build-Systems und der Pipeline, die das Image erstellt hat. Dies schließt Informationen über die Build-Umgebung, verwendete Runner und deren Authentifizierung ein.

  • Erkennung unerwarteter Builds: Durch den kryptografischen Nachweis der Build-Kette kann erkannt werden, ob ein Release in der erwarteten Build-Umgebung des Projekts erstellt wurde. Dies hilft dabei, Releases zu identifizieren, die aus unbekannten oder kompromittierten Build-Systemen stammen.

Hinweis: Kompromittierte Build-Tools (z.B. ein manipulierter Compiler) innerhalb der vertrauenswürdigen Umgebung können weiterhin ein Risiko darstellen. Build Provenance schützt vor Angriffen auf die Build-Infrastruktur, nicht vor Angriffen auf die Build-Tools selbst.

Abgrenzung zur Source Provenance

Build Provenance beantwortet die Frage: Wie wurde das Artefakt gebaut? — also welcher Build-Prozess, welche Tools, welche Umgebung.

Source Provenance beantwortet die ergänzende Frage: Wer hat den Code geschrieben, wer hat ihn geprüft, und aus welchem Repository stammt er?

Beide Nachweise sind komplementär und werden zusammen für die Lieferketten Badge Gold benötigt.

Verbindung zu SLSA

SLSA ist in separate Tracks unterteilt. Build Provenance ist Teil des Build Tracks, der vier Stufen umfasst:

StufeAnforderung
Build L1Provenance existiert und beschreibt den Build-Prozess
Build L2Provenance ist signiert und wird von einer gehosteten Plattform erzeugt
Build L3Gehärtete Build-Plattform — Signing-Key ist für Build-Schritte nicht zugänglich

Das openCode Badge-System richtet sich am Build Track Level 3 aus: Die Attestierung wird von einem unabhängigen, gehärteten Dienst erzeugt und signiert — siehe Trusted Builder Architektur.

Source Provenance ist Bestandteil des Source Tracks — einem eigenständigen SLSA-Track mit eigenen Anforderungen und Stufen.

Weiterführende Informationen