Bezpečnost softwarového dodavatelského řetězce zaznamenaná z každého buildu
Váš softwarový dodavatelský řetězec se s vaším produktem potkává v buildu CI. CRACI spouští vaše joby GitHub Actions na bezpečných runnerech a zaznamenává každou závislost, kterou stáhnou, řídí, kam se každý build dostane, a dál sleduje zranitelnosti v tom, co jste dodali.
Bezpečné runnery pro GitHub Actions
Změňte runs-on na craci a vaše joby GitHub Actions poběží na runnerech CRACI, přičemž běhy zůstanou vidět v GitHubu. Každý job dostane vlastní izolovaný virtuální stroj s Linuxem na x86-64 nebo ARM64, hostovaný v Evropě. Buildy běží přibližně dvakrát rychleji než na runnerech hostovaných na GitHubu díky rychlejšímu hardwaru, kratším frontám a cache.
SBOM zaznamenaná z každého buildu
CRACI zaznamenává, neskenuje. Proxy na runneru, která rozumí balíčkům, vidí každý balíček, který job stáhne ze zdrojů npm, PyPI, RubyGems, Cargo, Go, Nix, OCI, apt, apk a Git, a k tomu z předvoleb pro stahování Yocto a OpenEmbedded, včetně balíčků obnovených z cache CI. SBOM každého jobu nese stav úplnosti a exportuje se ve formátu CycloneDX nebo SPDX s tranzitivními závislostmi a deklarovanou licencí každé komponenty.
Mějte pod kontrolou, kam se build dostane
Politika odchozího provozu (egress policy) určuje, ke kterým hostům se job smí připojit: výchozí zákaz nebo výchozí povolení, 24 vestavěných předvoleb softwarových zdrojů, typované vlastní zdroje pro registry balíčků a Git a explicitní síťová pravidla. Politika se ověří před startem jobu, při selhání vše zablokuje (fail-closed) a porušení spustí upozornění. Kompromitovaná závislost nebo krok buildu tak nemůže potichu odeslat data na host, který jste nikdy neschválili.
Původ (provenance) toho, co dodáváte
Veřejné REST API vrací pro každý job SBOM, síťové záznamy a údaje o původu, vše zaznamenané ze stejného buildu. Důkazy vznikají přímo v buildu, bez dalšího kroku ve workflow.
Sledování zranitelností po vydání
CRACI průběžně znovu vyhodnocuje SBOM toho, co jste dodali, jakmile jsou zveřejněny nové zranitelnosti, a agreguje nálezy napříč buildy a repozitáři. Bezpečnostní týmy na nich provádějí triáž a každý předají týmu, který odpovídá za opravu. Kontrolní brány politik (policy gates) mohou zablokovat build kvůli nálezům nebo licenci, VEX je podporován, SBOM dodavatelů se monitorují spolu s vašimi buildy a pohled inventáře ukazuje, které verze softwaru jsou nasazeny ve kterých produktech.
Důkazy pro zákazníky a auditory
Zákazníci, auditoři i předpisy stále častěji požadují SBOM ke každému vydání a záznam o tom, jak byly zranitelnosti řešeny. CRACI exportuje SBOM ve formátu CycloneDX nebo SPDX včetně zranitelností nalezených v jejich komponentách a veřejné REST API vrací SBOM, síťové záznamy a údaje o původu. Stejné důkazy podporují evropský Cyber Resilience Act, NIS2, požadavky FDA na SBOM a kontroly dodavatelského řetězce podle ISO 27001.
Otázky, které vyvolá incident v dodavatelském řetězci
Když je kompromitován balíček, akce CI nebo registr, první hodiny padnou na zjišťování, zda se vás to týká. Toto jsou otázky, které si týmy kladou, a místa, kde na ně odpovídá záznam buildu v CRACI.
| Otázka | Jak na ni odpovídá CRACI |
|---|---|
| Stáhl některý z našich buildů kompromitovanou verzi balíčku? | SBOM každého buildu uvádí balíčky, které job skutečně stáhl, takže prohledáváte zaznamenané buildy, místo abyste znovu skenovali repozitáře. |
| Kterých našich produktů a vydání se to týká? | Monitorované SBOM se průběžně znovu vyhodnocují a pohled inventáře přiřazuje verze softwaru k produktům, ve kterých jsou nasazeny. |
| Mohl nějaký krok buildu někam odeslat tajné klíče? | Síťový záznam každého jobu zaznamenává navázaná spojení a politika odchozího provozu blokuje hosty mimo politiku dříve, než se k nim build dostane. |
| Je tato SBOM dost úplná na to, abychom ji předali? | SBOM každého jobu uvádí svou úplnost: Complete, Complete with connections, Incomplete, Unavailable nebo Not recorded. |
| Kdo to opravuje a můžeme prokázat, že se to vyřešilo? | Na nálezech se provádí triáž a předávají se odpovědným týmům, a SBOM se exportují ve formátu CycloneDX nebo SPDX se zranitelnostmi nalezenými v jejich komponentách. |
CRACI pokrývá build a to, co z něj dodáváte. Skenování kódu, skenování tajných klíčů a analýza dosažitelnosti zůstávají vašim nástrojům pro bezpečnost aplikací. Dnes je podporován GitHub Actions, další systémy CI jsou v plánu vývoje.
Bezpečnost softwarového dodavatelského řetězce: odpovědi
Co pokrývá, proč patří do CI/CD a jakou roli v ní hraje CRACI
Co je bezpečnost softwarového dodavatelského řetězce?
Bezpečnost softwarového dodavatelského řetězce chrání vše, co do vašeho softwaru vstupuje mezi prvním commitem a vydáním: open source závislosti, základní image, nástroje pro build, akce CI od třetích stran, samotnou pipeline CI a artefakty, které dodáváte. Znamená to vědět, co tyto části jsou, mít pod kontrolou, odkud pocházejí, a umět prokázat, co se dostalo do každého vydání.
Proč zabezpečit softwarový dodavatelský řetězec v CI/CD?
Právě v buildu vydání se závislosti vyřeší, stáhnou a zabalí. Produkční build není build na notebooku: rozsahy verzí, měnitelné tagy a cache znamenají, že může stáhnout něco jiného. Záznam pořízený během buildu vydání je jediný spolehlivý záznam toho, co se dodalo, a runner buildu je místo, kde můžete řídit, kam se build smí dostat.
Čím se CRACI liší od skeneru bezpečnosti dodavatelského řetězce?
Skenery čtou soubory až dodatečně: manifest, lockfile, zdrojový kód nebo hotovou binárku. CRACI je runner pro vaše joby GitHub Actions, takže sleduje build v okamžiku, kdy probíhá, a zaznamenává balíčky, které každý job skutečně stáhl, včetně balíčků obnovených z cache CI. Každá SBOM uvádí svou úplnost, politika odchozího provozu řídí, kam se build dostane, a API vrací SBOM, síťové záznamy a údaje o původu.
Nahrazuje CRACI moje workflow GitHub Actions?
Ne. CRACI nahrazuje runner, ne GitHub Actions. Změníte runs-on na craci a vaše workflow, spouštěče i historie běhů zůstanou v GitHubu.
Které systémy CI a platformy CRACI podporuje?
Dnes GitHub Actions; další systémy CI, mezi nimi GitLab CI a Jenkins, jsou v plánu vývoje. Runnery běží na Linuxu na x86-64 a ARM64, Windows a macOS jsou v plánu vývoje.
Dělá CRACI SAST, skenování tajných klíčů nebo analýzu dosažitelnosti?
Ne. CRACI zaznamenává a řídí build, sleduje zranitelnosti v tom, co jste dodali, a vytváří důkazy. Skenování vlastního kódu na chyby nebo tajné klíče a analýza dosažitelnosti jsou úkolem nástroje pro bezpečnost aplikací.
Kde jsou uložena data mých buildů?
CRACI je hostován v Evropě na evropské bare-metal infrastruktuře a data se ve výchozím nastavení uchovávají 180 dní, s vlastní dobou uchování v plánu Enterprise. CRACI neukládá váš zdrojový kód. CRACI má certifikaci ISO 27001; podrobnosti najdete v Trust Center.
Zjistěte, co vaše buildy skutečně stahují
Rezervujte si demo a podívejte se na SBOM, síťový záznam, politiku odchozího provozu a údaje o původu, které CRACI zaznamenává pro build GitHub Actions
Rezervujte si demo