OWASP & AppSec

Qu'est-ce qu'un SBOM ? Software Bill of Materials

SBOM 2026 : définition, SPDX/CycloneDX, Executive Order 14028, Cyber Resilience Act UE, Syft/Grype, cas Log4Shell et xz-utils, intégration DevSecOps.

Naim Aouaichia
15 min de lecture
  • SBOM
  • SPDX
  • CycloneDX
  • Supply Chain Security
  • Executive Order 14028
  • Cyber Resilience Act
  • Syft
  • Grype
  • OWASP Dependency-Track
  • DevSecOps

Un SBOM (Software Bill of Materials) est un inventaire structuré et lisible par machine de tous les composants logiciels qui composent une application : dépendances directes et transitives, versions exactes, hashes cryptographiques, licences, fournisseurs, identifiants uniques Package URL (PURL). C'est l'équivalent d'une nomenclature industrielle appliquée au logiciel. Le SBOM est devenu une exigence réglementaire structurante depuis 2021-2024 sous l'impulsion conjointe de l'Executive Order 14028 (Biden, 12 mai 2021), du Cyber Resilience Act UE (règlement UE 2024/2847, entré en vigueur 11 décembre 2024, applicable principales obligations 11 décembre 2027), de NIS 2 (directive UE 2022/2555, transposée octobre 2024), de DORA (règlement UE 2022/2554, applicable janvier 2025). Trois crises supply chain ont démocratisé le SBOM : SolarWinds SUNBURST (décembre 2020), Log4Shell (CVE-2021-44228, décembre 2021), xz-utils backdoor (CVE-2024-3094, mars 2024). Deux standards dominants en 2026 : SPDX (Linux Foundation, ISO/IEC 5962:2021, version 3.0 sortie 2024, orienté compliance) et CycloneDX (OWASP, v1.6 actuelle 2024, orienté AppSec). Les outils de génération leaders : Syft (Anchore, open-source, 30+ écosystèmes), Trivy (Aqua), CycloneDX GitHub Action, Microsoft SBOM Tool. L'apport principal du SBOM : transformer une question supply chain de 3-7 jours en une question de 5 minutes grâce à la visibilité préalable. Cet article détaille la définition du SBOM, son contexte réglementaire, les 3 standards, le contenu minimum selon NTIA 2021, la stack de génération 2026, les cas d'usage incident response, l'intégration en pipeline DevSecOps et notre bilan factuel.

1. Définition et rôle fondamental du SBOM

Définition opérationnelle : un SBOM est une nomenclature structurée machine-readable listant tous les composants logiciels d'une application, avec suffisamment d'informations pour identifier, auditer et corriger les composants vulnérables ou non conformes.

Fonctions principales

  • Visibilité supply chain : savoir exactement ce qu'on utilise, incluant les dépendances transitives (dépendances des dépendances).
  • Gestion des vulnérabilités : mapping automatique des composants aux CVE publiées, alertes précoces.
  • Conformité licences : identifier les licences incompatibles (GPL vs propriétaire), éviter risques légaux.
  • Incident response supply chain : répondre à « est-ce qu'on utilise X en version Y ? » en secondes plutôt qu'en jours.
  • Due diligence M&A : évaluation rapide de la qualité supply chain d'un actif.
  • Conformité réglementaire : EO 14028, Cyber Resilience Act UE, NIS 2, DORA.

2. Contexte réglementaire et historique

Trois crises supply chain fondatrices

  1. SolarWinds SUNBURST (décembre 2020) : attaque supply chain sur le logiciel SolarWinds Orion, backdoor signée propagée à 18 000 organisations dont agences fédérales US. Révèle la nécessité de maîtrise supply chain logicielle.
  2. Log4Shell (CVE-2021-44228, décembre 2021) : RCE critique dans Log4j 2.x (versions 2.0 à 2.14.1, et 2.15.0 partiellement), CVSS 10.0. Des milliers d'organisations incapables d'identifier rapidement leur exposition.
  3. xz-utils backdoor (CVE-2024-3094, mars 2024) : backdoor sophistiquée introduite dans liblzma par un contributeur malveillant de long terme (Jia Tan), affectant OpenSSH. Découverte par Andres Freund (Microsoft) par chance avant diffusion massive. Rappelle la fragilité de la supply chain open-source.

Réponse réglementaire

CadreDatePérimètreExigence SBOM
Executive Order 14028 (US)12 mai 2021Fournisseurs logiciels agences fédérales USObligation SBOM avec livraison
NIST SP 800-218 SSDF2022Cadre méthodologique SSDLCSBOM formalisé comme pratique
NTIA Minimum Elements2021Baseline US7 champs minimum obligatoires
Cyber Resilience Act UE (règlement 2024/2847)Entrée en vigueur 11 décembre 2024, applicable 11 décembre 2027Produits avec éléments numériques vendus en UEObligation SBOM, correction vulnérabilités, notification ENISA 24h
NIS 2 (directive UE 2022/2555)Transposée octobre 2024Entités essentielles et importantesMaîtrise chaîne d'approvisionnement, SBOM recommandé
DORA (règlement UE 2022/2554)Applicable janvier 2025Entités financièresRegistre prestataires TIC critiques, SBOM fournisseurs
ANSSI recommandations supply chain2023-2024FranceSBOM explicitement référencé

Impact Cyber Resilience Act UE : changement de paradigme majeur. Tout produit avec éléments numériques vendu en UE (du thermostat connecté au logiciel d'entreprise) devra à partir de décembre 2027 maintenir un SBOM, corriger les vulnérabilités pendant toute la durée de support (minimum 5 ans), notifier ENISA sous 24 heures pour les vulnérabilités activement exploitées. Amendes pouvant atteindre 15 millions d'euros ou 2,5 % du CA mondial.

3. Les trois standards SBOM en 2026

StandardÉditeurAnnéePositionnementFormats
SPDX (Software Package Data Exchange)Linux Foundation, ISO/IEC 5962:20212011 (v3.0 2024)Historiquement license compliance, maintenant équilibré sécuritéJSON, YAML, RDF, tag-value, XLSX
CycloneDXOWASP2017 (v1.6 2024)Orienté AppSec et DevSecOps dès l'origineJSON, XML, Protobuf
SWID (Software Identification Tags)ISO/IEC 19770-2:20152015Software Asset Management (SAM), moins utilisé SBOM moderneXML

SPDX vs CycloneDX — choix pragmatique 2026

  • SPDX : privilégier pour compliance et interopérabilité large avec outils legacy, audits ISO, procurement grand compte. ISO/IEC 5962:2021 donne un poids réglementaire fort.
  • CycloneDX : privilégier pour DevSecOps pipelines, intégration avec outils modernes (OWASP Dependency-Track, Snyk, Trivy), métadonnées sécurité riches (CWE, vulnérabilités, services, applications IA).

Best practice : générer les deux formats simultanément. Syft et Trivy supportent les deux en sortie via un seul scan.

4. Le contenu minimum d'un SBOM selon NTIA 2021

La NTIA (National Telecommunications and Information Administration) US a publié en juillet 2021 les Minimum Elements For a Software Bill of Materials — référentiel de facto pour le contenu minimum d'un SBOM conforme à l'EO 14028.

ÉlémentDescription
Author NameNom de l'auteur du SBOM (outil ou humain)
TimestampDate et heure de génération du SBOM
Supplier NameNom du fournisseur de chaque composant
Component NameNom de chaque composant
Version of the ComponentVersion exacte (pas « latest » ou range)
Other Unique IdentifiersPackage URL (PURL), CPE, SWID tag
Dependency RelationshipGraph des dépendances (A dépend de B)

Extensions modernes recommandées (CycloneDX et SPDX 3.0)

  • Hashes cryptographiques : SHA-256 minimum, idéalement SHA-512, pour attester intégrité.
  • Licences SPDX : license identifier standardisé (MIT, Apache-2.0, GPL-3.0, etc.).
  • Vulnérabilités connues : CVE associés avec score CVSS.
  • Score EPSS (Exploit Prediction Scoring System) : probabilité d'exploitation dans les 30 jours.
  • Services utilisés (CycloneDX 1.5+) : APIs et services externes dont dépend l'application.
  • Composants IA (CycloneDX 1.6, 2024) : modèles ML utilisés, datasets d'entraînement, providers LLM.

5. Exemple de SBOM CycloneDX et commandes de génération

Exemple concret d'un SBOM CycloneDX simplifié pour une application Node.js, exploitable en portfolio GitHub public :

{
  "bomFormat": "CycloneDX",
  "specVersion": "1.6",
  "serialNumber": "urn:uuid:12345678-1234-5678-1234-567812345678",
  "version": 1,
  "metadata": {
    "timestamp": "2026-04-24T09:00:00Z",
    "tools": [
      {
        "vendor": "Anchore",
        "name": "Syft",
        "version": "1.22.0"
      }
    ],
    "component": {
      "type": "application",
      "bom-ref": "pkg:npm/myapp@1.0.0",
      "name": "myapp",
      "version": "1.0.0",
      "purl": "pkg:npm/myapp@1.0.0"
    }
  },
  "components": [
    {
      "type": "library",
      "bom-ref": "pkg:npm/axios@1.6.5",
      "name": "axios",
      "version": "1.6.5",
      "purl": "pkg:npm/axios@1.6.5",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "8e6f2e1c0a3b4d5f6789abcdef0123456789abcdef0123456789abcdef012345"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT"
          }
        }
      ],
      "supplier": {
        "name": "axios contributors",
        "url": ["https://github.com/axios/axios"]
      }
    },
    {
      "type": "library",
      "bom-ref": "pkg:npm/express@4.18.2",
      "name": "express",
      "version": "4.18.2",
      "purl": "pkg:npm/express@4.18.2",
      "hashes": [
        {
          "alg": "SHA-256",
          "content": "9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba"
        }
      ],
      "licenses": [
        {
          "license": {
            "id": "MIT"
          }
        }
      ]
    },
    {
      "type": "library",
      "bom-ref": "pkg:npm/jsonwebtoken@9.0.2",
      "name": "jsonwebtoken",
      "version": "9.0.2",
      "purl": "pkg:npm/jsonwebtoken@9.0.2",
      "licenses": [
        {
          "license": {
            "id": "MIT"
          }
        }
      ]
    }
  ],
  "dependencies": [
    {
      "ref": "pkg:npm/myapp@1.0.0",
      "dependsOn": [
        "pkg:npm/axios@1.6.5",
        "pkg:npm/express@4.18.2",
        "pkg:npm/jsonwebtoken@9.0.2"
      ]
    }
  ]
}

Commandes Syft et Trivy pour génération automatisée — à intégrer en pipeline CI :

# ===== Installation Syft et Grype (Anchore) =====
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin
 
# ===== Generation SBOM depuis un repertoire source =====
syft scan dir:./myapp -o cyclonedx-json=sbom.cdx.json
syft scan dir:./myapp -o spdx-json=sbom.spdx.json
 
# ===== Generation SBOM depuis une image Docker =====
syft scan myapp:1.0.0 -o cyclonedx-json=image-sbom.cdx.json
 
# ===== Scan vulnerabilites sur un SBOM existant =====
grype sbom:./sbom.cdx.json --fail-on high
 
# ===== Trivy approche alternative integree =====
trivy image --format cyclonedx --output sbom-trivy.cdx.json myapp:1.0.0
trivy sbom --severity HIGH,CRITICAL ./sbom-trivy.cdx.json
 
# ===== Signature du SBOM avec Cosign (Sigstore) =====
cosign sign-blob --bundle sbom.cdx.json.sig sbom.cdx.json
 
# ===== Attachement du SBOM a une image OCI =====
cosign attest --predicate sbom.cdx.json --type cyclonedx myapp:1.0.0

6. Cas d'usage n°1 — Incident response Log4Shell

Cas concret illustrant l'apport du SBOM en incident response supply chain.

Scénario Log4Shell, décembre 2021

  • Jour J : publication de CVE-2021-44228 (RCE critique Log4j 2.x), CVSS 10.0, exploitation active observée dans les heures suivantes.
  • Question critique pour chaque organisation : « Quelles applications de notre parc utilisent Log4j 2.x vulnérable, et quelles versions ? »

Sans SBOM centralisé

  • Audit manuel de chaque application.
  • Grep sur tous les pom.xml, build.gradle, package-lock.json, fichiers config.
  • Coordination avec équipes dev pour identifier les dépendances transitives.
  • Temps médian : 3-7 jours pour grande organisation, parfois plus.
  • Pendant ce temps : exploitation en cours.

Avec SBOM centralisé dans OWASP Dependency-Track

  • Requête SQL ou API unique sur le catalogue SBOM : SELECT app FROM sbom WHERE component='log4j-core' AND version < '2.17.1'.
  • Résultat : liste complète des applications concernées avec versions, environnements, criticité.
  • Temps : 5 minutes.
  • Pendant ce temps : patch ou mitigation déployée en priorité.

Cas xz-utils backdoor, mars 2024 : même schéma. Les organisations avec SBOM ont identifié leurs instances xz-utils en heures. Les autres ont passé des semaines à cartographier, malgré le faible nombre de systèmes affectés (builds OpenSSH récents uniquement).

7. Intégration pipeline DevSecOps

Pipeline DevSecOps moderne incluant génération SBOM, scan vulnérabilités, signature Cosign et attestation OCI — exploitable en portfolio GitHub.

# .github/workflows/sbom-pipeline.yml
# Pipeline DevSecOps avec generation SBOM complete.
 
name: Build and SBOM Pipeline
 
on:
  push:
    branches: [main]
 
permissions:
  contents: read
  packages: write
  id-token: write
 
jobs:
  build-and-sbom:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
 
      - name: Login to GitHub Container Registry
        uses: docker/login-action@v3
        with:
          registry: ghcr.io
          username: ${{ github.actor }}
          password: ${{ secrets.GITHUB_TOKEN }}
 
      - name: Build Docker image
        run: docker build -t ghcr.io/${{ github.repository }}:${{ github.sha }} .
 
      # --- Generation SBOM CycloneDX via Syft ---
      - name: Generate CycloneDX SBOM
        uses: anchore/sbom-action@v0
        with:
          image: ghcr.io/${{ github.repository }}:${{ github.sha }}
          format: cyclonedx-json
          output-file: sbom.cdx.json
 
      # --- Generation SBOM SPDX via Syft ---
      - name: Generate SPDX SBOM
        uses: anchore/sbom-action@v0
        with:
          image: ghcr.io/${{ github.repository }}:${{ github.sha }}
          format: spdx-json
          output-file: sbom.spdx.json
 
      # --- Scan vulnerabilites via Grype sur le SBOM ---
      - name: Scan SBOM with Grype
        uses: anchore/scan-action@v3
        with:
          sbom: ./sbom.cdx.json
          severity-cutoff: high
          fail-build: true
 
      # --- Push de l'image vers registry ---
      - name: Push image
        run: docker push ghcr.io/${{ github.repository }}:${{ github.sha }}
 
      # --- Signature SBOM via Cosign (Sigstore, keyless OIDC) ---
      - name: Install Cosign
        uses: sigstore/cosign-installer@v3
 
      - name: Sign image and attach SBOM attestation
        run: |
          cosign sign --yes ghcr.io/${{ github.repository }}:${{ github.sha }}
          cosign attest --yes \
            --predicate sbom.cdx.json \
            --type cyclonedx \
            ghcr.io/${{ github.repository }}:${{ github.sha }}
 
      # --- Upload SBOM vers OWASP Dependency-Track ---
      - name: Upload SBOM to Dependency-Track
        run: |
          curl -X POST \
            -H "X-Api-Key: ${{ secrets.DEPTRACK_API_KEY }}" \
            -H "Content-Type: multipart/form-data" \
            -F "project=${{ secrets.DEPTRACK_PROJECT_ID }}" \
            -F "bom=@sbom.cdx.json" \
            https://dependency-track.example.internal/api/v1/bom
 
      # --- Archivage SBOM dans artefacts ---
      - name: Upload SBOM artifacts
        uses: actions/upload-artifact@v4
        with:
          name: sbom-files
          path: |
            sbom.cdx.json
            sbom.spdx.json
          retention-days: 90

Ce pipeline produit à chaque build : SBOM CycloneDX, SBOM SPDX, scan Grype bloquant sur vulnérabilités HIGH/CRITICAL, signature image et SBOM via Cosign keyless OIDC Sigstore, push vers OWASP Dependency-Track pour catalogue centralisé, archivage artefacts 90 jours.

8. SBOM, VEX et SLSA — écosystème supply chain security

Le SBOM ne suffit pas seul. Deux compléments structurants en 2026.

VEX (Vulnerability Exploitability eXchange)

  • Problème : un SBOM liste les composants. Un scan identifie les CVE. Mais beaucoup de CVE détectées ne sont pas réellement exploitables dans un contexte applicatif donné (code vulnérable non appelé, mitigation déjà en place).
  • Solution VEX : format standardisé (CSAF 2.0, CycloneDX VEX, OpenVEX) pour déclarer pour chaque CVE détectée : exploitable, non exploitable, en cours d'analyse, non impactée (justifications).
  • Bénéfice : réduction du bruit vulnerability management, priorisation efficace.

SLSA (Supply-chain Levels for Software Artifacts)

  • Problème : le SBOM dit « qu'est-ce qu'il y a dans mon logiciel ». SLSA dit « comment mon logiciel a été construit ».
  • Framework SLSA (Google puis OpenSSF, v1.0 avril 2023) : 4 niveaux de garanties d'intégrité du processus de build. SLSA 1 (documentation), SLSA 2 (attestations signées), SLSA 3 (build reproductible isolé), SLSA 4 (audit indépendant).
  • Complémentarité avec SBOM : SLSA certifie que le SBOM est produit de manière fiable par un processus de build intègre.

Écosystème complet 2026

ArtefactQuestion répondueStandard
SBOMQuels composants dans mon logiciel ?SPDX, CycloneDX
VEXCes vulnérabilités sont-elles exploitables ?CSAF 2.0, CycloneDX VEX, OpenVEX
SLSA provenanceComment mon logiciel a-t-il été construit ?SLSA v1.0 (OpenSSF)
Sigstore signatureMon artefact est-il authentique ?Sigstore Cosign + Rekor
SSDF practiceMon processus de développement est-il sécurisé ?NIST SP 800-218 SSDF

Un produit mature en 2026 combine les 5 pour couvrir supply chain security de bout en bout.

9. OWASP Dependency-Track — la plateforme centralisée recommandée

OWASP Dependency-Track est la plateforme open-source leader 2026 pour centraliser, corréler et exploiter les SBOMs à l'échelle enterprise.

Fonctionnalités principales

  • Catalogue centralisé de SBOMs CycloneDX.
  • Mapping automatique CVE via NVD, OSV, VulnDB.
  • Score EPSS intégré.
  • Alertes temps réel en cas de nouvelle CVE.
  • Dashboards par projet, par composant, par CVE.
  • API REST complète pour intégration CI/CD.
  • Support VEX natif.
  • Licence compliance.
  • Intégrations : Jira, Slack, Teams, webhook.

Déploiement : Helm chart Kubernetes officiel, image Docker, 4-16 Go RAM recommandés selon catalogue. Solution on-premise ou cloud self-hosted. Alternatives commerciales : Snyk Supply Chain Security, Sonatype Nexus IQ, FOSSA, Anchore Enterprise.

10. Pour aller plus loin

11. Points clés à retenir

  • SBOM = nomenclature structurée machine-readable de tous les composants logiciels d'une application.
  • 3 crises supply chain fondatrices : SolarWinds SUNBURST (2020), Log4Shell (CVE-2021-44228), xz-utils backdoor (CVE-2024-3094).
  • Réglementations obligatoires : EO 14028 (US 2021), Cyber Resilience Act UE (2024/2847, applicable décembre 2027), NIS 2, DORA.
  • 2 standards dominants : SPDX (ISO/IEC 5962:2021, compliance) et CycloneDX (OWASP, AppSec). Best practice : générer les deux.
  • 7 champs minimum NTIA : auteur, timestamp, supplier, component name, version, identifiers (PURL), dependency relationships.
  • Outils leaders 2026 : Syft (Anchore, open-source), Trivy (Aqua), CycloneDX GitHub Action, Microsoft SBOM Tool.
  • Cas d'usage n°1 : incident response supply chain. Log4Shell sans SBOM = 3-7 jours, avec SBOM centralisé = 5 minutes.
  • OWASP Dependency-Track : plateforme open-source leader pour centralisation SBOMs à l'échelle enterprise.
  • Écosystème supply chain security complet : SBOM + VEX + SLSA + Sigstore + SSDF.
  • Cyber Resilience Act UE obligatoire décembre 2027 — SBOM, correction vulnérabilités support, notification ENISA 24h. Amendes 15 M€ ou 2,5 % CA mondial.

La formation OWASP Web Security Zeroday Cyber Academy inclut un module approfondi SBOM et supply chain security avec labs Syft plus Grype plus OWASP Dependency-Track, intégration pipeline GitHub Actions complet avec signature Cosign OIDC, préparation au Cyber Resilience Act UE, et coaching d'entretien AppSec plus DevSecOps ciblé éditeurs logiciels plus scale-ups régulés NIS 2/DORA/CRA.

Questions fréquentes

  • Qu'est-ce qu'un SBOM exactement ?
    Un SBOM (Software Bill of Materials) est un inventaire structuré et lisible par machine de tous les composants logiciels qui composent une application : dépendances directes et transitives, versions exactes, hashes cryptographiques, licences, fournisseurs, identifiants uniques (Package URL dit PURL). C'est l'équivalent d'une nomenclature industrielle appliquée au logiciel. L'analogie classique : la liste des ingrédients d'un produit alimentaire permet d'identifier rapidement les allergènes ; le SBOM permet d'identifier rapidement les composants vulnérables dans le parc logiciel. Contextualisation historique : la crise Log4Shell (CVE-2021-44228, décembre 2021) a démontré qu'un très grand nombre d'organisations étaient incapables de répondre rapidement à la question simple « est-ce que nous utilisons Log4j, et où ? ». L'Executive Order 14028 (Biden, mai 2021) et le Cyber Resilience Act UE (entré en vigueur décembre 2024, applicable décembre 2027) ont transformé le SBOM d'une bonne pratique optionnelle en une exigence réglementaire structurante.
  • Quels sont les trois standards SBOM en 2026 ?
    Trois formats standards coexistent, chacun avec son positionnement. 1) SPDX (Software Package Data Exchange, Linux Foundation 2011, ISO/IEC 5962:2021) : format le plus ancien, orienté license compliance historiquement, maintenant équilibré licenses et sécurité. Formats : JSON, YAML, RDF, tag-value, XLSX. Version actuelle 3.0 (2024). 2) CycloneDX (OWASP, première version 2017, v1.6 actuelle 2024) : orienté AppSec dès l'origine, riche en métadonnées sécurité (CWE, vulnérabilités), adopté massivement par la communauté DevSecOps. Formats : JSON, XML, Protobuf. 3) SWID (Software Identification Tags, ISO/IEC 19770-2:2015) : format plus ancien orienté software asset management (SAM), moins utilisé pour SBOM modern. Les deux formats dominants en 2026 sont SPDX (pour compliance et interopérabilité large) et CycloneDX (pour AppSec et DevSecOps pipelines). La plupart des outils modernes (Syft, Trivy) supportent les deux en sortie.
  • Que contient concrètement un SBOM ?
    Huit catégories d'informations minimales selon les standards. 1) Identifiants du document : auteur, date de génération, version SBOM, identifiant unique. 2) Composant principal (root) : nom, version, type (application, container, library), hash cryptographique SHA-256. 3) Dépendances directes et transitives : nom, version exacte, PURL (Package URL standardisé, ex : pkg:npm/axios@1.6.5). 4) Hashes cryptographiques de chaque composant : SHA-256 minimum, idéalement SHA-512 ou intégrité Subresource Integrity pour JS. 5) Licences : SPDX license identifier (MIT, Apache-2.0, GPL-3.0, etc.). 6) Fournisseurs : nom du publisher, URL officielle, tel que publié sur npm/PyPI/Maven Central/crates.io. 7) Relations entre composants : graph de dépendances (A dépend de B qui dépend de C). 8) Métadonnées additionnelles : CWE associés, CVE connus, score EPSS (Exploit Prediction Scoring System). Le SBOM minimum pour conformité réglementaire (NTIA Minimum Elements 2021) exige les 7 premiers items au moins.
  • Comment générer un SBOM en pratique ?
    Cinq outils dominants en 2026 pour génération SBOM automatisée. 1) Syft (Anchore, open-source) : leader générateur SBOM, supporte 30+ écosystèmes (npm, PyPI, Maven, Go modules, cargo, Ruby gems, PHP composer, Docker images, filesystems). Formats de sortie CycloneDX et SPDX. Commande typique : syft scan <image> -o cyclonedx-json. 2) Trivy (Aqua Security) : scanner vulnérabilités avec génération SBOM intégrée. trivy image --format cyclonedx myapp:latest. 3) CycloneDX GitHub Action (officiel OWASP) : génération SBOM en pipeline CI. 4) Microsoft SBOM Tool : focus écosystème Microsoft et .NET. 5) FOSSA, Snyk, Sonatype : solutions commerciales avec enrichissement licences et vulnérabilités. Génération type en DevSecOps pipeline : syft génère le SBOM à la build, Grype ou Trivy le scanne contre CVE database, Cosign signe le SBOM pour preuve d'intégrité, le SBOM est attaché à l'artefact (container registry ou dépôt) via OCI SBOM attestation. Temps de génération : 10-60 secondes pour une application de taille moyenne.
  • En quoi le SBOM aide-t-il face à Log4Shell ou xz-utils backdoor ?
    Le SBOM transforme une question de 72 heures en une question de 5 minutes. Cas Log4Shell (CVE-2021-44228, décembre 2021) : lorsque la vulnérabilité est publiée, les équipes cyber doivent identifier immédiatement toutes les applications utilisant Log4j 2.x avec versions vulnérables (2.0 à 2.14.1 puis 2.15.0 lui-même partiellement vulnérable). Sans SBOM : audit manuel Git grep plus pom.xml plus package-lock.json à l'échelle entreprise, typiquement 3-7 jours pour grande organisation. Avec SBOM centralisés : requête SQL sur OWASP Dependency-Track ou équivalent, résultat en 5 minutes. Cas xz-utils backdoor (CVE-2024-3094, mars 2024) : backdoor sophistiquée dans liblzma affectant OpenSSH. Les organisations avec SBOM ont identifié leurs instances vulnérables en heures. Les autres ont passé des semaines à cartographier. En 2026, l'absence de SBOM signifie l'incapacité de répondre rapidement à la prochaine crise supply chain — et il y en aura. Le SBOM est la visibilité préalable indispensable à toute incident response supply chain efficace.
  • Quelles obligations réglementaires imposent un SBOM ?
    Trois cadres réglementaires majeurs rendent le SBOM obligatoire ou fortement recommandé en 2026. 1) Executive Order 14028 (US, 12 mai 2021) : oblige les agences fédérales américaines à exiger un SBOM de leurs fournisseurs logiciels. Effet de contagion massif sur les éditeurs européens exportant aux US. NIST SP 800-218 SSDF (Secure Software Development Framework) formalise les exigences. 2) Cyber Resilience Act UE (règlement UE 2024/2847, entré en vigueur 11 décembre 2024, applicable principales obligations 11 décembre 2027) : oblige les fabricants de produits avec éléments numériques vendus dans l'UE à maintenir un SBOM, corriger les vulnérabilités pendant toute la durée de support, notifier ENISA sous 24h pour les vulnérabilités activement exploitées. Impact énorme sur logiciels et hardware connectés. 3) NIS 2 (directive UE 2022/2555, transposée octobre 2024) et DORA (règlement UE 2022/2554, applicable janvier 2025) : exigent la maîtrise de la chaîne d'approvisionnement logicielle pour les entités essentielles/importantes et les entités financières — le SBOM est le moyen de cette maîtrise. En France, l'ANSSI référence explicitement le SBOM dans ses recommandations supply chain 2023-2024. L'ère du « on ne sait pas ce qu'on utilise » est terminée réglementairement.

Écrit par

Naim Aouaichia

Expert cybersécurité et fondateur de Zeroday Cyber Academy

Expert cybersécurité avec un master spécialisé et un parcours hybride : développement, DevOps, DevSecOps, SOC, GRC. Fondateur de Hash24Security et Zeroday Cyber Academy. Formateur et créateur de contenu technique sur la cybersécurité appliquée, la sécurité des LLM et le DevSecOps.