
Analyse les Software Bills of Materials (SBOM) pour les vulnérabilités de sécurité

bomber est une application qui analyse les SBOM pour détecter les vulnérabilités de sécurité.
Vous avez donc demandé à un fournisseur une nomenclature logicielle (SBOM) pour l'un de ses produits propriétaires, et il vous en a fourni une dans un fichier JSON… et maintenant ?
La première chose à faire est de vérifier si certains des composants listés dans le SBOM présentent des vulnérabilités de sécurité, et quels types de licences ces composants ont. Cela vous aidera à identifier le risque que vous prenez en utilisant ce produit.
Trouver les vulnérabilités de sécurité et les informations de licence pour les composants identifiés dans un SBOM, c'est exactement ce que bomber est conçu pour faire. bomber peut lire tout format JSON ou XML basé sur CycloneDX, ou un SBOM au format JSON SPDX ou Syft, et vous dire assez rapidement s'il y a des vulnérabilités.
Le logiciel peut être open source ou propriétaire. Vous pouvez considérer les composants tiers que vous trouvez sur GitHub ou tout dépôt public comme open source. Techniquement, le logiciel que vous créez en interne dans votre entreprise est aussi open source – il n'est pas public, mais vos équipes internes peuvent le voir. Le logiciel propriétaire peut aussi être interne, mais il s'agit généralement de logiciels que vous achetez auprès de fournisseurs externes.
Les entreprises peuvent utiliser des outils SCA fournis par des vendeurs tels que GitHub, Sonatype, Snyk, etc., pour analyser tout type d'open source et fournir des données de vulnérabilité – et même générer des SBOM dans certains cas. Ce qu'ils ne peuvent pas faire (pour l'instant…) c'est analyser un logiciel propriétaire auquel vous n'avez pas accès. C'est là que les SBOM et bomber entrent en jeu. Les SBOM fournissent la composition de logiciels auxquels vous ne pouvez pas accéder, et bomber détermine si quelque chose dans le SBOM présente des vulnérabilités.
Nous avons créé bomber pour analyser les SBOM propriétaires que vous recevez de vos fournisseurs. Il peut aussi analyser les SBOM open source, et techniquement vous pourriez utiliser bomber comme un outil SCA open source si vous le souhaitez.
Il existe plusieurs formats SBOM aujourd'hui. bomber supporte les suivants :

bomber supporte plusieurs sources d'informations sur les vulnérabilités. Nous appelons ces sources fournisseurs. Actuellement, bomber utilise OSV comme fournisseur par défaut, mais vous pouvez aussi utiliser la Base de données d'avis GitHub, l'Index OSS de Sonatype, ou Snyk.
Veuillez noter qu'à l'heure actuelle, OSV est gratuit et ne nécessite aucun identifiant, l'Index OSS de Sonatype est gratuit mais nécessite de s'inscrire et d'obtenir un jeton, et le support de Snyk nécessite une licence Snyk.
En plus des données que bomber collecte auprès des fournisseurs, il enrichit également les données de vulnérabilité avec des informations supplémentaires comme les probabilités d'exploitation.
Veuillez noter que chaque fournisseur supporte des écosystèmes différents, donc si vous ne voyez aucune vulnérabilité avec l'un, essayez un autre. Un écosystème est simplement le gestionnaire de paquets ou le type de paquet. Par exemple : rpm, npm, gems, etc. Il est important de comprendre que chaque fournisseur peut signaler des vulnérabilités différentes. En cas de doute, regardez-en plusieurs.
Si bomber ne trouve aucune vulnérabilité, cela ne signifie pas qu'il n'y en a pas. Cela signifie simplement que le fournisseur utilisé n'en a pas détecté, ou qu'il ne supporte pas l'écosystème. Certains fournisseurs renvoient des vulnérabilités sans information de sévérité. Dans ce cas, la sévérité sera indiquée comme "UNDEFINED".
La documentation des fournisseurs pour bomber se trouve ici :
Vous pouvez utiliser Homebrew pour installer bomber en utilisant les commandes suivantes :
brew tap devops-kung-fu/homebrew-tap
brew install devops-kung-fu/homebrew-tap/bomber
Si vous n'avez pas Homebrew, vous pouvez toujours télécharger la dernière version (ex : bomber_0.4.1_darwin_all.tar.gz), extraire les fichiers de l'archive et utiliser le binaire bomber.