SBOM (Software Bill of Materials)
DevOps 🟡 MidDéfinition
Inventaire formel de tous les composants d'un logiciel (paquets, versions, licences, empreintes), au format machine. Deux standards dominent : CycloneDX, de l'OWASP, normalisé ECMA-424 (1.6 en juin 2024, 1.7 en décembre 2025), et SPDX, de la Linux Foundation, normalisé ISO/IEC 5962:2021. Il permet de savoir en minutes si l'on est touché par une vulnérabilité de dépendance, et répond à la catégorie A03:2025 « Software Supply Chain Failures » de l'OWASP.
Analogie
La liste des ingrédients sur un emballage : en cas de rappel d'un lot de farine, on sait immédiatement quels gâteaux retirer des rayons.
Exemple de code
# Générer un SBOM CycloneDX à partir du lockfile npm
npx @cyclonedx/cyclonedx-npm --output-file sbom.cdx.json
# Ou depuis une image Docker (Syft), au format SPDX
syft ghcr.io/acme/api:1.4.0 -o spdx-json > sbom.spdx.json
# Docker Buildx peut attacher le SBOM à l'image
docker buildx build --sbom=true -t ghcr.io/acme/api:1.4.0 --push .
# Scanner le SBOM contre les CVE connues (Grype)
grype sbom:sbom.cdx.json --fail-on high
Cas d'usage
Réagir vite à une CVE type Log4Shell, répondre aux exigences clients ou réglementaires, alimenter le scan de vulnérabilités en CI.
Anti-pattern
Termes liés
Sources
Fiche mise à jour le 2026-09-27