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.