Erreurs SBOM sous le CRA : 7 corrections pratiques pour les fabricants

Le générateur SBOM tourne, le fichier est valide, et la prochaine revue produit peut encore révéler des lacunes. Les échecs récurrents de préparation CRA ne sont généralement pas des cas limites juridiques obscurs. Ce sont des arbres de dépendances peu profonds, des inventaires source uniquement, des dossiers obsolètes et des composants que les scanners ne peuvent pas relier à une vulnérabilité. Le Règlement sur la cyberrésilience demande un SBOM lisible par machine, dans un format couramment utilisé, couvrant au moins les dépendances de niveau supérieur et conservé avec la documentation technique. Cet article couvre les sept écarts entre un SBOM qui existe techniquement et un SBOM capable de soutenir la gestion des vulnérabilités. C'est le SBOM qu'une autorité de surveillance du marché s'attend à examiner.

Synthèse

  • Un SBOM généré depuis les manifestes source peut manquer ce qui est réellement livré dans l'artefact
  • Les composants sans version exacte, hachage et PURL sont difficiles à relier aux CVE
  • Les dépendances directes constituent le plancher CRA, insuffisant pour une gestion utile des vulnérabilités
  • Un SBOM généré une seule fois devient obsolète à mesure que de nouvelles vulnérabilités et versions de produits apparaissent
  • Les composants internes, propriétaires, commerciaux et firmware appartiennent également au périmètre
  • Les SBOM des fournisseurs sont des données d'entrée à réconcilier, pas votre SBOM produit finalisé
  • Une version produit nécessite un SBOM de référence unique, pas des fragments épars
7
Erreurs courantes
couvertes dans cet article
30.6%
SBOM avec une dépendance directe manquante
JBomAudit, NDSS 2025
11 Sep 2026
Horloge de signalement
11 Dec 2027
Application intégrale du CRA
les lacunes SBOM deviennent un risque juridique

Les erreurs en un coup d'œil

  • Arbre source, pas l'artefact livré : générez depuis l'artefact ou l'image buildés afin que le code compilé, les paquets OS et le firmware soient visibles.
  • Champs d'identité insuffisants : utilisez des versions exactes, des hachages, des PURL là où ils sont disponibles, et des noms de fournisseur afin que les scanners puissent corréler les CVE.
  • Dépendances directes uniquement : ajoutez l'analyse des fichiers de verrouillage et des artefacts buildés afin que les dépendances indirectes et embarquées entrent dans le SBOM.
  • Fichier ponctuel : régénérez et archivez le SBOM à chaque version, puis maintenez la corrélation des vulnérabilités à jour.
  • Code produit omis : les composants internes, propriétaires, commerciaux et firmware nécessitent des identifiants et des preuves.
  • Copier-coller fournisseur : les SBOM fournisseurs sont des données d'entrée. Réconciliez-les avec le code de première partie et l'artefact de version finale.
  • Éparpillement du SBOM : conservez un SBOM produit de référence par version afin que la version 1.4.2 dispose d'un enregistrement défendable unique.
Où les erreurs SBOM entrent dans le cycle de vie produit Un SBOM conforme au CRA est produit à partir du processus de livraison et reste utile après l'expédition.
CompilezAnalysez l'artefact

Capturez le code applicatif, les paquets OS, les blobs firmware et les fichiers générés.

IdentifiezAjoutez des identifiants stables

Utilisez des versions exactes, des hachages, des noms de fournisseur et des PURL là où ils sont disponibles.

ConsolidezFusionnez les données fournisseurs

Combinez les SBOM amont avec le code de première partie et le code d'intégration.

ArchivezConservez un enregistrement de version

Archivez le SBOM produit avec la version et la documentation technique.

SurveillezContinuez à corréler les CVE

Relancez la corrélation des vulnérabilités à mesure que de nouveaux avis et signaux d'exploitation apparaissent.

Si une étape est manuelle ou absente, le SBOM peut être valide en JSON tout en échouant à la question qu'un vérificateur pose réellement : quels composants figuraient dans le produit mis sur le marché ?

Ce qui compte pour les preuves SBOM

Le SBOM est une preuve produit, pas un actif marketing public
  • Utilisez un format lisible par machine couramment utilisé.
  • Couvrez au moins les dépendances de niveau supérieur, puis allez plus loin pour une gestion utile des vulnérabilités.
  • Conservez le SBOM avec la documentation technique et les preuves de version.
  • Ne supposez pas que le CRA impose un format unique, un type de hachage unique ou une publication publique.

Ce plancher légal n'est pas équivalent à un plancher utile pour la gestion des vulnérabilités. Un SBOM limité aux dépendances directes peut satisfaire la formule minimale sur les dépendances, tout en restant trop peu profond pour identifier rapidement les produits concernés. La BSI TR-03183, les orientations de l'ENISA, les recommandations CISA sur les SBOM et les pratiques actuelles des outils sont mieux lus comme des références de qualité qui aident les fabricants à rendre l'obligation CRA opérationnelle.

Erreur 1 : votre SBOM décrit l'arbre source, pas le produit que vous avez livré

Les manifestes source sont pratiques, mais ils ne constituent pas le produit. Une analyse source peut sur-reporter les dépendances de développement et manquer ce qui n'apparaît qu'après la compilation, le packaging, la mise en couche de conteneurs, l'édition de liens statiques ou l'intégration du firmware. Pour un fabricant, le SBOM doit répondre à la question : qu'est-ce qui figurait dans la version livrée, pas seulement ce qui était déclaré dans un fichier de paquets.

Cette distinction est particulièrement importante pour les produits embarqués et conteneurisés. Une analyse au niveau du langage peut manquer les paquets OS dans une couche de base de conteneur. Un export Yocto ou Buildroot peut manquer le firmware d'un fournisseur de silicium, les chargeurs d'amorçage, les modules noyau ou les blobs binaires entrés en dehors du système de build. Si ces composants font partie de l'artefact livré, ils appartiennent aux preuves de version, même lorsqu'un scanner de paquets automatisé ne peut pas les inférer.

Le correctif consiste à générer depuis l'artefact ou l'image de version finale, puis à comparer avec les sorties source et fichier de verrouillage. Pour les conteneurs, analysez l'image finale par digest. Pour le firmware, combinez la sortie SBOM du système de build avec une analyse binaire et des enregistrements manuels pour les composants que les outils ne peuvent pas identifier automatiquement.

Erreur 2 : l'absence de hachages et de PURL rend les composants impossibles à corréler

Un SBOM sans version précise, hachage, fournisseur et identifiants de paquets est difficile à utiliser pour la corrélation des vulnérabilités. Le fichier peut être lisible par machine, mais un scanner a toujours besoin d'une identité stable des composants pour décider si un CVE, un avis OSV, un GitHub Security Advisory ou une entrée CISA KEV s'applique.

Chaque composant doit comporter suffisamment d'identité pour résister à la corrélation automatisée :

Version exacte

Évitez « latest », les plages vagues et les noms de fork ambigus.

Champ d'identité principal
Hachage cryptographique

Reliez l'enregistrement à l'archive, l'image ou le binaire concret.

SHA-256 ou plus fort en pratique
Identifiant PURL

Faites correspondre les données de paquets des registres, OSV et sources de type GHSA.

Utilisez là où disponible
Nom du fournisseur

Distinguez les composants de même nom et le code propriétaire.

Utile pour chaque composant
Contexte de génération

Indiquez si le SBOM provient de la source, du build, de l'artefact, du système déployé ou de l'exécution.

Preuve de revue

Ce n'est pas uniquement une question d'hygiène. Le NIST a annoncé le 15 avril 2026 que l'enrichissement NVD est désormais priorisé pour certains CVE sélectionnés, car le volume de vulnérabilités a dépassé la capacité d'enrichissement complet. La corrélation par CPE seul devient ainsi une approche moins fiable pour les opérations de vulnérabilité futures. Utilisez le PURL là où il est disponible, conservez des hachages pour les artefacts livrés et ne traitez pas le seul nom d'un composant comme suffisant.

Une erreur de format courante est d'utiliser CycloneDX 1.3 ou antérieur. La prise en charge principale de VEX est arrivée dans CycloneDX 1.4, et la structure enrichie evidence des composants est arrivée dans CycloneDX 1.5. Pour la préparation CRA actuelle, ciblez CycloneDX 1.6 ou ultérieur, ou un profil SPDX actuel que vos outils peuvent consommer de manière fiable. Vérifiez la sortie de votre générateur avant de supposer que le format prend en charge les champs dont votre processus a besoin.

Erreur 3 : s'arrêter aux dépendances directes

Les dépendances directes constituent le plancher minimal du CRA. Elles ne suffisent pas pour une gestion utile des vulnérabilités. Une dépendance transitive est un composant tiré par un autre composant, et elle peut porter la vulnérabilité qui compte. Lorsqu'un CVE touche un paquet transitif que votre SBOM ne liste pas, le produit peut être concerné tandis que votre pipeline de corrélation reste silencieux.

SBOM dépendances directes uniquement vs couverture utile des dépendances Le plancher légal correspond aux dépendances de niveau supérieur. L'objectif opérationnel est une profondeur suffisante pour corréler les vulnérabilités réelles.
Directes uniquement
  • Version produit
  • Bibliothèque A listée
  • Bibliothèque D listée
  • Bibliothèque B et Bibliothèque C ne sont pas visibles par le scanner
Couverture utile
  • Version produit
  • Bibliothèque A listée
  • Bibliothèque B et Bibliothèque C liées sous Bibliothèque A
  • Bibliothèque D listée
Résultat de la revue
  • Moins de zones d'ombre
  • Le périmètre est plus facile à expliquer
  • Les versions concernées sont plus claires
  • Les décisions VEX disposent de meilleures preuves

Une étude à comité de lecture présentée à NDSS 2025, JBomAudit, a constaté que 7 907 des 25 882 SBOM Java examinés ne divulguaient pas au moins une dépendance directe. La leçon pratique est simple : si même les dépendances directes sont souvent manquantes, la couverture transitive exige des vérifications délibérées.

Pour y remédier, utilisez des fichiers de verrouillage là où l'écosystème les prend en charge, analysez les artefacts buildés en plus de la source et inspectez les paquets qui regroupent ou embarquent des dépendances. Traitez la couverture transitive comme une pratique de qualité d'audit, pas comme un réglage approximatif laissé aux valeurs par défaut d'un scanner.

Erreur 4 : traiter le SBOM comme un document ponctuel

Un SBOM généré une seule fois et jamais mis à jour crée un faux sentiment de sécurité. De nouveaux CVE sont publiés contre des composants déjà présents dans le produit. De nouvelles versions de firmware, des correctifs et des mises à jour fournisseurs font évoluer le produit. Le CRA exige également que la documentation technique soit continuellement mise à jour le cas échéant pendant la période d'assistance.

Déclencheurs de mise à jour courants :

Nouvelle versionRégénérez et archivez le SBOM de version

Utilisez l'artefact logiciel ou firmware que vous mettez sur le marché.

Correctif de sécuritéMettez à jour le SBOM et les preuves VEX/avis

La version du composant ou son état corrigé a changé.

Modification de composantRégénérez depuis la sortie du build

Le graphe de dépendances a changé parce qu'un composant a été ajouté, supprimé ou remplacé.

Mise à jour fournisseurRéconciliez les SBOM fournisseur et produit

L'identité du composant amont a changé : ne stockez pas le fichier fournisseur sans modification.

Modification de l'image de baseRé-analysez l'artefact livré

Les paquets OS ou les fichiers embarqués ont changé dans le binaire, le paquet firmware ou l'image conteneur.

Le CI/CD est le contrôle pratique. Chaque version doit produire un artefact SBOM à jour stocké aux côtés du build et lié à la documentation technique. Les entrées manuelles ne doivent exister que pour les composants que les outils ne peuvent pas détecter, et ces entrées nécessitent toujours une revue lorsque le produit change.

L'horloge de signalement de septembre 2026 récompense les SBOM à jour

À compter du 11 septembre 2026, le signalement prévu à l'article 14 s'applique aux vulnérabilités activement exploitées et aux incidents graves. Pour une vulnérabilité activement exploitée, le flux est le suivant : alerte précoce dans les 24 h, notification de vulnérabilité dans les 72 h, et rapport final au plus tard 14 jours après la disponibilité d'une mesure corrective ou d'atténuation. Un SBOM obsolète ralentit la première décision de triage.

Erreur 5 : exclure les composants internes, propriétaires et firmware

Un raccourci courant consiste à ne documenter que les dépendances open source et à omettre les bibliothèques internes, les modules commerciaux, le firmware propriétaire ou les blobs fournisseurs. Ce n'est pas un SBOM produit. Si un composant est livré dans le produit, il appartient au périmètre, même lorsqu'il n'a pas de page dans un registre public.

Les composants internes n'ont souvent pas de PURL dans un écosystème ni d'entrée dans un registre public. Utilisez un identifiant interne, votre propre organisation comme fournisseur le cas échéant, la version exacte ou l'identifiant de build, et le hachage de l'artefact binaire. Pour les composants commerciaux, conservez le nom du fournisseur, la version, les preuves de licence et les références contractuelles dans la documentation technique.

Pour les produits matériel-logiciel, c'est au niveau du firmware que cette problématique devient visible. Les modules Wi-Fi, les modems, les éléments sécurisés, les chargeurs d'amorçage, les binaires d'environnement d'exécution de confiance et les modules noyau hors arbre peuvent porter des vulnérabilités tout en restant invisibles pour les scanners de paquets au niveau du langage. Utilisez les SBOM fournisseurs là où ils sont disponibles, ajoutez des enregistrements manuels là où ils ne le sont pas, et utilisez l'analyse binaire comme vérification. Pour la partie matérielle du dossier de preuves, consultez le HBOM sous le CRA.

Erreur 6 : utiliser les SBOM fournisseurs comme artefact finalisé

Les SBOM fournisseurs sont des données d'entrée valides. Ils ne constituent pas votre SBOM produit finalisé. Le fabricant met le produit intégré sur le marché de l'UE. Le SBOM produit doit combiner les composants fournisseurs, le code de première partie, les sorties de build, le firmware, le code de liaison et les relations de dépendances propres au produit.

Le mode d'échec est facile à manquer : un fournisseur vous donne un fichier CycloneDX, un autre vous donne du SPDX, un troisième fournit un inventaire PDF, et le dossier produit final contient des liens vers les trois. Ce sont des preuves fournisseurs, pas un enregistrement produit unique. Un vérificateur doit toujours savoir quels composants figuraient dans la version produit 1.4.2.

Réconciliez plutôt que de copier. Fusionnez les SBOM fournisseurs dans le SBOM produit, normalisez les champs d'identité, documentez les inconnues identifiées et conservez les SBOM amont comme preuves complémentaires. Si un SBOM fournisseur manque de PURL, de hachage, de licence ou de version exacte, documentez la lacune et comblez ce que vous pouvez avant la livraison. Une URL vers un fichier amont n'équivaut pas à un SBOM produit intégré.

Erreur 7 : de nombreux SBOM, pas d'enregistrement produit unique

L'éparpillement du SBOM est l'étape suivante après l'adoption des outils. Il y a un SBOM applicatif, un SBOM conteneur, un SBOM firmware, plusieurs SBOM fournisseurs et une feuille de calcul gérée par un chef de produit. Aucun d'eux n'est la réponse de référence pour la version produit mise sur le marché.

Cela crée un risque d'audit et opérationnel. Lorsqu'une nouvelle vulnérabilité activement exploitée apparaît, l'équipe doit rechercher dans les fragments avant de pouvoir dire si le produit est concerné. Lorsqu'une autorité formule une demande motivée, le dossier de preuves ne doit pas dépendre de quelqu'un se rappelant quel dossier contient la dernière fusion.

Utilisez un SBOM produit de référence unique par version, avec les SBOM de composants complémentaires conservés en dessous. Conservez-le pendant au moins 10 ans après la mise sur le marché du produit, ou pendant la période d'assistance, selon la durée la plus longue. Stockez-le là où la version, la surveillance des vulnérabilités, les décisions VEX et la documentation technique peuvent toutes référencer la même version.

Questions fréquentes

Mon scanner affiche zéro vulnérabilité. Le SBOM est-il suffisant ?

Pas en soi. Un scan propre prouve uniquement que le scanner n'a pas corrélé de vulnérabilités connues avec les composants qu'il pouvait voir. Si le SBOM a été généré depuis les seuls manifestes source, manque de blobs firmware, est dépourvu de PURL ou de hachages, ou omet des composants fournisseurs, le résultat propre peut refléter un problème de couverture plutôt qu'un résultat de sécurité.

Devons-nous publier le SBOM ou le communiquer à chaque client ?

Non. Le CRA ne crée pas d'obligation générale de publier le SBOM. Conservez-le dans la documentation technique et soyez prêt à le fournir à une autorité de surveillance du marché sur demande motivée, lorsque cela est nécessaire pour vérifier la conformité. Vous pouvez choisir de partager des informations SBOM contractuellement avec des clients, mais c'est différent d'une obligation de publication générale au titre du CRA.

Quel est le minimum légal en matière de couverture des dépendances ?

Le texte du CRA exige que le SBOM couvre au moins les dépendances de niveau supérieur. C'est le plancher. Pour une gestion réelle des vulnérabilités, une couverture limitée aux dépendances directes est insuffisante, car beaucoup de vulnérabilités se trouvent dans des composants transitifs, regroupés ou reconditionnés. Construisez votre cible opérationnelle autour de l'artefact livré et des relations de dépendances, pas uniquement autour de la formule légale minimale.

Nous générons depuis la source. Est-ce suffisant ?

Généralement non. Les SBOM source sont utiles pour la revue de développement, mais les preuves produit doivent refléter ce qui a été livré. Générez depuis l'artefact ou l'image buildés, comparez avec les sorties fichier de verrouillage et source, et ajoutez des enregistrements manuels pour les composants que les outils automatisés ne peuvent pas inférer.

Notre fournisseur refuse de nous fournir un SBOM complet. Que faire ?

Commencez par le contrat et le processus d'achat. Si le fournisseur ne peut toujours pas fournir des données complètes, documentez les inconnues identifiées, collectez les champs que vous pouvez vérifier vous-même, ajoutez des hachages et des preuves de version pour les binaires livrés, et documentez la lacune dans le dossier technique. N'omettez pas silencieusement le composant du SBOM produit.

Que faire maintenant

  1. Choisissez une version produit représentative et comparez le SBOM source avec le SBOM de l'artefact buildé ou de l'image conteneur. Examinez chaque composant qui apparaît dans l'un mais pas dans l'autre.
  2. Auditez d'abord les champs d'identité : version exacte, fournisseur, hachage et PURL là où ils sont disponibles. Un composant qui ne peut pas être identifié de manière fiable ne peut pas être corrélé de manière fiable.
  3. Régénérez le SBOM dans le CI/CD à chaque version et stockez-le avec les preuves de version. Consultez CycloneDX vs SPDX pour le choix du format et la comparaison des outils.
  4. Utilisez les catégories de champs BSI TR-03183 comme référence de qualité, pas comme substitut à la lecture de l'obligation CRA elle-même.
  5. Connectez les SBOM de version à la surveillance des vulnérabilités avant le 11 septembre 2026. Si vous préférez ne pas construire ce pipeline depuis zéro, CRA Evidence prend en charge l'intégration CycloneDX/SPDX, le scoring de qualité SBOM et le suivi des vulnérabilités sur l'ensemble des versions de produits.