Points clés à retenir sur les outils SBOM:
  • Les SBOM vous aident à recenser chaque composant et dépendance de votre logiciel, ce qui facilite l'identification des vulnérabilités et des problèmes de licences.

  • Les outils SBOM open source existent en versions généralistes et spécifiques à un langage, vous permettant d'adopter celui qui convient à votre stack.

  • Privilégiez les outils SBOM prenant en charge des formats standards comme SPDX et CycloneDX, et capables de s'intégrer à votre processus de build ou à votre pipeline CI/CD.

  • Le bon outil SBOM dépend de votre langage, de votre environnement et du niveau d'automatisation souhaité pour la génération de SBOM.

Les dépendances open source accélèrent le développement mais créent des angles morts en matière de sécurité. Des langages populaires comme JavaScript et Python cumulent à eux deux plus d'un million de packages. Ainsi, on passe plus vite de l'idée au produit sans réinventer la roue à chaque étape.

Cependant, chaque dépendance externe introduit des risques potentiels. En effet, des vulnérabilités se nichent dans des composants tiers tandis que la gestion de multiples dépendances rend le suivi des versions et des usages de plus en plus complexe.

Établir une nomenclature logicielle (SBOM) permet de résoudre ce problème. Un SBOM répertorie toutes les pièces constituant votre logiciel, y compris les noms et versions des packages. Disposer d'un référentiel unique et fiable de vos dépendances vous permet, à vous comme à vos clients, de vérifier rapidement et efficacement les vulnérabilités potentielles et les problèmes de licences.

Vous souhaitez en savoir plus ? Cet article commence par un rappel rapide sur les SBOM, puis présente les meilleurs outils de génération disponibles.

Détectez les risques liés au code avant le déploiement

Découvrez comment Wiz Code analyse l’IaC, les conteneurs et les pipelines afin d’empêcher les mauvaises configurations et les vulnérabilités d’atteindre votre environnement cloud.

Pour plus d’informations sur la façon dont Wiz traite vos données personnelles, veuillez consulter notre Politique de confidentialité.

Qu'est-ce qu'un SBOM ?

Un SBOM est une liste, lisible par des systèmes comme par des humains, de tout votre inventaire logiciel. En pratique, un SBOM suit toutes les dépendances tierces que vous utilisez pour construire vos applications. Il fournit des informations clés : noms, numéros de version, dates de publication, sommes de contrôle (checksums), licences et informations sur chaque composant de votre application.

Pourquoi avez-vous besoin d'un SBOM ?

Les SBOM donnent aux équipes d'ingénierie un inventaire complet et à jour des composants tiers — noms, versions et licences — afin que vous puissiez évaluer l'impact des changements de code ou de licences et remonter rapidement les problèmes de sécurité, des Common Weakness Enumerations (CWE) avant publication jusqu'aux Common Vulnerabilities and Exposures (CVE) après publication.

Côté opérations, les SBOM permettent une gestion efficace des actifs. Ainsi, ils recensent les logiciels et licences utilisés — utile pour faire respecter des politiques comme l'exclusion de la GPL — et vous aident à identifier rapidement les risques de chaîne d'approvisionnement logicielle introduits par des dépendances.

Les SBOM sont aussi une exigence de conformité. En effet, l'Executive Order on Improving the Nation's Cybersecurity impose aux prestataires du gouvernement américain de fournir des SBOM pour les logiciels concernés, ce qui les rend obligatoires pour les fournisseurs travaillant avec le gouvernement fédéral.

Comment fonctionnent les outils SBOM ?

Les outils SBOM découvrent et recensent automatiquement tous les composants logiciels de vos applications. De nombreux outils d'analyse de composition logicielle (SCA) incluent des générateurs SBOM qui analysent votre codebase et créent des inventaires complets.

  • Analyse des manifestes : examine les fichiers manifestes (par ex. package.json ou Cargo.toml) pour lister les dépendances.

  • Analyse binaire : inspecte les binaires compilés pour retrouver tout code tiers traçable jusqu'à une bibliothèque spécifique.

  • Analyse hybride : combine analyse des manifestes et analyse binaire pour s'assurer qu'aucune dépendance ne passe entre les mailles du filet.

Comme indiqué, les SBOM existent dans divers formats lisibles à la fois par des machines et par des humains. Cette diversité permet de les analyser automatiquement et de vérifier rapidement, à la main, si vous utilisez une bibliothèque donnée.

Les formats SBOM les plus utilisés sont :

Conseil pro

l'agentless SBOM de Wiz vous permet d'obtenir une visibilité complète sur les composants de vos applications (packages, bibliothèques open source et dépendances imbriquées), sans angles morts et sans déployer d'agent.

Ce qu'il faut rechercher dans un outil SBOM

Lorsque vous choisissez un outil SBOM, gardez en tête les points suivants :

  • Formats pris en charge : assurez-vous que l'outil sait générer des SBOM aux formats SPDX ou CycloneDX, pour les utiliser avec d'autres outils ou pour la conformité.

  • Prise en charge des langages et des environnements : certains outils sont généralistes, d'autres conçus pour des langages ou écosystèmes spécifiques. Choisissez celui qui correspond à votre stack.

  • Intégration : privilégiez les outils capables de s'insérer dans votre pipeline CI/CD ou votre processus de build, afin que les SBOM restent toujours à jour.

  • Profondeur d'analyse : de bons outils SBOM savent analyser à la fois les manifestes et les binaires pour détecter les dépendances qui ne figurent pas forcément dans vos fichiers de packages.

  • Automatisation : les meilleurs outils automatisent la génération des SBOM pour éviter d'avoir à s'en souvenir manuellement.

  • Communauté et maintenance : les outils open source avec une communauté active ont plus de chances d'être maintenus à jour et de prendre en charge de nouveaux langages ou formats.

Réfléchissez à votre flux de travail et à ce qui facilitera le plus la gestion des SBOM pour votre équipe. Si vous devez couvrir plusieurs langages ou éviter l'installation d'agents, ciblez des outils flexibles et simples à mettre en place.

Outils SBOM open source

Après avoir vu ce que sont les SBOM, à quoi ils servent et comment ils fonctionnent, passons en revue les outils open source disponibles pour les générer.

Outils généralistes :

Outils spécifiques à un langage :

Outils SBOM généralistes

Commençons par les outils qui ne sont pas limités à un langage de programmation, listés sans ordre particulier :

1. Syft

Syft est un outil CLI open source qui génère des SBOM à partir d'images de conteneurs et de systèmes de fichiers. Il prend en charge des formats de conteneurs tels que OCI, Docker et Singularity, et peut détecter la distribution Linux utilisée. Syft prend en charge SPDX, CycloneDX et son propre format.

2. The SBOM tool

The SBOM tool est un générateur open source de Microsoft, conçu pour s'adapter à de grands projets et prendre en charge plusieurs gestionnaires de packages. Il s'appuie sur la bibliothèque de détection de composants de Microsoft, compatible avec divers gestionnaires de packages (NuGet, Go, npm, pip, Cargo, etc.). The SBOM tool génère des SBOM au format SPDX au moment du build.

3. Tern

Tern est un outil SCA capable de créer des SBOM à partir d'images de conteneurs et de Dockerfiles. Il se concentre sur la collecte d'informations de licences, et Tern indique ensuite, couche par couche, quelle image a introduit chaque dépendance. Tern prend en charge plusieurs formats de sortie, dont SPDX, CycloneDX, ainsi que des formats comme HTML ou YAML.

4. CycloneDX Generator

The CycloneDX Generator (cdxgen) est l'outil SBOM officiel de l'OWASP. Il prend en charge de nombreux langages (C/C++, JavaScript, Java, Python, Haskell, etc.). Il propose un CLI qui peut analyser en local ou dans un pipeline CI/CD, ainsi qu'un serveur d'API exposant un endpoint /bom pour obtenir le SBOM à la demande. Comme son nom l'indique, le format de sortie est CycloneDX.

5. SPDX SBOM Generator

Le SPDX SBOM Generator est un outil multilangage qui prend en charge plusieurs gestionnaires de packages comme pip, Cargo, npm, Go, Composer, RubyGems, et bien d'autres. Un excellent choix si vous cherchez un outil CLI qui produit des fichiers SPDX.

6. DISTRO2SBOM

DISTRO2SBOM est un générateur SBOM qui inspecte votre installation Linux pour recenser les packages installés. Il détecte automatiquement la distribution Linux utilisée et exporte des fichiers SPDX et CycloneDX.

Outils SBOM spécifiques à un langage

Passons ensuite à des outils SBOM populaires, spécialisés par langage :

7. Retire.js

Retire.js est un scanner de vulnérabilités JavaScript qui sait aussi générer des SBOM. Vous pouvez l'utiliser localement en CLI (dans votre pipeline CI/CD), et il propose également une extension Chrome pour analyser des sites web pendant la navigation. Il génère des SBOM au format CycloneDX.

8. bom

bom fait partie du projet Kubernetes (k8s) et permet de générer des SBOM pour vos dépendances Go dans les définitions de cluster k8s. bom génère des fichiers SPDX et peut identifier plus de 400 licences.

9. Jake

Un outil CLI qui vérifie les environnements Python à la recherche de vulnérabilités et génère des SBOM au format CycloneDX. Jake s'appuie sur le serveur Sonatype (versions open source et commerciale).

10. rebar3_sbom

En tant que générateur SBOM pour Erlang, cette solution utilise l'outil de build d'Erlang (Rebar) pour produire des SBOM au format CycloneDX.

11. sbom-rs

sbom-rs est une collection d'outils SBOM pour le langage Rust. Il prend en charge les formats SPDX et CycloneDX et embarque un scanner de vulnérabilités basé sur la base Open Source Vulnerabilities (OSV).

L'approche de Wiz pour les SBOM

Configurer des rapports SBOM planifiés pour plusieurs ressources

Wiz rend les SBOM continus, actionnables et prêts pour l'entreprise grâce à une approche agentless.

Wiz découvre automatiquement les composants logiciels à travers vos clouds, conteneurs, Kubernetes, VM et images, puis assemble des SBOM complets que vous pouvez utiliser pour la sécurité, la conformité et la réassurance client.

  • Agentless by design : inventaire continu sans surcharge de déploiement ; les SBOM restent à jour au rythme des changements de votre environnement.

  • Standards-first et portables : export CycloneDX ou SPDX avec les détails sur les packages, l'OS et les dépendances transitives.

  • Opérationnalisé à l'échelle : planifiez des rapports SBOM sur des ressources, exportez vers un stockage cloud (p. ex. Amazon S3) ou récupérez-les via API.

  • Contexte du code au cloud : corrélez les SBOM avec des vulnérabilités, des licences et des secrets exposés pour prioriser ce qui compte pour votre entreprise.

  • Intégré à la livraison : générez des SBOM au build, scannez des images dans des registres et suivez la dérive en comparant des SBOM d'une version à l'autre.

  • Prêt pour la conformité : produisez des artefacts auditables pour EO 14028 et les revues de chaîne d'approvisionnement logicielle.

Réservez une démo pour découvrir comment Wiz rationalise la génération de SBOM de bout en bout grâce à notre capacité d'agentless SBOM.

Détectez les risques liés au code avant le déploiement

Découvrez comment Wiz Code analyse l’IaC, les conteneurs et les pipelines afin d’empêcher les mauvaises configurations et les vulnérabilités d’atteindre votre environnement cloud.

Pour plus d’informations sur la façon dont Wiz traite vos données personnelles, veuillez consulter notre Politique de confidentialité.


Sélections d'outils associées