SBOM
Co je SBOM?
SBOM, neboli softwarový kusovník (software bill of materials), je strojově čitelný seznam komponent uvnitř softwaru: každé knihovny, každého balíčku a každé závislosti s verzí, výrobcem a licencí. Pro software je tím, čím je pro potraviny etiketa se složením. Když je zveřejněna nová zranitelnost, SBOM vám během několika minut řekne, zda dodáváte dotčenou komponentu.
Aktualizováno
Co znamená zkratka SBOM?
SBOM je zkratka anglického software bill of materials, česky softwarový kusovník. Pojem pochází z výroby, kde kusovník (bill of materials) uvádí díly, ze kterých se produkt skládá. CISA popisuje SBOM jako vnořený inventář, seznam složek, ze kterých se skládají softwarové komponenty.
Většinu kódu v moderní aplikaci napsal někdo jiný a většina z něj do ní přichází nepřímo: přidáte jeden balíček a ten s sebou přinese desítky tranzitivních závislostí. SBOM to všechno zapíše, takže na otázku „týká se nás to?“ odpovíte, aniž byste museli číst jediný repozitář.
Co SBOM obsahuje?
Užitečná SBOM má dvě části: údaje o samotné SBOM a údaje o každé komponentě. Dokument 2026 Minimum Elements, který CISA, NSA a FBI zveřejnily s mezinárodními partnery 29. července 2026, nahrazuje seznam NTIA z roku 2021 a stanovuje základ, na který se dnes odvolává většina kupujících.
| Část | Pole |
|---|---|
| O samotné SBOM | Autor a podpis autora, časové razítko, název a verze datového formátu, název a verze nástroje, verze SBOM a kontext vytvoření |
| O každé komponentě | Název, verze, výrobce, identifikátory jako package URL nebo CPE, hodnota hashe a algoritmus, licence a vztahy závislostí |
Kontext vytvoření je důležitější, než se zdá. Říká, kdy SBOM vznikla: před buildem, během buildu, z hotového artefaktu nebo až po něm. Dvě SBOM stejného vydání se mohou lišit právě z tohoto důvodu. Jak tato pole vypadají ve skutečném souboru, ukazují příklady SBOM, a soubor, který jste obdrželi, zkontrolujte podle kontrolního seznamu kvality SBOM.
Formáty SBOM
Téměř všechny používané SBOM pokrývají dva formáty. CycloneDX od OWASP vznikl v oblasti bezpečnosti a popisuje i zranitelnosti a služby. SPDX od Linux Foundation vznikl kvůli souladu s licencemi. Oba dokážou nést minimální prvky a většina nástrojů zapisuje oba. Jak vybrat, popisuje CycloneDX vs SPDX.
Proč na SBOM záleží
- Rychlejší reakce na incidenty. Když se objeví zranitelnost jako Log4Shell, otázkou je, které z vašich produktů ji obsahují. Se SBOM je to vyhledávání. Bez nich je to projekt.
- Monitorování zranitelností po vydání. Software, který byl při vydání čistý, může být zítra zranitelný. Opakovaná kontrola uložených SBOM proti novým bezpečnostním upozorněním to zachytí, aniž byste cokoli znovu sestavovali.
- Licenční riziko. Deklarovaná licence každé komponenty ukáže copyleftové nebo komerční podmínky dřív, než se dostanou do produktu.
- Otázky zákazníků a regulátorů. Kupující stále častěji žádají SBOM při nákupu a několik rámců očekává inventář komponent.
Kdo potřebuje SBOM?
Každý, kdo dodává software, a každý, kdo se musí zodpovídat za to, co v něm je. Požadavek obvykle přichází jednou z těchto cest:
- Zdravotnické prostředky. Oddíl 524B FDA vyžaduje SBOM pro kybernetická zařízení v předregistračních podáních.
- Produkty prodávané v EU. Cyber Resilience Act požaduje od výrobců SBOM. Viz požadavky CRA na SBOM a nástroje.
- Federální nákupy v USA. Memorandum OMB M-26-05 z ledna 2026 nechává na každé agentuře, zda ji bude vyžadovat, takže počítejte s rozhodováním případ od případu.
- Platební software. Požadavek 6.3.2 normy PCI DSS 4.0 žádá inventář softwaru na zakázku a jeho komponent třetích stran. SBOM nepředepisuje, ale SBOM tuto potřebu splní.
Jak vygenerovat SBOM
Existují tři způsoby, jak ji vytvořit, a metoda rozhoduje o tom, co se v souboru ocitne.
| Metoda | Co čte | Typická mezera |
|---|---|---|
| Skenování zdrojového kódu | Manifesty a lockfily v repozitáři | Vše, co build stáhne a co žádný lockfile neuvádí |
| Skenování výstupu | Hotový image kontejneru nebo binárka | Kompilovaný kód je nejednoznačný a nástroje pro build nezanechávají stopu |
| Záznam buildu | Co build skutečně stáhl, zatímco běžel | Provoz, který obejde záznamník a měl by být označen |
Open source generátory jako Syft, Trivy a cdxgen používají první dvě metody. Na stejném commitu se navzájem neshodnou, protože každý má vlastní pravidla pro to, co číst. Srovnání možností vedle sebe najdete v přehledu nejlepších nástrojů SBOM.
SBOM vs SCA vs VEX
- SBOM je inventář. Říká, co tam je, ne zda je to bezpečné.
- Analýza softwarového složení je analýza. Hledá komponenty a kontroluje jejich rizika a mnoho nástrojů SCA přitom vytváří i SBOM.
- VEX je prohlášení o dopadu. Říká, zda známá zranitelnost váš produkt skutečně ovlivňuje, a tím omezuje šum, který vytváří samotná SBOM.
Vygenerovat SBOM je ta snadná část
Soubor, který nikdo nečte, nic nezmění. Hodnota vzniká tím, že ke každému vydání uchováváte jednu SBOM, monitorujete je a dokážete je najít, když na tom záleží. Tato práce je správa SBOM a osvědčené postupy pro SBOM popisují, jak ji dělat.
Jak CRACI vytváří SBOM
CRACI je runner pro GitHub Actions, který zaznamenává každý balíček, který každý job stáhne, v jakékoli hloubce stromu a včetně balíčků obnovených z cache CI. Výsledkem je SBOM buildu, ze kterého vzniklo vydání, se stavem úplnosti, který říká, co job nemohl vidět. Exportuje se ve formátu CycloneDX nebo SPDX a CRACI ji průběžně znovu vyhodnocuje, jakmile jsou zveřejněny nové zranitelnosti. Viz generování SBOM během buildu.
SBOM: časté dotazy
Co je SBOM jednoduše řečeno?
SBOM je seznam složek softwaru. Jmenuje každou komponentu produktu s její verzí, výrobcem a licencí, ve formátu, který dokážou číst stroje.
Co znamená zkratka SBOM?
SBOM znamená software bill of materials, česky softwarový kusovník.
Proč potřebujete SBOM?
Abyste rychle zjistili, zda nově zveřejněná zranitelnost ovlivňuje to, co dodáváte, viděli licenční riziko před vydáním a dokázali odpovědět zákazníkům a regulátorům, kteří se ptají, co je ve vašem produktu.
Jaké jsou dva hlavní formáty SBOM?
CycloneDX a SPDX. CycloneDX pochází od OWASP a vznikl v oblasti bezpečnosti. SPDX pochází od Linux Foundation a vznikl kvůli souladu s licencemi. Oba dokážou nést minimální prvky.
Vyžaduje SBOM zákon?
Záleží na produktu a trhu. Oddíl 524B FDA ji vyžaduje pro kybernetická zařízení a evropský Cyber Resilience Act ji požaduje od výrobců. Ve federálních nákupech v USA je to nyní rozhodnutí každé agentury. Pro mnoho dalších firem jde spíš o požadavek zákazníků než o zákonnou povinnost.
Jak často by se měla SBOM aktualizovat?
Vygenerujte novou SBOM pro každé vydání, protože každý build může stáhnout jiné verze. SBOM vydání se později nemění, ale měli byste ji dál kontrolovat proti novým zranitelnostem.
Kdo SBOM vytváří?
Obvykle tým, který software sestavuje, ideálně v CI, aby ji každé vydání dostalo automaticky. Software, který kupujete, by měl přijít se SBOM od svého dodavatele.
Podívejte se na SBOM svého skutečného buildu
Spusťte jedno workflow GitHub Actions na CRACI a porovnejte jeho zaznamenanou SBOM s tím, co hlásí vaše současné nástroje.
Rezervujte si demo