Générateurs de SBOM

Outils du niveau 1 : ils produisent l’inventaire d’un artefact. Voir Générer et piloter pour la distinction avec les plateformes.

Avertissement. Ces fiches décrivent des catégories d’outils et leurs propriétés structurantes, pas un état du marché à un instant donné. Couvertures, formats et performances évoluent ; toute décision doit reposer sur une évaluation menée sur vos propres artefacts.

Syft

Site github.com/anchore/syft
Éditeur Anchore
Licence Ouverte (Apache 2.0)
Niveau Génération
Formats CycloneDX, SPDX, format natif
Couverture Très large, multi-écosystèmes : paquets système, langages, images de conteneur, systèmes de fichiers
Vulnérabilités Non — c’est le rôle de Grype
Licences Métadonnées déclarées, pas d’analyse de fichiers
Déploiement Binaire autonome, auto-hébergé
Points forts Référence de fait pour la génération ; sortie propre ; excellente intégration en CI ; couvre à la fois le système de fichiers et l’image
Limites Ne détecte pas les licences par analyse de contenu ; couverture perfectible sur les binaires compilés natifs
Verdict Générateur de référence pour la majorité de vos chaînes

Grype

Site github.com/anchore/grype
Éditeur Anchore
Licence Ouverte
Niveau Détection, en aval de la génération
Entrée Un SBOM, une image, un répertoire
Sources Bases publiques agrégées, avis de distributions
Points forts Complémentaire de Syft ; consomme un SBOM déjà produit, donc évite de rescanner ; gère les rétroportages de distributions
Limites Pas d’analyse d’atteignabilité
Verdict Contrôle local en CI, en complément de la corrélation faite par la plateforme

Trivy

Site trivy.dev
Éditeur Aqua Security
Licence Ouverte
Niveau Génération et détection
Périmètre SBOM, vulnérabilités, secrets, mauvaises configurations d’infrastructure déclarative, licences déclarées
Formats CycloneDX, SPDX
Points forts Tout-en-un, très simple à intégrer, une seule commande couvre plusieurs contrôles ; base de vulnérabilités propre et fréquemment mise à jour
Limites Le tout-en-un rend les responsabilités moins nettes ; pour un dispositif mature, séparer génération et détection facilite le remplacement d’un maillon
Verdict Excellent point d’entrée et bon choix pour les chaînes simples ; à réévaluer une fois la plateforme de pilotage en place

cdxgen

Site github.com/cdxgen/cdxgen
Éditeur OWASP
Licence Ouverte
Niveau Génération
Formats CycloneDX natif, y compris les extensions
Couverture Très large en langages, y compris des écosystèmes peu couverts ailleurs
Points forts Profondeur d’analyse paramétrable ; produit des documents CycloneDX riches, avec relations et métadonnées de construction
Limites Configuration plus exigeante ; sortie volumineuse
Verdict À retenir pour les écosystèmes mal couverts par les générateurs génériques

osv-scanner

Site google.github.io/osv-scanner
Éditeur Google
Licence Ouverte
Niveau Détection
Source Base OSV, corrélation par purl
Points forts Précision d’appariement élevée grâce aux identifiants par écosystème ; réduit fortement les faux positifs par rapport à une corrélation par CPE
Limites Couverture centrée sur les écosystèmes de paquets ; moins pertinent sur les binaires systèmes exotiques
Verdict À utiliser en complément, précisément pour son taux de faux positifs bas

ScanCode Toolkit et OSS Review Toolkit

Site ScanCode · ORT
Éditeur Communautés open source
Licence Ouverte
Niveau Génération, orientée licences
Méthode Analyse du contenu des fichiers, pas seulement des manifestes
Points forts Détectent les licences et les copyrights dans le code, y compris pour du code vendorisé ou copié — ce que les générateurs génériques ne voient pas
Limites Lents ; sortie volumineuse nécessitant un travail de revue
Verdict Indispensables pour le volet propriété intellectuelle ; à exécuter à cadence réduite plutôt qu’à chaque construction

Plugins natifs des chaînes de construction

CycloneDX pour Maven et Gradle, npm sbom, générateurs pour .NET, Rust, Go, et leurs équivalents.

Points forts Voient le graphe de résolution réel, avec les arbitrages de versions effectivement retenus ; distinguent nativement les portées — exécution, compilation, test
Limites Un plugin par écosystème à maintenir ; ne voient rien en dehors de leur périmètre
Verdict À privilégier comme source primaire pour les langages à gestionnaire de dépendances, complétés par un générateur générique sur l’artefact

La combinaison recommandée

Contexte Primaire Contrôle croisé Licences
Java, .NET, Node, Python Plugin natif Générateur générique sur l’artefact Outil d’analyse de contenu, à cadence réduite
Go, Rust Générateur générique sur le binaire Idem
C / C++ Générateur sur le binaire + système de construction Analyse du système de fichiers Idem
Image de conteneur Générateur sur l’image Scanner tout-en-un Idem
Micrologiciel Outillage spécialisé Exigence de SBOM auprès du fournisseur Idem

Le principe : un générateur primaire par famille, figé et documenté, un contrôle croisé, et une analyse de licences distincte, moins fréquente.