{"id":4834,"date":"2026-08-11T20:59:14","date_gmt":"2026-08-11T18:59:14","guid":{"rendered":"https:\/\/www.sycope.com\/?post_type=dictionary-item&#038;p=4834"},"modified":"2026-08-11T22:47:00","modified_gmt":"2026-08-11T20:47:00","slug":"software-bill-of-materials","status":"publish","type":"dictionary-item","link":"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/software-bill-of-materials","title":{"rendered":"Software Bill of Materials (SBOM)"},"content":{"rendered":"<p><strong>Software Bill of Materials (SBOM)<\/strong>, czyli \u201elista sk\u0142adnik\u00f3w oprogramowania\u201d, to czytelny dla maszyn spis wszystkich komponent\u00f3w, bibliotek i zale\u017cno\u015bci, z kt\u00f3rych zbudowany jest dany program. Przy ka\u017cdej pozycji znajduj\u0105 si\u0119 dane o jej pochodzeniu, wersji i licencji. SBOM dzia\u0142a jak spis sk\u0142adnik\u00f3w na opakowaniu produktu spo\u017cywczego: pokazuje dok\u0142adnie, co jest w \u015brodku \u2014 \u0142\u0105cznie z zale\u017cno\u015bciami tranzytywnymi, czyli komponentami, kt\u00f3re wci\u0105ga po\u015brednio inny komponent. To podstawowe narz\u0119dzie do panowania nad ryzykiem w \u0142a\u0144cuchu dostaw oprogramowania i do szybkiego znajdowania podatnych element\u00f3w.<\/p>\n<h2>Co zawiera SBOM?<\/h2>\n<p>Ameryka\u0144ska agencja NTIA (National Telecommunications and Information Administration) opisa\u0142a tzw. <em>minimum elements<\/em> \u2014 minimalny zestaw p\u00f3l, kt\u00f3re powinien mie\u0107 ka\u017cdy komponent w SBOM. Nale\u017c\u0105 do nich:<\/p>\n<ul>\n<li><strong>Nazwa dostawcy<\/strong> (supplier name) \u2014 kto stworzy\u0142 lub zidentyfikowa\u0142 komponent.<\/li>\n<li><strong>Nazwa komponentu<\/strong> (component name) \u2014 nazwa danej jednostki oprogramowania.<\/li>\n<li><strong>Wersja<\/strong> (version) \u2014 wskazuje konkretne wydanie. Dzi\u0119ki temu da si\u0119 odr\u00f3\u017cni\u0107 wersj\u0119 podatn\u0105 od ju\u017c za\u0142atanej.<\/li>\n<li><strong>Inne unikalne identyfikatory<\/strong> \u2014 np. <code>Package URL (purl)<\/code>, <code>CPE<\/code> czy tagi <code>SWID<\/code>. Pozwalaj\u0105 jednoznacznie po\u0142\u0105czy\u0107 komponent z bazami podatno\u015bci.<\/li>\n<li><strong>Relacja zale\u017cno\u015bci<\/strong> (dependency relationship) \u2014 informacja, kt\u00f3ry komponent zawiera si\u0119 w kt\u00f3rym, czyli ca\u0142e drzewo zale\u017cno\u015bci.<\/li>\n<li><strong>Autor danych SBOM<\/strong> \u2014 kto wygenerowa\u0142 sam dokument (niekoniecznie ten sam podmiot, co dostawca komponentu).<\/li>\n<li><strong>Znacznik czasu<\/strong> (timestamp) \u2014 data i godzina utworzenia rekordu.<\/li>\n<\/ul>\n<p>Poza polami z danymi NTIA wskazuje te\u017c wymagania dotycz\u0105ce <strong>automatyzacji<\/strong> (generowanie i przekazywanie w formacie czytelnym dla maszyn) oraz <strong>praktyk i proces\u00f3w<\/strong> (jak cz\u0119sto aktualizowa\u0107, jak g\u0142\u0119boko schodzi\u0107 w drzewo zale\u017cno\u015bci, jak obs\u0142ugiwa\u0107 tzw. <em>known unknowns<\/em> \u2014 znane luki w wiedzy, kontrola dost\u0119pu, obs\u0142uga b\u0142\u0119d\u00f3w). W praktyce SBOM bywa wzbogacany o sumy kontrolne komponent\u00f3w (<code>hash<\/code>) oraz odwo\u0142ania do znanych podatno\u015bci (<code>CVE<\/code>).<\/p>\n<h2>Jakie s\u0105 formaty SBOM? (SPDX, CycloneDX, SWID)<\/h2>\n<p>SBOM zapisuje si\u0119 w ustandaryzowanych formatach, kt\u00f3re maszyna potrafi odczyta\u0107. Trzy s\u0105 powszechnie uznawane (m.in. przez NTIA):<\/p>\n<ul>\n<li><strong>SPDX (Software Package Data Exchange)<\/strong> \u2014 rozwijany przez Linux Foundation, znormalizowany jako <code>ISO\/IEC 5962:2021<\/code>. Powsta\u0142 g\u0142\u00f3wnie z my\u015bl\u0105 o zgodno\u015bci licencyjnej i audycie open source; pozwala analizowa\u0107 pliki, a nawet fragmenty kodu. Obs\u0142uguje zapis w formie tag-value, <code>JSON<\/code>, <code>YAML<\/code> i RDF\/XML.<\/li>\n<li><strong>CycloneDX<\/strong> \u2014 rozwijany przez OWASP, z naciskiem na bezpiecze\u0144stwo i zarz\u0105dzanie podatno\u015bciami. Ma zwi\u0119z\u0142y, komponentowy model danych i wbudowan\u0105 obs\u0142ug\u0119 informacji o podatno\u015bciach oraz <strong>VEX<\/strong> (o nim ni\u017cej). Obs\u0142uguje <code>JSON<\/code>, <code>XML<\/code> i Protocol Buffers.<\/li>\n<li><strong>SWID (Software Identification Tags)<\/strong> \u2014 norma <code>ISO\/IEC 19770-2<\/code>, nastawiona na inwentaryzacj\u0119 zasob\u00f3w IT i licencjonowanie. Dzia\u0142a jak unikalny identyfikator instalacji, ale sam w sobie nie pokazuje pe\u0142nego drzewa zale\u017cno\u015bci. Dlatego do zastosowa\u0144 bezpiecze\u0144stwa u\u017cywa si\u0119 g\u0142\u00f3wnie SPDX i CycloneDX.<\/li>\n<\/ul>\n<h2>Jak powstaje SBOM?<\/h2>\n<p>Tworzenie SBOM przebiega zwykle w trzech krokach i jest automatyzowane w pipeline CI\/CD (czyli w procesie automatycznego budowania i wdra\u017cania oprogramowania):<\/p>\n<ol>\n<li><strong>Wykrycie komponent\u00f3w<\/strong> \u2014 narz\u0119dzie skanuje kod, pliki z list\u0105 zale\u017cno\u015bci (np. <code>package-lock.json<\/code>, <code>pom.xml<\/code>, <code>go.sum<\/code>) lub gotowe artefakty i obrazy kontener\u00f3w, \u017ceby wypisa\u0107 u\u017cyte biblioteki i pakiety.<\/li>\n<li><strong>Zebranie metadanych<\/strong> \u2014 pobranie wersji, licencji, identyfikator\u00f3w, sum kontrolnych i ewentualnych odwo\u0142a\u0144 do podatno\u015bci.<\/li>\n<li><strong>Wygenerowanie dokumentu<\/strong> \u2014 zapis danych w wybranym formacie (SPDX lub CycloneDX).<\/li>\n<\/ol>\n<p>SBOM mo\u017cna utworzy\u0107 na r\u00f3\u017cnych etapach: ze \u017ar\u00f3de\u0142 (source), w trakcie budowania (build), z gotowego pliku wynikowego (binary\/analyzed) albo przy wdro\u017ceniu. Wersja z fazy budowania bywa najwierniejsza, bo pokazuje zale\u017cno\u015bci faktycznie wpi\u0119te do programu. Popularne narz\u0119dzia open source to m.in. Syft i Trivy.<\/p>\n<h2>Dlaczego SBOM ma znaczenie dla bezpiecze\u0144stwa \u0142a\u0144cucha dostaw?<\/h2>\n<p>Wi\u0119kszo\u015b\u0107 dzisiejszych aplikacji opiera si\u0119 na komponentach open source i bibliotekach od innych dostawc\u00f3w. Cz\u0119sto s\u0105 one wielopoziomowe i niewidoczne wprost dla zespo\u0142u. Bez spisu organizacja nie wie, co tak naprawd\u0119 uruchamia. A je\u015bli nie wie, nie potrafi oceni\u0107, czy nowo ujawniona podatno\u015b\u0107 jej dotyczy.<\/p>\n<ul>\n<li><strong>Log4Shell (CVE-2021-44228)<\/strong> \u2014 krytyczna podatno\u015b\u0107 w bibliotece Apache Log4j, ujawniona w grudniu 2021. Problemem nie by\u0142o samo jej istnienie, lecz ustalenie, <em>gdzie<\/em> Log4j w og\u00f3le jest u\u017cywany \u2014 cz\u0119sto jako g\u0142\u0119boko ukryta zale\u017cno\u015b\u0107 tranzytywna. Firmy z aktualnym SBOM mog\u0142y niemal od razu wskaza\u0107 dotkni\u0119te systemy, zamiast przeszukiwa\u0107 wszystko r\u0119cznie.<\/li>\n<li><strong>SolarWinds (2020)<\/strong> \u2014 atak na \u0142a\u0144cuch dostaw, w kt\u00f3rym z\u0142o\u015bliwy kod wstrzykni\u0119to do procesu budowania zaufanego oprogramowania (Orion) i rozes\u0142ano przez legaln\u0105 aktualizacj\u0119. Incydent pokaza\u0142, jak wa\u017cna jest mo\u017cliwa do zweryfikowania przejrzysto\u015b\u0107 pochodzenia i integralno\u015bci komponent\u00f3w.<\/li>\n<\/ul>\n<p>W reakcji na takie zagro\u017cenia <strong>Executive Order 14028<\/strong> (rozporz\u0105dzenie wykonawcze prezydenta USA z maja 2021) nakaza\u0142 dostawcom oprogramowania dla agencji federalnych do\u0142\u0105czanie SBOM. NTIA i CISA (agencja ds. cyberbezpiecze\u0144stwa) opracowa\u0142y wtedy wytyczne co do minimalnych element\u00f3w i format\u00f3w. Tak SBOM sta\u0142 si\u0119 wymogiem regulacyjnym i elementem nale\u017cytej staranno\u015bci przy zakupach oprogramowania.<\/p>\n<h2>Czym jest VEX i jak uzupe\u0142nia SBOM?<\/h2>\n<p>SBOM m\u00f3wi, <em>jakie<\/em> komponenty s\u0105 obecne. Nie rozstrzyga jednak, czy dana podatno\u015b\u0107 da si\u0119 w danym produkcie realnie <strong>wykorzysta\u0107<\/strong>. T\u0119 luk\u0119 wype\u0142nia <strong>VEX (Vulnerability Exploitability eXchange)<\/strong> \u2014 towarzysz\u0105cy dokument, w kt\u00f3rym dostawca podaje status podatno\u015bci wobec swojego produktu: <em>not affected<\/em> (nie dotyczy), <em>affected<\/em> (dotyczy), <em>fixed<\/em> (naprawione) lub <em>under investigation<\/em> (w analizie).<\/p>\n<p>VEX ogranicza zalew zb\u0119dnych alert\u00f3w. Bez niego zestawienie SBOM z baz\u0105 CVE wskazuje jako zagro\u017cone tak\u017ce te komponenty, kt\u00f3re wprawdzie s\u0105 obecne, ale w danym produkcie nie da si\u0119 ich wykorzysta\u0107. CycloneDX obs\u0142uguje VEX wbudowanie; w \u015bwiecie SPDX robi si\u0119 to przez osobne dokumenty towarzysz\u0105ce.<\/p>\n<h2>SBOM w zarz\u0105dzaniu podatno\u015bciami i monitorowaniu<\/h2>\n<p>W codziennej pracy zespo\u0142\u00f3w bezpiecze\u0144stwa SBOM jest \u017ar\u00f3d\u0142em prawdy o tym, co jest wdro\u017cone. Gdy pojawia si\u0119 nowe CVE, zesp\u00f3\u0142 zestawia identyfikatory komponent\u00f3w z SBOM-\u00f3w wdro\u017conych system\u00f3w i od razu widzi, co jest nara\u017cone \u2014 bez skanowania ca\u0142ego \u015brodowiska od nowa. Dla <a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/soc-security-operations-center\">SOC<\/a> (centrum operacji bezpiecze\u0144stwa) i zespo\u0142\u00f3w reagowania skraca to czas od ujawnienia podatno\u015bci do jej priorytetyzacji i naprawy.<\/p>\n<p>SBOM dobrze uzupe\u0142nia widoczno\u015b\u0107 po stronie sieci. Telemetria sieciowa (przep\u0142ywy, ruch, fingerprinting) pokazuje, co i jak si\u0119 komunikuje, a SBOM \u2014 z jakich komponent\u00f3w zbudowane s\u0105 dzia\u0142aj\u0105ce w sieci us\u0142ugi. Po\u0142\u0105czenie obu warstw pozwala dok\u0142adniej powi\u0105za\u0107 aktywny ruch z konkretnym, potencjalnie podatnym oprogramowaniem oraz wychwytywa\u0107 r\u00f3\u017cnice mi\u0119dzy tym, co zadeklarowano, a tym, co faktycznie dzia\u0142a.<\/p>\n<h2>Ograniczenia i wyzwania SBOM<\/h2>\n<ul>\n<li><strong>Aktualno\u015b\u0107<\/strong> \u2014 SBOM to migawka stanu z chwili budowania. Bez automatyzacji szybko si\u0119 dezaktualizuje wraz ze zmianami w kodzie i wersjach.<\/li>\n<li><strong>Kompletno\u015b\u0107<\/strong> \u2014 komponenty \u0142adowane dynamicznie, wkompilowane na sta\u0142e lub celowo zaciemnione bywaj\u0105 trudne do wykrycia. St\u0105d <em>known unknowns<\/em> \u2014 luki, o kt\u00f3rych wiadomo, \u017ce istniej\u0105, ale nie wiadomo, co dok\u0142adnie kryj\u0105.<\/li>\n<li><strong>Interoperacyjno\u015b\u0107<\/strong> \u2014 r\u00f3\u017cnice mi\u0119dzy formatami i narz\u0119dziami utrudniaj\u0105 sp\u00f3jne korzystanie z SBOM-\u00f3w od wielu dostawc\u00f3w.<\/li>\n<li><strong>Skala i dystrybucja<\/strong> \u2014 generowanie, przechowywanie, wersjonowanie i bezpieczne udost\u0119pnianie SBOM-\u00f3w dla wielu produkt\u00f3w wymaga u\u0142o\u017conego procesu, a nie dzia\u0142a\u0144 od przypadku do przypadku.<\/li>\n<\/ul>\n<h2>Dowiedz si\u0119 wi\u0119cej<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.sycope.com\/pl\/post\/podatnosc-idor-jak-wykryc-atak-na-aplikacje-webowe-przez-analize-ruchu-http\">Podatno\u015b\u0107 IDOR \u2013 jak wykry\u0107 atak na aplikacje webowe przez analiz\u0119 ruchu HTTP<\/a> \u2014 IDOR pokazuje ryzyko nieautoryzowanego dost\u0119pu do danych, kt\u00f3re SBOM pomaga powi\u0105za\u0107 z podatnymi komponentami.<\/li>\n<li><a href=\"https:\/\/www.sycope.com\/pl\/post\/dictionary-item\/zero-day-exploit\">Zero-Day Exploit<\/a> \u2014 SBOM nie usuwa zero-day, ale u\u0142atwia szybkie ustalenie, gdzie podatny komponent jest u\u017cyty.<\/li>\n<li><a href=\"https:\/\/www.sycope.com\/pl\/post\/monitoring-sieci-i-network-visibility-analiza-ruchu-sieciowego-jako-podstawa-visibility-cybersecurity\">Monitoring sieci i network visibility \u2013 analiza ruchu sieciowego jako podstawa visibility cybersecurity<\/a> \u2014 Widoczno\u015b\u0107 sieci pomaga wykrywa\u0107 aktywno\u015b\u0107 podatnych komponent\u00f3w wyszczeg\u00f3lnionych w SBOM.<\/li>\n<li><a href=\"https:\/\/www.sycope.com\/pl\/post\/arp-spoofing-jak-wykryc-atak-man-in-the-middle-i-zatruwanie-arp-w-sieci-lan\">ARP Spoofing \u2013 jak wykry\u0107 atak Man-in-the-Middle i zatruwanie ARP w sieci LAN<\/a> \u2014 ARP spoofing dotyczy sieci, a SBOM wspiera ocen\u0119 ryzyka komponent\u00f3w wra\u017cliwych na takie ataki.<\/li>\n<\/ul>\n","protected":false},"featured_media":0,"template":"","class_list":["post-4834","dictionary-item","type-dictionary-item","status-publish","hentry"],"acf":{"tytul":"Software Bill of Materials (SBOM)","ikona":"","krotki_opis":"Czytelny dla maszyn spis wszystkich komponent\u00f3w, bibliotek i zale\u017cno\u015bci tworz\u0105cych oprogramowanie, z ich wersjami, pochodzeniem i licencjami. Podstawa panowania nad ryzykiem w \u0142a\u0144cuchu dostaw."},"_links":{"self":[{"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/dictionary-item\/4834","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/dictionary-item"}],"about":[{"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/types\/dictionary-item"}],"wp:attachment":[{"href":"https:\/\/www.sycope.com\/pl\/wp-json\/wp\/v2\/media?parent=4834"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}