CycloneDX en SPDX zijn de twee formaten die voldoen aan de CRA-vereiste voor een machineleesbare SBOM. De keuze tussen beide is geen compliancevraag: beiden kwalificeren. Het is een workflowvraag over welk formaat het beste aansluit op de manier waarop uw team kwetsbaarheidsbeheer en licentienaleving aanpakt. CycloneDX is een OWASP-project dat is geoptimaliseerd voor beveiligingstoepassingen. SPDX is een Linux Foundation-standaard met ISO/IEC 5962:2021-erkenning. Op deze pagina worden beide formaten vergeleken op de dimensies die van belang zijn voor CRA- en BSI TR-03183-compliance, met werkende voorbeelden van elk formaat.
Samenvatting
- Zowel CycloneDX (OWASP) als SPDX (Linux Foundation) voldoen aan de CRA-vereiste voor een algemeen gebruikt en machineleesbaar formaat
- CycloneDX 1.6 of later heeft de voorkeur voor beveiligingsworkflows; native VEX-ondersteuning is beschikbaar vanaf versie 1.4 en de rijke
evidence-structuur vanaf versie 1.5 - SPDX 2.2.1 is de versie die is gestandaardiseerd als ISO/IEC 5962:2021; SPDX 2.3 is de huidige stabiele versie en is achterwaarts compatibel met de ISO-baseline. SPDX 3.0 is in behandeling als ISO/IEC DIS 5962
- De formaatkeuze heeft geen invloed op de verplichte velden onder BSI TR-03183: de veldvereisten zijn voor beide formaten gelijk
Welke SBOM-formaten accepteert de CRA?
De CRA vereist "algemeen gebruikt en machineleesbaar" formaat. In de praktijk kwalificeren twee standaarden:
| Formaat | Standaard | Meest geschikt voor |
|---|---|---|
| CycloneDX | OWASP | Beveiligingsgericht, native VEX-ondersteuning |
| SPDX | Linux Foundation | Licentienaleving, bredere adoptie |
Beide formaten worden geaccepteerd. CycloneDX wordt steeds vaker gekozen voor beveiligingstoepassingen vanwege de native ondersteuning voor:
- Vulnerability Exploitability eXchange (VEX)
- Beveiligingsadviezen
- Afhankelijkheidsgraphs
graph LR
SCN[Component Names] --- SBOM((SBOM))
VS[Versions] --- SBOM
SUP[Supplier Info] --- SBOM
DEP[Dependencies] --- SBOM
SBOM --- LIC[Licenses]
SBOM --- PURL[Package URLs]
SBOM --- HASH[Hash Values]
SBOM --- OSC[Open Source Components]
style SBOM fill:#008080,color:#fff,stroke:#006666,stroke-width:4px
style SCN fill:#e8f4f8,stroke:#008080,color:#333
style VS fill:#e8f4f8,stroke:#008080,color:#333
style SUP fill:#e8f4f8,stroke:#008080,color:#333
style DEP fill:#e8f4f8,stroke:#008080,color:#333
style LIC fill:#e8f4f8,stroke:#008080,color:#333
style PURL fill:#e8f4f8,stroke:#008080,color:#333
style HASH fill:#e8f4f8,stroke:#008080,color:#333
style OSC fill:#e8f4f8,stroke:#008080,color:#333
Zij aan zij vergeleken
| Dimensie | CycloneDX | SPDX |
|---|---|---|
| Oorsprong | OWASP-project | Linux Foundation |
| Meest recente stabiele versie | 1.7 (oktober 2025); target 1.6 of later voor CRA | 2.3 (huidig); 3.0 in ISO DIS |
| Standaardherkenning | OWASP, ECMA TC54 (in behandeling) | ISO/IEC 5962:2021 (dekt SPDX 2.2.1) |
| Primaire focus | Beveiliging en kwetsbaarheidsbeheer | Licentienaleving en juridische beoordeling |
| VEX-ondersteuning | Native (vanaf 1.4, januari 2022) | Via extern CSAF |
Component evidence |
Identiteit en vindplaatsen vanaf 1.5 (juni 2023) | Niet van toepassing |
| Licentie-expressie | Voldoende | Uitgebreid (SPDX-licentielijst is canoniek) |
| Tooling | Syft, Trivy, cdxgen produceren native CycloneDX | Syft, scancode-toolkit, FOSSA |
| Specificatieomvang | Compacter, eenvoudiger te implementeren | Uitgebreider, meer woordenrijk |
CycloneDX
OWASP-project. Ontworpen voor beveiliging als uitgangspunt: compactere specificatie, native VEX, directe CVE-koppeling, sterke native tooling (Trivy, Syft, cdxgen). Kies CycloneDX wanneer kwetsbaarheidsbeheer de prioriteit is.
Voorbeeld van een CycloneDX-componentvermelding:
{
"bomFormat": "CycloneDX",
"specVersion": "1.5",
"version": 1,
"components": [
{
"type": "library",
"name": "lodash",
"version": "4.17.21",
"purl": "pkg:npm/lodash@4.17.21",
"hashes": [
{
"alg": "SHA-256",
"content": "cc6d..."
}
],
"licenses": [
{
"license": {
"id": "MIT"
}
}
]
}
]
}
SPDX
Linux Foundation-standaard. SPDX 2.2.1 is erkend als ISO/IEC 5962:2021; SPDX 2.3 is de huidige stabiele versie en blijft achterwaarts compatibel met de ISO-baseline. Uitgebreide licentie-expressiesyntaxis, langere staat van dienst in toeleveringsketencompliance en sterkere verwerking van complexe licentiescenario's. Kies SPDX wanneer licentienaleving en juridische beoordeling uw workflow bepalen.
Voorbeeld van een SPDX-componentvermelding:
{
"spdxVersion": "SPDX-2.3",
"dataLicense": "CC0-1.0",
"SPDXID": "SPDXRef-DOCUMENT",
"name": "my-application",
"packages": [
{
"SPDXID": "SPDXRef-Package-lodash",
"name": "lodash",
"versionInfo": "4.17.21",
"downloadLocation": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"licenseConcluded": "MIT",
"checksums": [
{
"algorithm": "SHA256",
"checksumValue": "cc6d..."
}
]
}
]
}
Hoe kiest u het juiste formaat?
| Gebruiksscenario | Aanbeveling |
|---|---|
| Primaire focus is beveiliging en kwetsbaarheden | CycloneDX |
| Primaire focus is licentienaleving | SPDX |
| VEX-integratie nodig voor kwetsbaarheidsworkflows | CycloneDX |
| Enterprise met bestaande SPDX-tooling | SPDX |
| Duitse markt (BSI TR-03183-aansluiting) | Beide (beide aanbevolen) |
| Nieuw beginnen zonder eerdere formaatvoorkeur | CycloneDX (eenvoudiger, beveiligingsgericht) |
Voor CRA-compliance werkt elk formaat. De CRA noemt geen voorkeursformaat. Kies er een en houd dat consistent aan in uw productportfolio. U kunt beide formaten genereren vanuit dezelfde build met tools als Syft of Trivy, maar standaardiseren op één formaat vermindert de operationele overhead.
Het formaat dat u kiest, heeft geen invloed op de verplichte velden. Naam, versie, leverancier, PURL, hash, licentie en afhankelijkheidsrelaties zijn vereist onder BSI TR-03183, ongeacht of uw SBOM CycloneDX of SPDX is.
Veelgestelde vragen
Welke SBOM-formaten accepteert de CRA?
De CRA vereist formaten die "algemeen gebruikt en machineleesbaar" zijn. CycloneDX (OWASP) en SPDX (Linux Foundation) zijn de twee formaten die aan deze vereiste voldoen. De verordening noemt ze niet expliciet, maar geen andere formaten voldoen in de praktijk momenteel aan de lat.
CycloneDX of SPDX: welk formaat kies ik voor CRA-compliance?
Beide voldoen aan de CRA-vereiste voor een "algemeen gebruikt en machineleesbaar" formaat. Kies CycloneDX als uw prioriteit beveiliging is: het heeft native VEX-ondersteuning (Vulnerability Exploitability eXchange), past beter bij kwetsbaarheidsworkflows en wordt steeds vaker gekozen voor CRA-gerichte tooling. Kies SPDX als uw prioriteit licentienaleving is, bredere ISO-erkenning (ISO/IEC 5962) telt, of u al SPDX gebruikt vanuit eerder opensourcecompliance-werk. U kunt beide genereren vanuit dezelfde build, maar standaardiseren op één formaat in uw productportfolio vermindert de operationele overhead. De formaatkeuze heeft geen invloed op de verplichte velden onder BSI TR-03183.