Les formats

Deux formats répondent à l’exigence du règlement. Ils sont tous deux légitimes, normalisés et largement outillés ; ils n’ont pas la même histoire ni les mêmes points forts.

Comparatif

CycloneDX SPDX
Origine OWASP Linux Foundation
Normalisation ECMA-424 ISO/IEC 5962 (pour SPDX 2.2.1)
Orientation d’origine Sécurité Conformité des licences
Sérialisations JSON, XML, Protobuf Tag-value, JSON, YAML, RDF/XML, tableur
Vulnérabilités dans le document Natif (vulnerabilities) Via profil sécurité (SPDX 3.x)
VEX Natif Par mécanismes externes ou profil
Richesse licences Bonne Référence du domaine (liste et expressions SPDX)
Extensions SaaSBOM, HBOM, ML-BOM, CBOM, OBOM Profils SPDX 3 : sécurité, build, IA, données, licensing
Adoption Forte côté outillage sécurité et CI/CD Forte côté conformité juridique et distributions

Ce qui les rapproche

Les deux formats expriment les mêmes notions de base : composants, versions, identifiants, empreintes, licences, relations de dépendance, métadonnées de création. Les outils de conversion existent dans les deux sens.

Ce qui les distingue vraiment

CycloneDX a été conçu par une communauté sécurité, pour alimenter des chaînes de traitement automatisées. Il porte nativement les vulnérabilités et les assertions d’exploitabilité, ce qui en fait le format de travail naturel d’une plateforme de pilotage.

SPDX a été conçu par une communauté de conformité juridique, autour de la question « quelles licences y a-t-il dans ce logiciel, et qu’imposent-elles ». Sa liste de licences et ses expressions de licence font autorité mondiale, y compris pour CycloneDX qui les réutilise.

La conversion et ses pertes

Convertir n’est pas neutre. Les pertes typiques :

  • les extensions propres à un format n’ont pas d’équivalent dans l’autre ;
  • les relations entre composants sont exprimées différemment et peuvent s’aplatir ;
  • les assertions VEX de CycloneDX n’ont pas de destination naturelle en SPDX 2.x ;
  • les métadonnées de construction peuvent disparaître.

Toute conversion doit donc être documentée : outil utilisé, version, pertes connues.

Le choix retenu

Format pivot : CycloneDX, dans une version récente, produit par la chaîne de construction et consommé par la plateforme de pilotage. C’est le format qui porte nativement le VEX, donc celui qui permet de documenter les décisions de ne pas corriger.

Export SPDX à la demande, pour les usages juridiques et pour les clients qui l’exigent contractuellement.

Ce choix doit être figé et documenté, avec les versions minimales acceptées, et appliqué uniformément : deux équipes produisant deux formats différents rendent le portefeuille incomparable.

Dans cette section

  • Cyber

    CycloneDX

    Le format de l'OWASP normalisé ECMA-424 : structure du document, extensions BOM, prise en charge native du VEX, et exemple commenté.

  • Legal

    SPDX

    Le format de la Linux Foundation normalisé ISO/IEC 5962 : structure, profils SPDX 3, liste et expressions de licence faisant autorité, et exemple commenté.