SBOM
Problem
Eine kritische Schwachstelle wird in Bibliothek X angekündigt.
Ihre Organisation hat 800 Anwendungen.
Welche enthalten X?
Wenn niemand weiß, welche Software sich in jeder Anwendung befindet, kann die Beantwortung Tage dauern.
Lösung — Software Bill of Materials
Eine SBOM ist ein strukturiertes Inventar von Komponenten und deren genauen Versionen, üblicherweise eine JSON-Datei nach einem Standard wie CycloneDX oder SPDX.
Die Build-Pipeline generiert sie automatisch aus aufgelösten Abhängigkeiten oder der erstellten Anwendung und speichert sie mit diesem Release. Wenn eine Abhängigkeit aktualisiert wird, erhält der nächste Build eine neue SBOM; jedes Release führt sein eigenes Inventar der Versionen, die es tatsächlich enthält.
Anwendung A ├─ Bibliothek X 2.1 ├─ Bibliothek Y 5.0 └─ Laufzeit Z
Kerngedanke: Eine SBOM sagt Ihnen, welche Softwarekomponenten eine Anwendung enthält.