CycloneDX et SPDX sont les deux formats qui satisfont à l'exigence du CRA en matière de SBOM lisible par machine. Le choix entre les deux n'est pas une question de conformité : les deux qualifient. C'est une question de flux de travail, autour du format le mieux adapté à la façon dont votre équipe gère le suivi des vulnérabilités et la conformité des licences. CycloneDX est un projet OWASP optimisé pour les cas d'usage sécurité. SPDX est une norme de la Linux Foundation qui bénéficie de la reconnaissance ISO/IEC 5962:2021. Cette page compare les deux sur les dimensions qui comptent pour la conformité CRA et BSI TR-03183, avec des exemples opérationnels pour chacun.
Synthèse
- CycloneDX (OWASP) et SPDX (Linux Foundation) satisfont tous deux à l'exigence de format lisible par machine du CRA
- CycloneDX 1.6 ou ultérieur est préféré pour les flux de travail sécurité ; le support natif VEX est arrivé en 1.4 et la structure
evidenceenrichie en 1.5 - SPDX 2.2.1 est la version normalisée en tant qu'ISO/IEC 5962:2021 ; SPDX 2.3 est la révision stable actuelle et reste rétrocompatible avec le socle ISO. SPDX 3.0 est en cours de normalisation en tant qu'ISO/IEC DIS 5962
- Le choix du format n'a aucune incidence sur les champs que vous devez renseigner au titre de la BSI TR-03183 : les exigences de champs sont identiques pour les deux formats
Quels formats SBOM sont acceptés au titre du CRA ?
Le CRA exige des formats « couramment utilisé et lisible par machine couvrant au moins les dépendances de niveau supérieur des produits ». En pratique, deux normes qualifient :
| Format | Norme | Cas d'usage |
|---|---|---|
| CycloneDX | OWASP | Orienté sécurité, support VEX natif |
| SPDX | Linux Foundation | Conformité des licences, adoption plus large |
Les deux formats sont acceptés. CycloneDX est de plus en plus privilégié pour les cas d'usage sécurité grâce à son support natif de :
- Vulnerability Exploitability eXchange (VEX)
- Avis de sécurité
- Graphes de dépendances
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
Comparaison côte à côte
| Dimension | CycloneDX | SPDX |
|---|---|---|
| Origine | Projet OWASP | Linux Foundation |
| Dernière version stable | 1.7 (oct. 2025) ; ciblez 1.6 ou ultérieur pour le CRA | 2.3 (actuelle) ; 3.0 en ISO DIS |
| Reconnaissance normative | OWASP, ECMA TC54 (en cours) | ISO/IEC 5962:2021 (couvre SPDX 2.2.1) |
| Orientation principale | Sécurité et gestion des vulnérabilités | Conformité des licences et revue juridique |
| Support VEX | Natif (depuis 1.4, janv. 2022) | Via CSAF externe |
evidence composants |
Identité et occurrences depuis 1.5 (juin 2023) | Sans objet |
| Expression de licence | Adéquate | Complète (la liste de licences SPDX fait référence) |
| Outillage | Syft, Trivy, cdxgen produisent nativement du CycloneDX | Syft, scancode-toolkit, FOSSA |
| Poids de la spécification | Plus léger, plus facile à implémenter | Plus complet, plus verbeux |
CycloneDX
Projet OWASP. Conçu pour la sécurité dès l'origine : spécification légère, VEX natif, liaison CVE directe, outillage natif robuste (Trivy, Syft, cdxgen). Choisissez CycloneDX lorsque le suivi des vulnérabilités est la priorité.
Exemple d'entrée de composant CycloneDX :
{
"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
Norme de la Linux Foundation. SPDX 2.2.1 est reconnue en tant qu'ISO/IEC 5962:2021 ; SPDX 2.3 est la révision stable actuelle et reste rétrocompatible avec le socle ISO. Syntaxe d'expression de licence complète, historique plus long dans la conformité des chaînes d'approvisionnement et meilleure gestion des scénarios de licences complexes. Choisissez SPDX lorsque la conformité des licences et la revue juridique pilotent votre flux de travail.
Exemple d'entrée de composant SPDX :
{
"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..."
}
]
}
]
}
Comment choisir
| Cas d'usage | Recommandation |
|---|---|
| Priorité : sécurité et vulnérabilités | CycloneDX |
| Priorité : conformité des licences | SPDX |
| Besoin d'intégration VEX pour les flux de vulnérabilités | CycloneDX |
| Entreprise disposant d'un outillage SPDX existant | SPDX |
| Marché allemand (alignement BSI TR-03183) | L'un ou l'autre (les deux sont recommandés) |
| Démarrage sans préférence de format préalable | CycloneDX (plus simple, orienté sécurité) |
Pour la conformité CRA, les deux formats fonctionnent. Le CRA ne désigne pas de format préféré. Choisissez-en un et soyez cohérent sur l'ensemble de votre portefeuille de produits. Vous pouvez générer les deux à partir du même build avec des outils comme Syft ou Trivy, mais standardiser sur un seul réduit la charge opérationnelle.
Le format que vous choisissez n'a aucune incidence sur les champs que vous devez renseigner. Le nom, la version, le fournisseur, le PURL, le hachage, la licence et les relations de dépendance sont obligatoires au titre de la BSI TR-03183, que votre SBOM soit en CycloneDX ou en SPDX.
Questions fréquentes
Quels formats SBOM le CRA accepte-t-il ?
Le CRA exige des formats « couramment utilisé et lisible par machine couvrant au moins les dépendances de niveau supérieur des produits ». CycloneDX (OWASP) et SPDX (Linux Foundation) sont les deux formats qui satisfont à cette exigence. Le règlement ne les désigne pas explicitement, mais aucun autre format ne franchit actuellement la barre en pratique.
CycloneDX ou SPDX : lequel choisir pour la conformité CRA ?
Les deux satisfont à l'exigence du CRA de format « couramment utilisé et lisible par machine couvrant au moins les dépendances de niveau supérieur des produits ». Choisissez CycloneDX si votre priorité est la sécurité : il dispose du support VEX natif (Vulnerability Exploitability eXchange), d'une meilleure adéquation aux flux de vulnérabilités, et est de plus en plus le format de référence pour l'outillage aligné CRA. Choisissez SPDX si votre priorité est la conformité des licences, une reconnaissance ISO plus large (ISO/IEC 5962), ou si vous disposez déjà de SPDX dans le cadre de travaux de conformité open source existants. Vous pouvez produire les deux à partir du même build, mais standardiser sur un seul format sur l'ensemble de votre portefeuille de produits réduit la charge opérationnelle. Le choix du format n'a aucune incidence sur les champs que vous devez renseigner au titre de la BSI TR-03183.