Generátor SBOM

Generátor SBOM vytvoří SBOM ve formátu CycloneDX 1.6 ze souboru vašeho projektu, například z package.json, requirements.txt, pom.xml nebo Cargo.toml. Licence, dodavatel a purl (Package URL) každé závislosti se dohledají ve veřejném registru balíčků a zkompletují se do SBOM.

Vaše aplikace (nepovinné)

Pokud vyplníte název a verzi, SBOM popíše vaši aplikaci jako hlavní komponentu a pod ní uvede závislosti. Výrobce se do SBOM zapíše jako autor dokumentu a dodavatel aplikace.

Soubor projektu

Nepovinné, pro přesné nainstalované verze.

Soubory se zpracují ve vašem prohlížeči. Do veřejného registru npm se kvůli licencím posílají jen názvy a verze balíčků.

Co je SBOM?

SBOM (software bill of materials, tedy soupis softwarových komponent) je strojově čitelný seznam komponent, ze kterých je aplikace sestavená, s jejich verzemi, licencemi, dodavateli a identifikátory jako je např. purl (Package URL). Standardní formáty jsou dva, CycloneDX a SPDX. Nástroje pro kontrolu zranitelností a licencí většinou umí zpracovat oba formáty.

Minimální prvky SBOM definovala NTIA (National Telecommunications and Information Administration), další požadavky doplňuje BSI (Bundesamt für Sicherheit in der Informationstechnik) v technické směrnici TR-03183-2. Evropský akt o kybernetické odolnosti (Cyber Resilience Act) od prosince 2027 ukládá výrobcům produktů s digitálními prvky vypracovat SBOM, který pokrývá aspoň závislosti nejvyšší úrovně.

Jak generátor SBOM funguje

Generátor načte závislosti ze souboru projektu a každý balíček vyhledá v jeho veřejném registru, například v npm, PyPI, NuGet nebo Maven Central. Pokud přidáte zamykací (lock) soubor, SBOM bude obsahovat konkrétní verze a případně i jejich hashe. Závislost bez přesné verze se do SBOM zapíše bez verze.

SBOM obsahuje přímé závislosti ze souboru projektu, tedy závislosti nejvyšší úrovně, které akt o kybernetické odolnosti vyžaduje jako minimum. Úplný SBOM včetně tranzitivních závislostí můžete vytvořit při sestavení aplikace nástrojem jako cdxgen, syft nebo Trivy.

Časté otázky

Jak vytvořit SBOM?

Vyberte balíčkovací systém, vložte nebo nahrajte soubor projektu a pokud chcete mít v SBOM konkrétní verze, přidejte i zamykací (lock) soubor. SBOM si pak stáhnete jako soubor CycloneDX 1.6 JSON. Vyplňte i název a verzi aplikace, aby SBOM popisoval vaši aplikaci jako hlavní komponentu.

Jaký je rozdíl mezi CycloneDX a SPDX?

Oba jsou standardní formáty SBOM. CycloneDX vzniká v OWASP (Open Worldwide Application Security Project), je standardizovaný jako ECMA-424 a zaměřuje se na bezpečnost, třeba na zranitelnosti a graf závislostí. SPDX pochází z Linux Foundation, začínal s evidencí licencí a je standardizovaný jako ISO/IEC 5962. Tento generátor vytváří CycloneDX.

Co musí SBOM obsahovat?

Minimální prvky podle NTIA (National Telecommunications and Information Administration) jsou dodavatel, název komponenty, verze, jednoznačný identifikátor jako purl (Package URL), vztahy mezi závislostmi, autor SBOM a čas vytvoření. BSI (Bundesamt für Sicherheit in der Informationstechnik) TR-03183-2 vyžaduje mimo jiné i licence a hashe. Štítky úplnosti v generátoru ukazují, které prvky má váš SBOM.

Obsahuje SBOM i tranzitivní závislosti?

Úplný SBOM ano. Náš generátor zapisuje přímé závislosti ze souboru projektu, které akt o kybernetické odolnosti stanovuje jako minimum. Pokud chcete mít v SBOM i tranzitivní závislosti, vytvořte ho při sestavení aplikace nástrojem cdxgen, syft nebo Trivy.

Odesílá se někam můj soubor projektu, který zde vložím?

Neodesílá. Soubor se zpracuje ve vašem prohlížeči. Do veřejných registrů se kvůli licencím a dodavatelům posílají jen názvy a verze balíčků. V případě Javy a Androidu nejsou požadavky na Maven Central přímo z prohlížeče povoleny, proto se balíčky Javy a Androidu dohledávají přes server AboutTheApp, avšak anonymně vzhledem k vašemu projektu.

Lze SBOM uložit ke každé verzi aplikace?

Ano. V AboutTheApp má každá verze aplikace vlastní SBOM, v případě potřeby zvlášť pro části jako backend, web nebo mobilní aplikaci. Vytvoříte ho ze souborů projektu, nahrajete soubor CycloneDX nebo ho připojíte přímo z CI. Nový SBOM stejné části nahradí předchozí a ten zůstane v historii.

Přidejte svou aplikaci do AboutTheApp

Vytvořte si účet zdarma a přidejte svou aplikaci. V AboutTheApp budete mít kromě SBOM u každé verze i odkazy aplikace, její prostředí a seznam komponent třetích stran s licencemi.

Vytvořit účet zdarma