Retour au journal

Open source et développement

SBOM : transformer la liste des dépendances en inventaire exploitable

Une SBOM aide à retrouver un composant touché. Relier inventaire, artefact et déploiement pour décider vite sans confondre présence et exposition.

19 septembre 20267 min de lecturePar Samir Varga
SBOM : transformer la liste des dépendances en inventaire exploitable

Ce qu’il faut retenir

  • Une SBOM décrit les composants d’un logiciel et leurs relations. Elle ne certifie pas l’absence de vulnérabilité.
  • L’inventaire doit être rattaché à un artefact précis, puis aux déploiements qui l’utilisent.
  • L’alerte devient utile quand elle conduit à un propriétaire, une analyse d’exposition et une correction vérifiée.

Une vulnérabilité concerne une bibliothèque dont personne ne reconnaît le nom. Le dépôt principal ne la déclare pas directement, mais un paquet secondaire l’embarque. L’équipe ouvre les fichiers de dépendances, compare plusieurs versions et cherche les services encore actifs. Le temps perdu ne vient pas seulement de la faille : il vient de l’incapacité à répondre simplement à « où utilisons-nous ce composant ? ».

Un inventaire avec des relations, pas une attestation de sécurité

SBOM signifie Software Bill of Materials, ou nomenclature des composants logiciels. CycloneDX décrit un inventaire structuré avec composants, versions et relations de dépendance. Des formats lisibles par les outils permettent de transmettre cette information entre développement, exploitation et sécurité. Le document décrit ce qui a été identifié ; il n’élimine ni les erreurs de détection ni les zones non couvertes.

Un fichier de verrouillage du gestionnaire de paquets apporte une première vue, mais ne représente pas nécessairement l’artefact livré. Le build peut embarquer des binaires, exclure des dépendances de développement ou télécharger d’autres éléments. L’image finale ajoute son système de base. Le périmètre doit donc être annoncé : sources, build, image, paquet installé ou ensemble de services. Une liste précise sur un périmètre étroit vaut mieux qu’une promesse de complétude invérifiable.

Cette distinction prolonge les arbitrages de notre analyse de l’open source en PME. Accéder au code ne suffit pas pour comprendre ce qui tourne réellement. L’inventaire relie les choix de composants à leur entretien concret, sans assimiler logiciel libre et logiciel automatiquement maîtrisé.

Identifier le composant et le logiciel qui l’embarque

Le nom et la version sont nécessaires, mais parfois ambigus. Deux écosystèmes peuvent utiliser le même nom ; un fournisseur peut maintenir une version corrigée sans changer son numéro de la même façon que l’amont. Les identifiants normalisés, les empreintes et les références au paquet aident au rapprochement. Leur qualité importe davantage que le nombre de lignes exportées.

Chaque inventaire est associé à l’artefact qu’il décrit : image par digest, archive par empreinte ou paquet par identifiant immuable. Une SBOM produite lundi et un déploiement reconstruit mercredi ne sont pas interchangeables, même s’ils partagent un numéro commercial. Le registre conserve la relation entre commit, build, artefact et inventaire. L’exploitation ajoute la relation entre cet artefact et les environnements actifs.

À quel moment générer la nomenclature ?

Une génération dans la chaîne de livraison rend l’opération régulière. Elle doit échouer de façon visible si l’outil ne peut pas analyser le périmètre attendu. Scanner l’image finale complète la lecture des dépendances applicatives. La stratégie peut combiner plusieurs vues, à condition de conserver leur origine et d’éviter les fusions qui effacent des incertitudes.

Le document reçoit sa date de génération, le nom de l’outil et le périmètre analysé. Une mise à jour du logiciel produit un nouvel inventaire. La version précédente reste disponible pour les déploiements qui l’utilisent encore. Regénérer un document à partir d’un dépôt actuel ne reconstitue pas forcément celui d’un ancien binaire ; il faut conserver la preuve au moment de la fabrication.

Une bibliothèque indirecte dans trois services

Exemple hypothétique : une application de facturation et deux services d’import partagent une bibliothèque de traitement XML, introduite par des dépendances différentes. Une alerte touche une plage de versions. L’équipe interroge les inventaires, retrouve les digests concernés et confirme que deux de ces artefacts sont encore déployés. Le troisième n’existe plus en production, mais demeure dans un environnement de reprise.

La présence du composant déclenche une analyse. Accepte-t-il des fichiers non fiables ? Le chemin vulnérable est-il accessible ? Un correctif fournisseur existe-t-il ? Peut-on désactiver la fonction exposée pendant la mise à jour ? Répondre « le scanner ne voit pas d’exploitation » ne démontre pas l’absence d’exposition. À l’inverse, traiter tous les composants présents comme également urgents dilue la priorité.

Le propriétaire du service décide d’une mesure temporaire, prépare la version corrigée, puis vérifie l’artefact livré et le comportement d’import. L’inventaire de la nouvelle version confirme le remplacement. La clôture de l’incident exige aussi la preuve du déploiement : corriger le fichier de dépendances laisse intacte une ancienne image toujours en service.

De l’alerte au résultat vérifié

QuestionInformation nécessaireDécision rendue possible
Le composant est-il présent ?Identité et versionIdentifier les artefacts concernés
Où tourne l’artefact ?Digest et inventaire des déploiementsLimiter le périmètre opérationnel
La fonction est-elle exposée ?Configuration et chemins d’entréePrioriser la mesure de protection
La correction est-elle active ?Nouvelle SBOM et preuve de déploiementClore ou poursuivre le traitement

Les angles morts à rendre visibles

Les extensions chargées à l’exécution, les scripts copiés manuellement et les services externes échappent parfois à un scan statique. Les composants vendus sous forme de binaire propriétaire demandent une information fournisseur ou une analyse adaptée. Une bonne politique indique ces limites. Elle ne remplit pas les cases inconnues avec un nom approximatif pour donner une impression de maîtrise.

L’absence d’un composant dans un inventaire ne prouve son absence du système que si le périmètre et la méthode permettent cette conclusion. La nomenclature n’évalue pas non plus les mauvaises configurations, les droits excessifs ni les secrets exposés. Ces risques restent présents dans les architectures de sécurité des agents, même avec une chaîne de dépendances soigneusement décrite.

Les inventaires contiennent parfois des informations sensibles sur l’architecture interne. Leur diffusion doit suivre les besoins des clients, des partenaires et des équipes, avec un contrôle approprié. La transparence sur les composants ne justifie pas la publication de noms d’infrastructure privée, de chemins internes ou de secrets. Un document transmis à un client conserve un périmètre et une identité d’artefact compréhensibles.

Commencer sur un service critique

Une PME n’a pas besoin d’un portail complexe pour démarrer. Elle peut générer la SBOM d’un artefact critique, la stocker avec ses métadonnées de build et établir la liste des environnements où il est actif. Un exercice sur une vulnérabilité connue teste ensuite la recherche du composant, l’assignation à un propriétaire et la preuve de correction. Les outils se choisissent à partir de cette capacité, pas de leur catalogue de formats.

Le processus se mesure avec le délai pour retrouver les artefacts concernés, les composants sans identité exploitable et les déploiements sans inventaire rattaché. Un objectif de « 100 % de SBOM produites » ne suffit pas si personne ne peut répondre à l’alerte. La mesure doit suivre le chemin vers une décision et un résultat, comme dans l’exploitation de données pour décider.

La prochaine action utile consiste à choisir un composant indirect de votre service principal et à démontrer où il est déployé aujourd’hui. Si la réponse exige une enquête manuelle dans plusieurs dépôts, le premier chantier est la relation entre nomenclature, artefact et environnement.

Sources et références

Mise à jour du 1er octobre 2026 : références vérifiées à cette date. Les mécanismes décrits sont durables ; les options exactes restent à vérifier dans la version du produit utilisée.