SBOM
CycloneDX vs SPDX
CycloneDX et SPDX sont les deux formats de SBOM que presque tous les outils prennent en charge. Tous deux décrivent les composants d'un logiciel et les liens entre eux. Ils diffèrent par leur origine, par ce qu'ils transportent d'autre et par l'organisme de normalisation qui les soutient.
Mis à jour le
La réponse courte
Utilisez le format que demandent vos clients, vos régulateurs ou vos outils. Si personne ne demande rien, CycloneDX est le choix le plus courant pour le travail de sécurité, car il prend en charge VEX nativement, et SPDX le choix le plus courant lorsque la conformité des licences prime. La plupart des générateurs, dont CRACI, peuvent produire les deux.
Côte à côte
| Fonctionnalité | CycloneDX | SPDX |
|---|---|---|
| Maintenu par | OWASP Foundation et Ecma International | Linux Foundation |
| Norme | ECMA-424 | ISO/IEC 5962:2021 |
| Version actuelle | 1.7, octobre 2025 | 3.0, avril 2024 |
| Point de départ | Sécurité et risque de la chaîne d'approvisionnement | Conformité des licences |
| Types de nomenclature | SBOM, SaaSBOM, HBOM et d'autres | Profils pour la sécurité, le build, les jeux de données et l'IA |
| Données de vulnérabilité | VEX intégré | Profil de sécurité dans la 3.0 |
| Encodages | JSON, XML, Protocol Buffers | Plusieurs, dont JSON |
CycloneDX
CycloneDX est développé par l'OWASP Foundation et normalisé par Ecma International sous le nom ECMA-424. La version 1.7 est sortie en octobre 2025. Il est parti de la sécurité et du risque de la chaîne d'approvisionnement et couvre plus que le logiciel : SBOM, SaaSBOM pour les services et HBOM pour le matériel. Il prend en charge VEX : le même format peut donc indiquer si une vulnérabilité affecte un produit. Il se sérialise en JSON, XML ou Protocol Buffers.
SPDX
SPDX est un projet open source hébergé par la Linux Foundation et reconnu comme norme internationale ISO/IEC 5962:2021. Il est parti de la conformité des licences, et ses identifiants de licence sont utilisés bien au-delà des SBOM. SPDX 3.0, sorti en avril 2024, a ajouté des profils pour la sécurité, le build, les jeux de données et l'IA.
À voir : les bases des SBOM
Extrait de notre intervention à KCD Helsinki : ce qu'une SBOM enregistre, ce qui distingue SPDX et CycloneDX en pratique, et ce qu'apporte OpenVEX.
SBOM basics: SPDX, CycloneDX and OpenVEX
Petteri Pulkkinen et Erika Marttinen lors de Kubernetes Community Days Helsinki 2026, 16:50 à 22:05 de SBOMbastic: Getting Ready for Upcoming EU Cybersecurity Regulation in Software Supply Chains.
Ce que les régulateurs acceptent
Le Cyber Resilience Act de l'UE demande une SBOM dans « un format couramment utilisé et lisible par machine » sans en nommer un. En Allemagne, le BSI TR-03183-2, version 2.1.0, est plus précis : CycloneDX 1.6 ou supérieur, ou SPDX 3.0.1 ou supérieur, en JSON ou en XML. Voir les exigences du CRA sur les SBOM.
Le format compte moins que le contenu
Les deux formats peuvent contenir une SBOM incomplète. Ce qui rend une SBOM utile, c'est qu'elle liste tout ce qui est entré dans le produit, y compris les dépendances transitives. CRACI enregistre la SBOM pendant l'exécution de votre build GitHub Actions, indique sa complétude par job et par cache, et l'exporte en CycloneDX ou SPDX. Voir la génération de SBOM au build.
CycloneDX vs SPDX : questions fréquentes
Lequel est le meilleur, CycloneDX ou SPDX ?
Aucun des deux n'est meilleur dans l'absolu. CycloneDX est né des usages de sécurité et prend en charge VEX nativement ; SPDX est né de la conformité des licences et est une norme ISO. La plupart des outils peuvent produire les deux. Choisissez celui que demandent vos clients, vos régulateurs ou vos outils.
Quel format de SBOM le Cyber Resilience Act de l'UE exige-t-il ?
Le CRA demande un format couramment utilisé et lisible par machine, sans en nommer un. En Allemagne, le BSI TR-03183-2 accepte CycloneDX 1.6 ou supérieur et SPDX 3.0.1 ou supérieur, en JSON ou en XML.
Peut-on convertir CycloneDX en SPDX, et inversement ?
Il existe des outils de conversion dans les deux sens, mais les formats ne se correspondent pas point par point : une conversion peut donc perdre des détails. Si vous le pouvez, générez directement le format dont vous avez besoin.
CRACI exporte-t-il en CycloneDX ou en SPDX ?
Les deux. CRACI enregistre la SBOM pendant l'exécution de votre build GitHub Actions et l'exporte en CycloneDX ou SPDX, y compris les dépendances transitives et la licence déclarée de chaque composant.
Obtenez les deux formats à partir d'un seul build
Exécutez un job GitHub Actions sur CRACI et exportez sa SBOM enregistrée en CycloneDX ou SPDX.
Réserver une démo