🟡 Intermediate

SBOM — Z best practice na právnu povinnosť

Na QCon London 2026 Viktor Petersson varoval, že softvérové tímy majú málo času na adopciu SBOM (Software Bill of Materials). Legislatívne zmeny v USA aj Európe robia z SBOM povinnosť, nie odporúčanie.


Čo je SBOM

SBOM je štruktúrovaný zoznam všetkých komponentov v softvéri — knižnice, frameworky, ich verzie a licencie. Predstav si to ako zoznam ingrediencií na obale potravín, ale pre softvér.

{
  "bomFormat": "CycloneDX",
  "specVersion": "1.6",
  "components": [
    {
      "type": "library",
      "name": "express",
      "version": "4.21.0",
      "purl": "pkg:npm/express@4.21.0",
      "licenses": [{ "license": { "id": "MIT" } }]
    }
  ]
}

Legislatívny kontext

EU Cyber Resilience Act (CRA)

  • Účinnosť: september 2027 (ale príprava musí začať teraz)
  • Koho sa týka: každý, kto predáva softvér alebo zariadenia s digitálnym prvkom v EÚ
  • Požiadavka: SBOM pre každý produkt, aktualizovaný pri každom release
  • Pokuty: až 2.5% globálneho obratu

US Executive Order 14028

  • Federálni dodávatelia musia poskytovať SBOM od roku 2024
  • Rozširuje sa na kritickú infraštruktúru

Ako generovať kvalitné SBOM

Nástroje

Nástroj Formát Jazyk/Ekosystém
syft (Anchore) CycloneDX, SPDX Univerzálny
trivy (Aqua) CycloneDX, SPDX Kontajnery, FS
cdxgen CycloneDX Node, Java, Python
spdx-sbom-generator SPDX Multi

Integrácia do CI/CD

# GitHub Actions príklad
- name: Generate SBOM
  uses: anchore/sbom-action@v0
  with:
    path: .
    format: cyclonedx-json
    output-file: sbom.json

- name: Scan SBOM for vulnerabilities
  uses: anchore/scan-action@v4
  with:
    sbom: sbom.json
    fail-build: true
    severity-cutoff: high

Distribúcia SBOM

Nové štandardy pre distribúciu:

# OCI registry (nový štandard)
cosign attach sbom --sbom sbom.json myregistry.io/myapp:v1.0

# In-toto attestation
cosign attest --predicate sbom.json \
  --type cyclonedx \
  myregistry.io/myapp:v1.0

Praktické kroky pre tímy

  1. Audit — zmapujte všetky dependencies vo vašich projektoch
  2. Automatizácia — pridajte SBOM generovanie do CI pipeline
  3. Formát — zvoľte CycloneDX alebo SPDX (oba sú akceptované)
  4. Validácia — SBOM musí byť kompletný a presný
  5. Distribúcia — ukladajte SBOM vedľa artefaktov (OCI registry)
  6. Monitoring — pravidelne skenujte SBOM voči CVE databázam

Zhrnutie

SBOM už nie je „nice to have". S blížiacim sa CRA enforcement v EÚ a rozširujúcimi sa federálnymi požiadavkami v USA je čas na adopciu teraz. Nástroje sú zrelé, integrácia do CI/CD je jednoduchá — jediné čo chýba, je rozhodnutie začať.