Le SBOM (Software Bill of Materials) est l'inventaire structuré et machine-readable des composants logiciels, dépendances, bibliothèques et métadonnées d'un produit logiciel. C'est l'équivalent en software de la nomenclature (BOM) en industrie manufacturière. Le concept émerge fin 2010s mais explose à partir du 12 mai 2021 avec Executive Order 14028 « Improving the Nation's Cybersecurity » signé par Joe Biden post-incident SolarWinds (décembre 2020). L'EO impose aux fournisseurs du gouvernement fédéral US de fournir un SBOM avec leurs livrables. En Europe, EU Cyber Resilience Act (CRA) adopté en mars 2024 et applicable en décembre 2027 étend cette obligation à tous les fabricants de produits avec composants numériques vendus en UE, IoT, logiciels embarqués, applications, services managés. NIS2 transposée en France par ordonnance du 30 octobre 2024 et DORA applicable 17 janvier 2025 ajoutent des obligations supply chain. Deux formats dominent en 2026 : SPDX (Linux Foundation, ISO/IEC 5962:2021 depuis août 2021) et CycloneDX (OWASP, version 1.6 en 2024), les outils modernes (Syft Anchore, Trivy Aqua Security, cdxgen OWASP, Snyk SBOM, GitHub Dependency Graph SBOM Export, Microsoft sbom-tool) génèrent les deux. La couche VEX (Vulnerability Exploitability eXchange), OpenVEX CNCF, CycloneDX VEX depuis 1.4 (2022), OASIS CSAF VEX profile, réduit les 60-80 % de faux positifs de CVE non-exploitables matchées contre dépendances dormantes. Comprendre les standards SPDX/CycloneDX, l'intégration CI/CD, le rôle critique du VEX, les drivers réglementaires 2024-2027, et l'arbitrage open-source vs commercial est non-négociable pour tout éditeur logiciel sérieux en 2026.
Pour le contexte adjacent : voir CVE - Définition, format, processus pour les vulnérabilités matchées contre les dépendances SBOM, et SAST - Static Application Security Testing pour la couche analyse code complémentaire.
1. Définition précise et enjeu supply chain 2026
Un SBOM est plus qu'une liste de packages : c'est un objet structuré, signable, versionné qui contient :
| Élément | Définition | Exemple |
|---|---|---|
| Components | Liste des packages, libraires, modules | lodash@4.17.21, openssl@3.2.1 |
| Versions | Version exacte de chaque composant | 4.17.21 strict |
| Suppliers | Éditeur ou maintainer | npm registry / Apache Foundation |
| Licenses | Licence (MIT, Apache 2.0, GPL, etc.) | Critique pour compliance |
| Hashes | SHA-256 du composant | Vérification intégrité |
| Relationships | Dépendances directes vs transitives | app → express → body-parser → bytes |
| CPE / PURL | Identifiants standardisés | pkg:npm/lodash@4.17.21 (PURL) |
| Metadata | Date, auteur, contexte de génération | timestamp + commit_sha + author |
Le driver structurel 2024-2026 est la chaîne d'attaques supply chain documentées :
| Date | Incident | Impact | Apport SBOM |
|---|---|---|---|
| Décembre 2020 | SolarWinds Orion compromise | 18 000 organisations affectées dont gov US | SBOM aurait permis identification rapide des produits Orion-affectés |
| Décembre 2021 | Log4Shell (CVE-2021-44228) | Trillions devices exposés | SBOM aurait permis matching instantané vs scan complet 2-6 semaines |
| Mars 2024 | xz-utils backdoor (CVE-2024-3094) | Linux distros à 1 mois de prod | SBOM avec versions exactes = mitigation 24h vs 7-14 jours |
| Juillet 2023 | Storm-0558 Microsoft | Gov US accounts compromis | Indirect, SBOM service-side |
| Avril 2024 | HTTP/2 Continuation Flood (CVE-2024-27316) | Apache, NGINX, libcurl | SBOM permet identification rapide des produits affectés |
Sans SBOM, l'identification des produits affectés par une CVE supply chain prend 2-6 semaines dans une organisation 1000+ services. Avec SBOM continu + matching automatique, c'est 24-72 heures.
2. SPDX vs CycloneDX - les deux standards dominants 2026
2.1 SPDX (Software Package Data Exchange)
| Caractéristique | Détail |
|---|---|
| Maintainer | Linux Foundation |
| Origine | 2010, lancé par groupe open-source compliance |
| Standard ISO | ISO/IEC 5962:2021 depuis août 2021 |
| Format | JSON, YAML, RDF, XML, tag-value |
| Version 2026 | SPDX 3.0 (publiée 2024) |
| Force | Maturité, adoption gouvernementale (US gov, NIST), licensing focus |
| Limite | Moins riche en metadata sécurité que CycloneDX |
Exemple SPDX 3.0 minimal :
{
"spdxVersion": "SPDX-3.0",
"dataLicense": "CC0-1.0",
"SPDXID": "SPDXRef-DOCUMENT",
"name": "my-app-1.2.3",
"documentNamespace": "https://example.com/sbom/my-app-1.2.3",
"creationInfo": {
"created": "2026-05-02T09:00:00Z",
"creators": ["Tool: Microsoft.SBOM.Tool@2.0", "Organization: Example Corp"]
},
"packages": [
{
"SPDXID": "SPDXRef-Package-lodash",
"name": "lodash",
"versionInfo": "4.17.21",
"downloadLocation": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"filesAnalyzed": false,
"licenseConcluded": "MIT",
"supplier": "Organization: npm Inc.",
"checksums": [
{
"algorithm": "SHA256",
"checksumValue": "679591c564c3bffaae8454cf0b3df370c3d6911c9b1b9b9e2f9d4e34e5e87f12"
}
],
"externalRefs": [
{
"referenceCategory": "PACKAGE-MANAGER",
"referenceType": "purl",
"referenceLocator": "pkg:npm/lodash@4.17.21"
}
]
}
]
}2.2 CycloneDX (OWASP)
| Caractéristique | Détail |
|---|---|
| Maintainer | OWASP CycloneDX Project |
| Origine | 2017 |
| Format | JSON, XML, Protocol Buffers |
| Version 2026 | CycloneDX 1.6 (publiée 2024) |
| Force | Security-first, VEX intégré natif, supply chain attestations, ML-BOM (modèles ML) |
| Limite | Moins reconnu sur compliance gouvernementale historique |
CycloneDX 1.6 ajoute des extensions structurantes :
| Extension | Usage |
|---|---|
| VEX (Vulnerability Exploitability eXchange) | Contexte exploitabilité par CVE × produit |
| VDR (Vulnerability Disclosure Report) | Disclosure vulns pre-public |
| SaaSBOM | Inventaire services SaaS vs composants binaires |
| ML-BOM | Inventaire modèles machine learning + datasets |
| HBOM | Inventaire hardware (en émergence 2024-2026) |
| OBOM | Inventaire opérationnel (configurations runtime) |
| CBOM | Cryptography BOM (algorithmes crypto, key sizes, conformity post-quantum) |
2.3 Comparaison stratégique 2026
| Critère | SPDX | CycloneDX |
|---|---|---|
| Adoption gov US | Forte (NIST, Executive Order 14028) | Moyenne |
| Adoption AppSec moderne | Moyenne | Forte (OWASP, DevSecOps cloud-native) |
| VEX integration | Externe (CSAF) | Natif depuis 1.4 (2022) |
| ML-BOM / SaaSBOM | Pas natif | Natif depuis 1.5-1.6 |
| Tooling | Microsoft sbom-tool, Tern, syft | Trivy, syft, cdxgen, Snyk |
| Format dominant 2026 | JSON SPDX 3.0 | JSON CycloneDX 1.6 |
Position tranchée 2026 : générer CycloneDX 1.6 par défaut pour la chaîne sécurité interne (intégration VEX, ML-BOM, plus moderne), exporter SPDX 3.0 en parallèle pour compliance et tier customers gov US qui le demandent. Beaucoup d'outils (Syft, Trivy) génèrent les deux nativement, donc le coût marginal est nul.
3. Outils SBOM 2026
3.1 Génération SBOM
| Outil | Vendor | Force 2026 | Formats | Tarif |
|---|---|---|---|---|
| Syft | Anchore | OSS, multi-langage, scan filesystem + container + Kubernetes, ~30+ types packages | SPDX, CycloneDX, Syft natif | Gratuit |
| Trivy | Aqua Security | OSS, scan + SBOM en un, container + filesystem + repo + cloud | CycloneDX, SPDX | Gratuit |
| cdxgen | OWASP CycloneDX Project | OSS dédié CycloneDX, multi-langage | CycloneDX | Gratuit |
| Microsoft sbom-tool | Microsoft | OSS, intégration Azure DevOps, focus SPDX | SPDX | Gratuit |
| Snyk SBOM | Snyk | SaaS, intégration Snyk Open Source | CycloneDX, SPDX | Inclus Snyk |
| GitHub Dependency Graph SBOM Export | Microsoft / GitHub | Export SBOM des repos GitHub via UI ou API | SPDX | Gratuit GHAS |
| Tern | VMware | Container-focused, image layer analysis | SPDX | Gratuit |
| Black Duck (Synopsys spin-off 2024) | Black Duck | Enterprise SCA + SBOM | Multi-formats | Variable |
3.2 Stockage et SBOM management
| Outil | Type | Force 2026 |
|---|---|---|
| OWASP Dependency-Track | OSS | Plateforme SBOM + VEX management mature, communautaire forte |
| Sigstore (Cosign + Rekor) | OSS CNCF | Signing + transparency log pour SBOM signés |
| Anchore Enterprise | Commercial | SBOM enterprise + governance + compliance |
| Snyk | SaaS | Bundle SCA + SBOM management |
| Mend (ex-WhiteSource) | SaaS | SCA + SBOM + reachability analysis |
| Endor Labs | Commercial | SBOM + reachability native, IPO 2024 |
| GUAC (Graph for Understanding Artifact Composition) | OSS Sigstore | Graph DB pour SBOM cross-projet |
| Sonatype Lifecycle | Commercial | Nexus + SBOM enterprise |
3.3 VEX (Vulnerability Exploitability eXchange) outils
| Format | Spec | Outils |
|---|---|---|
| OpenVEX | CNCF Sandbox 2023, JSON minimaliste | vexctl, OpenVEX libraries Go/Python/JS |
| CycloneDX VEX | Depuis CycloneDX 1.4 (2022) | cdxgen, Dependency-Track |
| OASIS CSAF VEX profile | Common Security Advisory Framework | Anchore, Snyk, GitHub Advisory DB |
4. Pipeline SBOM CI/CD complet 2026
Pipeline mature en 6 étapes avec OSS stack :
# .github/workflows/sbom.yml
name: SBOM continuous generation + VEX
on:
push:
branches: [main]
tags: ['v*']
pull_request:
schedule:
- cron: '0 4 * * *' # Nightly re-match SBOM vs new CVE
permissions:
contents: read
packages: write
id-token: write # for Cosign keyless signing
jobs:
generate-sbom:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build container image
run: |
docker build -t ghcr.io/${{ github.repository }}:${{ github.sha }} .
# 1. Génération SBOM avec Syft
- name: Generate SBOM (CycloneDX + SPDX)
run: |
# Install Syft
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
# Generate CycloneDX (default for internal pipeline)
syft ghcr.io/${{ github.repository }}:${{ github.sha }} \
-o cyclonedx-json=sbom.cdx.json \
-o spdx-json=sbom.spdx.json
# 2. Vulnerability matching avec Grype
- name: Match SBOM against CVE database
run: |
curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin
grype sbom:sbom.cdx.json -o json > vulnerabilities.json
# 3. Sign SBOM avec Cosign + Rekor (transparency log)
- name: Sign SBOM with Cosign keyless
env:
COSIGN_EXPERIMENTAL: 1
run: |
curl -sSfL https://github.com/sigstore/cosign/releases/latest/download/cosign-linux-amd64 \
-o /usr/local/bin/cosign
chmod +x /usr/local/bin/cosign
# Sign avec OIDC (GitHub Actions identity)
cosign sign-blob --yes sbom.cdx.json \
--output-signature sbom.cdx.json.sig \
--output-certificate sbom.cdx.json.cert
# 4. Attach SBOM au container image
- name: Attach SBOM to container image
run: |
cosign attach sbom \
--sbom sbom.cdx.json \
--type cyclonedx \
ghcr.io/${{ github.repository }}:${{ github.sha }}
# 5. Upload SBOM dans Dependency-Track pour management long terme
- name: Upload SBOM to Dependency-Track
run: |
curl -X POST "${DTRACK_URL}/api/v1/bom" \
-H "X-API-Key: ${DTRACK_API_KEY}" \
-H "Content-Type: multipart/form-data" \
-F "project=my-app-prod" \
-F "bom=@sbom.cdx.json"
# 6. Generate VEX statements pour les CVE matched mais not_affected
- name: Generate VEX statements with vexctl
run: |
go install github.com/openvex/vexctl@latest
# Pour chaque CVE FP connue, ajouter VEX statement
vexctl create --product=pkg:oci/my-app@${{ github.sha }} \
--vuln=CVE-2024-49872 \
--status=not_affected \
--justification="vulnerable_code_not_in_execute_path" \
--impact-statement="Library X est inclus mais le code vulnérable Y n'est jamais appelé" \
--file=vex-statements/cve-2024-49872.openvex.json
# Sign VEX statements
for vex in vex-statements/*.openvex.json; do
cosign sign-blob --yes "$vex"
done
gate-decision:
needs: generate-sbom
runs-on: ubuntu-latest
steps:
- name: Gate on critical CVEs after VEX filtering
run: |
# Match SBOM × VEX statements × CISA KEV
# Bloquer si CVE Critical ET VEX != not_affected ET CVE in CISA KEV
./scripts/sbom-gate.sh5. Drivers réglementaires SBOM 2024-2027
| Régulation | Date clé | Impact SBOM |
|---|---|---|
| Executive Order 14028 | Signé 12 mai 2021 (Biden) | SBOM obligatoire pour fournisseurs gov US |
| NIST SP 800-218 SSDF | Publication 2022 | SBOM dans Secure SDF practices PW.4 |
| NIST IR 8425 | Septembre 2022 | IoT Device Cybersecurity, SBOM intégré |
| CISA SBOM Minimum Elements | Juillet 2021 | 7 éléments minimaux SBOM |
| CISA Secure by Design pledge | Mai 2024 | Engagement vendor SBOM + transparency |
| EU Cyber Resilience Act (CRA) | Adopté mars 2024, applicable décembre 2027 | SBOM obligatoire produits avec composants numériques en UE |
| NIS2 | Transposée FR octobre 2024 | Article 21.2.d supply chain risk management |
| DORA (UE) | Applicable 17 janvier 2025 | Article 28-30 third-party risk management |
| PCI-DSS v4.0 | Mandatory mars 2025 | Requirement 6.3.2 (inventaire composants logiciels) |
| FDA Premarket Cybersecurity | Septembre 2023 | SBOM obligatoire dispositifs médicaux US |
Position tranchée 2026 : pour tout éditeur logiciel vendant en UE ou aux US, le SBOM est non-négociable d'ici 2027, pas pour la conformité immédiate (CRA mandatory décembre 2027), mais parce que les clients enterprise demandent déjà le SBOM lors des appels d'offres et audits tierce partie. Ne pas avoir de SBOM en 2026 = perte de deals en sales cycle.
6. SBOM minimal selon CISA - les 7 éléments obligatoires
CISA a défini en juillet 2021 les 7 éléments minimaux d'un SBOM acceptable :
| # | Élément | Description |
|---|---|---|
| 1 | Author | Qui a généré le SBOM |
| 2 | Timestamp | Quand il a été généré |
| 3 | Supplier name | Éditeur de chaque composant |
| 4 | Component name | Nom du composant |
| 5 | Version | Version exacte |
| 6 | Unique identifier | PURL, CPE, ou autre ID standard |
| 7 | Dependency relationship | Direct vs transitif |
Tous les outils modernes (Syft, Trivy, cdxgen) génèrent ces 7 éléments par défaut. Un SBOM qui manque l'un d'eux est non-conforme aux exigences CISA / NIST / NTIA.
7. VEX et réduction des faux positifs
Sans VEX, un SBOM avec 500 dépendances génère typiquement 30-100 CVE matches, dont 60-80 % sont des faux positifs (lib présente mais code vulnérable non-appelé). Les développeurs perdent alors 30-90 minutes par CVE pour investiguer.
VEX statements documentent par CVE × produit quatre statuts possibles :
| Statut VEX | Définition | Action |
|---|---|---|
| not_affected | La vuln existe mais n'est pas exploitable dans ce produit | Suppress alert + justification |
| affected | La vuln existe et est exploitable | Patch obligatoire SLA-bound |
| fixed | La vuln a été corrigée | Confirmer version patched |
| under_investigation | Statut indéterminé en cours d'analyse | Triage tier 2 |
Exemple OpenVEX statement :
{
"@context": "https://openvex.dev/ns/v0.2.0",
"@id": "https://example.com/vex/cve-2024-3094-myapp-2026-05-02",
"author": "Example Corp Security Team",
"timestamp": "2026-05-02T09:00:00Z",
"version": 1,
"statements": [
{
"vulnerability": {
"name": "CVE-2024-3094",
"@id": "https://nvd.nist.gov/vuln/detail/CVE-2024-3094"
},
"products": [
{
"@id": "pkg:oci/myapp:2.3.1",
"subcomponents": [
{ "@id": "pkg:deb/debian/xz-utils@5.6.1" }
]
}
],
"status": "not_affected",
"justification": "vulnerable_code_not_in_execute_path",
"impact_statement": "xz-utils est dans l'image base mais sshd n'est pas activé sur ce conteneur (port 22 fermé, service disabled). La backdoor CVE-2024-3094 nécessite sshd actif pour être exploitée."
}
]
}Position tranchée 2026 : un programme SBOM sans pipeline VEX automatique est incomplet. Adopter OpenVEX (CNCF Sandbox) comme format pivot interne, exporter en CycloneDX VEX ou CSAF VEX selon besoin compliance.
8. Erreurs fréquentes SBOM et anti-patterns
| Erreur | Symptôme | Fix |
|---|---|---|
| SBOM généré une fois au release | Obsolète dès la prochaine dépendance ajoutée | Génération continue à chaque build CI |
| Pas de signing SBOM | Tampering possible, audit trail faible | Sign avec Cosign + Sigstore Rekor |
| Pas de VEX | 60-80 % FP sur CVE matched | Pipeline OpenVEX + Dependency-Track |
| Format mono (SPDX OU CycloneDX) | Compliance ou intégration loupée | Générer les deux (Syft, Trivy le font nativement) |
| Pas de matching CVE continu | CVE découverte non-détectée | Re-match nightly contre OSV.dev + NVD + GHSA |
| Pas de stockage centralisé | SBOM perdus, pas d'historique | OWASP Dependency-Track ou Anchore Enterprise |
| SBOM stocké dans le repo Git | Bloat, pas de versioning blob | Container OCI attached SBOM ou registry dédié |
| Pas de PURL ou CPE | Matching CVE imprécis | Toujours inclure PURL + CPE dans chaque component |
| Pas de signing du SBOM par vendor | Tier customers ne font pas confiance | Cosign keyless OIDC + transparency log Rekor |
| Pas de mapping NIST SSDF | Compliance gov manquée | Tagger SBOM avec NIST SSDF practice mapping |
9. ROI mesurable et tarification 2026
ROI typique d'un programme SBOM mature en 2026 :
| Métrique | Sans SBOM | Avec SBOM mature 2026 |
|---|---|---|
| MTTR sur CVE supply chain critique | 9-12 semaines | 24-72 heures |
| Identification produits affectés (CVE-2021-44228 type) | 2-6 semaines | < 1 heure |
| Audit annuel reconstitution inventaire | 30-50 jours-homme | 0 jours (auto) |
| Volume FP CVE supply chain | 60-80 % | < 20 % avec VEX |
| Adoption developer triage | 30-60 min/finding | 5-15 min/finding |
| Compliance documentation | Reconstruction manuelle | Export automatique |
Calcul TCO réaliste 2026 pour 100 développeurs + 200 services :
| Stack | Coût annuel | Effort ETP |
|---|---|---|
| OSS pure (Syft + Trivy + Dependency-Track + OpenVEX + Cosign) | 0 € licence + infra | 0.5-1 ETP DevSecOps |
| Snyk Open Source + SBOM | 60-150 k€/an | 0.3-0.5 ETP |
| Mend (ex-WhiteSource) | 50-120 k€/an | 0.3-0.5 ETP |
| Anchore Enterprise | 80-200 k€/an | 0.3-0.5 ETP |
| Sonatype Lifecycle | 100-300 k€/an | 0.3-0.5 ETP |
| Endor Labs (reachability + SBOM) | 80-250 k€/an | 0.2-0.4 ETP |
Position tranchée 2026 : pour PME/ETI, stack OSS Syft + Trivy + Dependency-Track est rarement contestable, ROI immédiat, formats portables, communauté forte. Pour grandes orgs avec compliance forte (banking, healthcare, gov), Snyk + Mend ou Anchore Enterprise justifient le coût avec support et governance UI riche.
10. Pour aller plus loin
- CVE - Définition, format, processus, vulnérabilités matchées contre les composants SBOM.
- CVSS - Scoring vulnérabilités v3.1 vs v4.0, scoring des CVE matched dans le SBOM.
- CWE - Common Weakness Enumeration, taxonomie utilisée dans VEX justifications.
- SAST - Static Application Security Testing, couche analyse code complémentaire.
- DAST - Dynamic Application Security Testing, couche analyse runtime complémentaire.
- Bootcamp DevSecOps, formation 12 semaines couvrant SBOM, VEX, supply chain.
- Hub catégorie Glossaire cyber, autres définitions de référence Zeroday.
- CycloneDX (OWASP) : https://cyclonedx.org/.
- SPDX (Linux Foundation) : https://spdx.dev/.
- Syft (Anchore) : https://github.com/anchore/syft.
- OWASP Dependency-Track : https://dependencytrack.org/.
- OpenVEX (CNCF Sandbox) : https://openvex.dev/.
- CISA SBOM resources : https://www.cisa.gov/sbom.
- Executive Order 14028 (12 mai 2021) : https://www.whitehouse.gov/briefing-room/presidential-actions/2021/05/12/executive-order-on-improving-the-nations-cybersecurity/.
- EU Cyber Resilience Act : https://digital-strategy.ec.europa.eu/en/policies/cyber-resilience-act.
- NIST SP 800-218 SSDF : https://csrc.nist.gov/pubs/sp/800/218/final.
11. Points clés à retenir
- SBOM = inventaire structuré et machine-readable des composants, dépendances, licences, hashes d'un produit logiciel.
- Drivers structurels : SolarWinds (déc 2020), Log4Shell (déc 2021), xz-utils (mars 2024 CVE-2024-3094) ont révélé l'urgence supply chain.
- Executive Order 14028 signé Joe Biden le 12 mai 2021 = trigger réglementaire majeur pour SBOM aux US.
- EU Cyber Resilience Act (CRA) adopté mars 2024, mandatory décembre 2027, SBOM obligatoire pour produits numériques vendus en UE.
- Deux formats dominants : SPDX (Linux Foundation, ISO/IEC 5962:2021) et CycloneDX (OWASP, version 1.6 en 2024). Stack moderne = générer les deux.
- CycloneDX 1.6 extensions : VEX (1.4+), VDR, SaaSBOM, ML-BOM, HBOM, OBOM, CBOM (Crypto Bill of Materials post-quantum).
- Outils OSS 2026 : Syft (Anchore), Trivy (Aqua), cdxgen (OWASP), OWASP Dependency-Track, Cosign (Sigstore), OpenVEX (CNCF Sandbox 2023).
- Outils commerciaux : Snyk SBOM, Mend, Anchore Enterprise, Sonatype Lifecycle, Endor Labs (IPO 2024 avec reachability).
- VEX (Vulnerability Exploitability eXchange) réduit les 60-80 % de faux positifs CVE supply chain. OpenVEX (CNCF) format pivot recommandé.
- CISA SBOM Minimum Elements (juillet 2021) : 7 champs obligatoires (Author, Timestamp, Supplier, Component name, Version, Unique ID, Dependency).
- MTTR sur CVE supply chain : 9-12 semaines sans SBOM → 24-72 heures avec SBOM continu + VEX + Dependency-Track.
- Tarification 2026 : stack OSS pure 0 € + 0.5-1 ETP ; commercial 50-300 k€/an pour 100 développeurs + 200 services.
- Anti-pattern n°1 : SBOM généré une fois au release → obsolète. Génération continue à chaque build CI obligatoire.
- Anti-pattern n°2 : pas de VEX → 60-80 % FP ingérable. OpenVEX + Dependency-Track non-négociables en 2026.
- Compliance : SBOM mappe Executive Order 14028, NIST SP 800-218 SSDF (PW.4), EU CRA (mandatory 2027), NIS2 article 21.2.d, DORA articles 28-30, PCI-DSS v4.0 Req 6.3.2, FDA medical devices (septembre 2023).






