Beispiel, fiktive Inhalte zur Veranschaulichung.Der Auszug zeigt die SBOM der Gateway-Firmware des fiktiven Geräts im JSON-Format nach CycloneDX 1.6. Er wurde manuell in der Struktur erstellt, die ein Syft-Scan von Build 2.4.0 erzeugt. Ein Scan vergibt eigene bom-ref-Werte. Hier entsprechen diese Werte den SOUP-IDs. Der vulnerabilities-Block stammt nicht aus einem Scan. Ein Entwickler ergänzt ihn nach der Erreichbarkeitsprüfung. Der Auszug enthält vier Komponenten. Die vollständige Datei führt alle Komponenten, das Betriebssystem und die transitiven Abhängigkeiten auf. Jede bom-ref entspricht der SOUP-ID der jeweiligen Komponente. So lassen sich SOUP-Inventar und SBOM miteinander verknüpfen. Die Hashes entsprechen den Werten, welche die Projekte für ihre Quell-Releases veröffentlichen. Für SQLite ist dies der SHA3-256-Hash von sqlite3.c. Die Schwachstellen-ID dient als Platzhalter. In einer echten SBOM stammen die Hashes aus dem Build und beschreiben die ausgelieferten Dateien.
{
"bomFormat": "CycloneDX",
"specVersion": "1.6",
"serialNumber": "urn:uuid:e23dacfd-0f57-4635-9536-2fda9115f806",
"version": 7,
"metadata": {
"timestamp": "2026-09-30T08:00:00Z",
"authors": [{ "name": "Softwareteam, fiktiver Hersteller" }],
"tools": { "components": [{ "type": "application", "name": "syft", "version": "1.52.0" }] },
"component": { "type": "firmware", "bom-ref": "gateway-fw",
"name": "example-gateway-firmware", "version": "2.4.0" }
},
"components": [
{ "type": "library", "bom-ref": "SOUP-002",
"supplier": { "name": "OpenSSL project", "url": ["https://openssl-library.org"] },
"name": "openssl", "version": "3.5.9",
"purl": "pkg:github/openssl/openssl@openssl-3.5.9",
"licenses": [{ "license": { "id": "Apache-2.0" } }],
"hashes": [{ "alg": "SHA-256", "content": "603f5602e2eef00d77fbd429d34dcd5822bb301757a1bc9cdb24c670f1eb859a" }] },
{ "type": "library", "bom-ref": "SOUP-003",
"supplier": { "name": "SQLite project", "url": ["https://sqlite.org"] },
"name": "sqlite", "version": "3.53.4",
"purl": "pkg:generic/sqlite@3.53.4",
"licenses": [{ "license": { "id": "blessing" } }],
"hashes": [{ "alg": "SHA3-256", "content": "67f423e9ebbbdc473cbc4772c872ee6b89f31fde4ed0279a5c25d5f65c043a16" }] },
{ "type": "library", "bom-ref": "SOUP-004",
"supplier": { "name": "zlib project", "url": ["https://zlib.net"] },
"name": "zlib", "version": "1.3.2",
"purl": "pkg:github/madler/zlib@v1.3.2",
"licenses": [{ "license": { "id": "Zlib" } }],
"hashes": [{ "alg": "SHA-256", "content": "bb329a0a2cd0274d05519d61c667c062e06990d72e125ee2dfa8de64f0119d16" }] },
{ "type": "library", "bom-ref": "SOUP-005",
"supplier": { "name": "Niels Lohmann", "url": ["https://github.com/nlohmann/json"] },
"name": "nlohmann-json", "version": "3.12.0",
"purl": "pkg:github/nlohmann/json@v3.12.0",
"licenses": [{ "license": { "id": "MIT" } }],
"hashes": [{ "alg": "SHA-256", "content": "42f6e95cad6ec532fd372391373363b62a14af6d771056dbfc86160e6dfff7aa" }] }
],
"dependencies": [
{ "ref": "gateway-fw", "dependsOn": [ "SOUP-002", "SOUP-003", "SOUP-004", "SOUP-005" ] }
],
"vulnerabilities": [
{ "id": "CVE-YYYY-NNNNN",
"affects": [{ "ref": "SOUP-002" }],
"analysis": { "state": "not_affected", "justification": "code_not_reachable",
"detail": "Die betroffene Funktion wird nicht aufgerufen. Erreichbarkeit am Aufrufgraphen von Build 2.4.0 geprüft, Eintrag VA-012, Bedrohung THR-03." } }
]
}Der vulnerabilities-Block dokumentiert die Bewertung jeder bekannten Schwachstelle im Hinblick auf das Gerät. Im gezeigten Fall wird die betroffene Funktion nie aufgerufen. Die Erreichbarkeitsprüfung ist unter VA-012 dokumentiert. Der Eintrag verweist außerdem auf die zugehörige Bedrohung. Diese VEX-Informationen erwartet ein Prüfer zusätzlich zur SBOM.
Die SBOM wird aus dem Build erzeugt und bei jedem Release aktualisiert. Ein Entwickler prüft das SOUP-Inventar, sobald sich eine Komponente, ihre Version oder ihre Funktion ändert. Die Prüfung erfolgt außerdem monatlich im Rahmen der Schwachstellenüberwachung.