Nomenclature Logicielle (SBOM)
Une Nomenclature (BOM) est une liste de matériaux, de pièces et des quantités de chacun nécessaires pour fabriquer un produit. Par exemple, une nomenclature pour un ordinateur peut lister la carte mère, le processeur, la RAM, l'alimentation, les périphériques de stockage, le boîtier et d'autres composants, ainsi que les quantités de chacun nécessaires pour construire l'ordinateur.
Une Nomenclature Logicielle (SBOM) est une liste de tous les composants qui constituent un logiciel. Cela inclut les composants open source et tiers, ainsi que tout code personnalisé qui a été écrit pour le logiciel. Un SBOM est similaire à une nomenclature pour un produit physique, mais pour un logiciel.
Dans le contexte de la sécurité de la chaîne d'approvisionnement logicielle, les SBOM peuvent aider à identifier et à atténuer les risques de sécurité et de conformité dans les logiciels. En sachant exactement quels composants sont utilisés dans un logiciel, vous pouvez rapidement identifier et corriger les vulnérabilités dans vos composants, ou déterminer si un composant est sous licence d'une manière incompatible avec votre projet.
Contenu d'un SBOM
Un SBOM inclut généralement les informations suivantes :
- Le nom du logiciel, tel que le nom d'une bibliothèque ou d'un framework, que le SBOM décrit.
- La version du logiciel.
- La licence sous laquelle le logiciel est distribué.
- Une liste d'autres composants dont le logiciel dépend.
Comment Docker Scout utilise les SBOM
Docker Scout utilise les SBOM pour déterminer les composants qui sont utilisés dans une image Docker. Lorsque vous analysez une image, Docker Scout utilisera soit le SBOM qui est attaché à l'image en tant qu'attestation, soit il générera un SBOM à la volée en analysant le contenu de l'image.
Le SBOM est croisé avec la base de données des avis pour déterminer si l'un des composants de l'image présente des vulnérabilités connues.