Exigences SBOM sous le cyber resilience act (CRA) de l'UE
Normes SBOM sous la réglementation européenne CRA : formats acceptés, champs obligatoires, niveaux de qualité BSI TR-03183 et échéances de conformité.
Dans cet article
- Résumé
- Qu'est-ce qu'un SBOM ?
- Que requiert le CRA pour les sboms ?
- Quels formats SBOM sont acceptés sous le CRA ?
- Quels champs un SBOM doit-il contenir ?
- Quelles sont les échéances de conformité SBOM du CRA ?
- Que se passe-t-il en cas de non-conformité ?
- Erreurs SBOM courantes
- Comment démarrer
- Questions fréquentes
- Prochaines étapes
Le Cyber Resilience Act (CRA) de l'Union européenne fait de la nomenclature logicielle (SBOM) une obligation légale pour tout produit comportant des éléments numériques vendu sur le marché européen. Cette réglementation européenne CRA impose des normes SBOM précises que les fabricants, importateurs et distributeurs doivent respecter. Ce guide explique ce que le CRA et la norme BSI TR-03183 exigent, quels formats sont acceptés, quels champs votre SBOM doit contenir, et quand les échéances de conformité entrent en vigueur.
Résumé
- Les SBOMs sont obligatoires sous le CRA. Chaque produit comportant des éléments numériques en a besoin.
- Formats acceptés : CycloneDX (orienté sécurité) ou SPDX (orienté licences)
- Doit inclure toutes les dépendances (directes et transitives), pas seulement les composants de niveau supérieur
- BSI TR-03183 établit la référence qualité. Utilisez-le comme objectif de conformité.
- Automatisez la génération de SBOM dans le CI/CD. Les processus manuels ne passent pas à l'échelle.
- Les SBOMs doivent être maintenus pendant toute la durée de support (minimum 5 ans)
Important : Les SBOMs sont obligatoires sous le CRA, pas optionnels. Chaque produit comportant des éléments numériques mis sur le marché de l'UE doit disposer d'un SBOM lisible par machine.
Qu'est-ce qu'un SBOM ?
Un SBOM (Software Bill of Materials), ou nomenclature logicielle, est un inventaire structuré de chaque composant logiciel présent dans un produit : bibliothèques, frameworks, paquets du système d'exploitation et leurs dépendances. Considérez-le comme une étiquette nutritionnelle pour le logiciel : il liste exactement ce qui se trouve à l'intérieur afin que les acheteurs et les régulateurs puissent évaluer les risques, suivre les vulnérabilités et vérifier la conformité des licences.
Un SBOM typique contient le nom de chaque composant, sa version exacte, son fournisseur, ses relations de dépendance et les licences associées. Ces informations permettent d'identifier rapidement si un produit est affecté par une vulnérabilité nouvellement découverte, comme Log4Shell en 2021, où les organisations sans SBOM ont mis des semaines à déterminer leur exposition. Sous le CRA, ce document passe du statut de bonne pratique à celui d'exigence réglementaire contraignante.
Que requiert le CRA pour les sboms ?
Le CRA fait référence aux SBOMs dans deux sections essentielles :
Annexe I : exigences essentielles
« Les fabricants identifient et documentent les vulnérabilités et les composants contenus dans les produits, notamment en établissant une nomenclature logicielle dans un format couramment utilisé et lisible par machine. »
Cela signifie :
- Les SBOMs sont obligatoires, pas optionnels
- Ils doivent être dans un format lisible par machine (pas de PDF ni de tableurs)
- Ils doivent couvrir tous les composants, y compris les dépendances transitives
Annexe VII : documentation technique
Le dossier technique doit inclure des informations SBOM permettant :
- Le suivi des vulnérabilités au niveau des composants
- L'identification des fournisseurs
- La vérification de la conformité des licences
- La planification de fin de vie
Quels formats SBOM sont acceptés sous le CRA ?
Le CRA exige des formats « couramment utilisés et lisibles par machine ». En pratique, deux standards répondent à cette exigence :
| Format | Standard | Idéal pour |
|---|---|---|
| CycloneDX | OWASP | Orienté sécurité, support VEX natif |
| SPDX | Linux Foundation | Conformité licences, adoption plus large |
Les deux formats sont acceptés, mais CycloneDX est de plus en plus préféré pour les cas d'usage sécurité grâce à son support natif pour :
- Vulnerability Exploitability eXchange (VEX)
- Avis de sécurité
- Graphes de dépendances
graph TD
SBOM((SBOM))
SCN[Noms des Composants] --> SBOM
VS[Versions] --> SBOM
SUP[Informations Fournisseur] --> SBOM
DEP[Dépendances] --> SBOM
LIC[Licences] --> SBOM
PURL[URLs de Paquets] --> SBOM
HASH[Valeurs de Hachage] --> SBOM
OSC[Composants Open Source] --> SBOM
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
Quels champs un SBOM doit-il contenir ?
L'Office fédéral allemand pour la sécurité de l'information (BSI) a publié TR-03183, qui fournit des exigences détaillées de qualité SBOM allant au-delà du minimum CRA. Utilisez-le comme objectif de conformité.
Champs obligatoires (BSI TR-03183)
- Nom et version du composant
- Informations fournisseur / fabricant
- Identifiants uniques (PURL, CPE)
- Relations de dépendance
- Informations de licence
Niveaux de qualité
TR-03183 définit trois niveaux de qualité :
| Niveau | Description |
|---|---|
| Basique | Champs minimum remplis |
| Standard | Tous les champs recommandés |
| Complet | Arbre de dépendances complet, vérification de hachage |
Bien que TR-03183 soit une norme allemande, elle devient la référence de qualité de facto pour la conformité CRA dans toute l'UE.
Quelles sont les échéances de conformité SBOM du CRA ?
Le CRA suit un calendrier d'application progressif. Les fabricants doivent anticiper ces échéances car la mise en conformité demande un effort technique substantiel :
| Date | Jalon | Impact SBOM |
|---|---|---|
| 11 septembre 2026 | Les obligations de signalement des vulnérabilités entrent en vigueur. Les fabricants doivent signaler les vulnérabilités activement exploitées dans un délai de 24 heures. | Un SBOM à jour est indispensable pour identifier rapidement les composants affectés |
| 11 décembre 2027 | Application complète. Tous les produits comportant des éléments numériques doivent répondre aux exigences du CRA, y compris des SBOMs complets. | SBOMs obligatoires dans le dossier technique, contrôlés lors de la surveillance du marché |
Les produits mis sur le marché de l'UE après décembre 2027 sans SBOM conforme ne pourront pas porter le marquage CE et ne pourront pas être légalement commercialisés. Les produits déjà sur le marché devront également se conformer si de nouvelles versions sont publiées après cette date.
Que se passe-t-il en cas de non-conformité ?
Le non-respect du CRA entraîne des conséquences sévères :
- Amendes jusqu'à 15 millions d'euros ou 2,5 % du chiffre d'affaires annuel mondial (le montant le plus élevé étant retenu)
- Rappel du produit ou retrait du marché de l'UE
- Interdiction de mise sur le marché : les produits non conformes ne peuvent pas porter le marquage CE
- Impact sur la chaîne d'approvisionnement : vos clients pourraient ne plus pouvoir utiliser votre produit dans le cadre de leur propre conformité CRA
Les autorités de surveillance du marché de chaque État membre de l'UE sont chargées de l'application de ces sanctions. En France, c'est l'ANSSI qui joue un rôle clé dans la cybersécurité des produits numériques. Les sanctions peuvent être cumulées : une amende financière peut s'accompagner d'un retrait du marché, ce qui représente un double impact sur le chiffre d'affaires.
Erreurs SBOM courantes
1. Arbres de dépendances incomplets
De nombreux outils ne capturent que les dépendances directes. Le CRA exige les dépendances transitives, c'est-à-dire les composants dont dépendent vos propres dépendances. Un produit typique peut avoir 20 dépendances directes mais plus de 200 dépendances transitives. Les vulnérabilités se trouvent souvent dans ces couches profondes.
Votre Produit
├── Bibliothèque A (directe) ✓
│ ├── Bibliothèque B (transitive) ← Souvent manquante !
│ └── Bibliothèque C (transitive) ← Souvent manquante !
└── Bibliothèque D (directe) ✓
2. Informations de version manquantes
Un SBOM sans informations de version précises est presque inutile pour la correspondance des vulnérabilités. Assurez-vous que chaque composant a :
- Des numéros de version exacts (pas de plages)
- Des valeurs de hachage pour les composants binaires
- Des identifiants PURL lorsque possible
3. Sboms obsolètes
Un SBOM généré au moment de la compilation mais jamais mis à jour crée un faux sentiment de sécurité. De nouvelles vulnérabilités sont publiées quotidiennement, et un SBOM obsolète empêche votre équipe de réagir rapidement. Mettez en place :
- L'intégration CI/CD pour la génération automatique de SBOM
- Le contrôle de version pour les artefacts SBOM
- La détection régulière des écarts entre les builds
4. Ignorer le firmware et le matériel
Pour les produits avec des composants embarqués, n'oubliez pas d'inclure :
- Les versions et composants du firmware
- La nomenclature matérielle (HBOM) le cas échéant
- Les composants bootloader et kernel
Comment démarrer
-
Auditez votre état actuel : Générez-vous des SBOMs aujourd'hui ? Quel format ? Quelle couverture ? Si vous partez de zéro, commencez par un seul produit pilote.
-
Choisissez votre format : CycloneDX pour un focus sécurité, SPDX pour la conformité des licences (ou les deux). CycloneDX est recommandé si le suivi des vulnérabilités est votre priorité.
-
Automatisez la génération : Intégrez la génération de SBOM dans votre pipeline CI/CD avec des outils comme Syft, Trivy ou cdxgen. Chaque build doit produire un SBOM à jour.
-
Validez la qualité : Vérifiez vos SBOMs par rapport aux exigences TR-03183. Tous les champs obligatoires sont-ils remplis ? Validez la conformité au schéma (CycloneDX/SPDX valide) et la complétude des composants.
-
Implémentez la surveillance : Liez vos SBOMs aux bases de données de vulnérabilités (NVD, OSV, GitHub Advisory Database, CISA KEV) pour une détection continue.
-
Planifiez les mises à jour : Établissez des processus pour que chaque version de produit génère un SBOM validé et à jour. Conservez les SBOMs pendant toute la durée de support (minimum 5 ans sous le CRA). Prévoyez également un processus de mise à jour lorsqu'un composant est remplacé ou qu'une vulnérabilité nécessite un correctif.
Questions fréquentes
Quels formats SBOM le CRA accepte-t-il ?
Le CRA exige des formats "couramment utilisés et lisibles par machine." CycloneDX (OWASP) et SPDX (Linux Foundation) satisfont cette exigence. Le règlement ne les nomme pas explicitement, mais aucun autre format n'atteint ce niveau en pratique.
Les éléments minimaux NTIA satisfont-ils aux exigences du CRA ?
Les éléments minimaux NTIA (nom du fournisseur, nom du composant, version, identifiants uniques, relations de dépendance, auteur du SBOM et horodatage) s'alignent globalement sur ce que le CRA et l'ANSSI recommandent au niveau de base. Mais BSI TR-03183 va plus loin : les valeurs de hachage et les identifiants PURL sont attendus pour la conformité CRA.
Le CRA exige-t-il un SBOM pour les composants open source ?
Oui. L'Annexe I oblige les fabricants à documenter tous les composants dans un SBOM lisible par machine, sans exception pour l'open source. Chaque bibliothèque open source de votre produit doit figurer dans votre SBOM avec sa version et ses identifiants.
Le SBOM doit-il être soumis lors de la mise sur le marché ou sur demande ?
Le SBOM ne doit pas être soumis de manière proactive. Il fait partie du dossier technique (Annexe VII) et doit être disponible pour les autorités de surveillance du marché sur demande. Il doit exister au moment de la mise sur le marché de l'UE.
Le CRA exige-t-il un SBOM lisible par machine ou un PDF suffit-il ?
L'Annexe I exige explicitement un format lisible par machine. Un PDF n'est pas acceptable. CycloneDX ou SPDX sérialisé en JSON ou XML satisfait l'exigence. Un tableur ou un document lisible par un humain ne le satisfait pas.
Combien de temps un SBOM doit-il être conservé après le retrait du produit ?
Le dossier technique, qui comprend le SBOM, doit être conservé pendant 10 ans après la mise sur le marché de la dernière unité, ou pendant la durée d'utilisation prévue si elle est plus longue (CRA Article 23). Le SBOM doit rester à jour pendant toute la période de support actif, que le CRA fixe à 5 ans minimum.
Prochaines étapes
Vous gérez la conformité CRA pour plusieurs produits ? CRA Evidence suit vos SBOM, les évalue selon les niveaux de qualité BSI TR-03183 et signale les nouvelles vulnérabilités dès qu'elles apparaissent.
Une fois votre format choisi, consultez le guide de génération SBOM pour automatiser la création en CI/CD. Consultez le guide du dossier technique Annexe VII pour comprendre où votre SBOM s'inscrit dans la documentation de conformité globale.
Cet article est fourni à titre informatif uniquement et ne constitue pas un avis juridique. Pour des conseils de conformité spécifiques, consultez un conseiller juridique qualifié.
Articles connexes
Le CRA s'applique-t-il à votre produit ?
Répondez à 6 questions simples pour savoir si votre produit relève du champ d'application du Cyber Resilience Act de l'UE. Obtenez votre résultat en moins de 2 minutes.
Prêt à atteindre la conformité CRA ?
Commencez à gérer vos SBOMs et votre documentation de conformité avec CRA Evidence.