Srovnání
CRACI a Dependabot
Dependabot bývá prvním nástrojem pro dodavatelský řetězec, který tým na GitHubu zapne, a měl by zůstat zapnutý. CRACI přidává to, co Dependabot nikdy neměl vidět: co vaše buildy skutečně dělaly.
Aktualizováno
Dependabot si nechte. Tohle pokrývá.
Pokud je váš kód na GitHubu, Dependabot pravděpodobně už používáte. Dělá tři užitečné věci. Upozornění Dependabotu vám dají vědět, když závislost ve vašem repozitáři odpovídá známé zranitelnosti. Bezpečnostní aktualizace otevírají pull requesty, které zranitelné závislosti aktualizují. Aktualizace verzí udržují závislosti aktuální, i když žádná zranitelnost není.
To vše stojí na grafu závislostí GitHubu, který parsuje manifesty a lockfily ve vašem repozitáři. GitHub umí tento graf exportovat jako SBOM v SPDX. Pro ekosystémy jako Go, Gradle a Maven mohou hotové actions odesílat závislosti vyřešené v době buildu přes dependency submission API.
Pro udržování závislostí opravených s minimálním úsilím je Dependabot těžko překonatelný a CRACI pull requesty neotevírá. CRACI přidává druhou polovinu: záznam toho, co si každý build skutečně stáhl, monitorovaný kvůli novým zranitelnostem, takže víte, kterých vydaných buildů se nové bezpečnostní upozornění týká a které pull requesty s aktualizacemi sloučit jako první.
Otázky, na které Dependabot neodpovídá
Dependabot je postavený kolem repozitáře. Skenuje výchozí větev a spoléhá na vaše manifesty a lockfily. Dokumentace GitHubu to říká přímo: upozornění nemohou zachytit každý bezpečnostní problém, manifesty a lockfily byste měli udržovat aktuální kvůli přesné detekci a upozornění spouštějí jen bezpečnostní upozornění ověřená GitHubem.
Zůstávají tak otázky, které jednou dostane vedoucí bezpečnosti nebo souladu:
- Co build pro vydání 4.2 skutečně stáhl, včetně nástrojů a image, které nejsou v žádném manifestu?
- Mohl se build během běhu dostat k libovolnému hostiteli na internetu?
- Dokážete prokázat, že binární soubor, který zákazník dostal, pochází z tohoto buildu?
- Dokážete tyto důkazy předložit auditorovi o několik měsíců později?
Odpovědět na ně vyžaduje pohled zevnitř buildu, a právě tam CRACI běží.
| Funkce | CRACI | Dependabot |
|---|---|---|
| Spouští vaše buildy | Joby běží na runnerech CRACI | Čte data repozitáře, ne build |
| Závislosti zaznamenané z buildu | Sledovaná stahování, včetně obnovení z cache CI | Manifesty a lockfily, navíc dependency submission API |
| Export SBOM | CycloneDX a SPDX, úplnost pro každý job a cache | Export grafu závislostí v SPDX |
| Egress policy pro síť buildu | Výchozí zákaz nebo povolení, fail-closed | Mimo jeho záběr |
| Upozornění na zranitelnosti | Agregovaná napříč buildy a repozitáři | Z bezpečnostních upozornění ověřených GitHubem |
| Monitorování nových bezpečnostních upozornění | Monitorované SBOM průběžně znovu vyhodnocovány | Upozornění pro výchozí větev, jak přibývají nová |
| Otevírá pull requesty s aktualizacemi | Bezpečnostní aktualizace a aktualizace verzí | |
| Triáž a předání týmům, které za kód odpovídají | Napříč buildy a repozitáři | Upozornění pro každý repozitář zvlášť |
| Funguje bez změny runnerů | Joby musí běžet na CRACI | Vestavěno do repozitářů GitHubu |
| Důkazy o souladu | SBOM v CycloneDX nebo SPDX, záznamy přes API; bez exportu reportů | Přehledy upozornění a export SPDX v GitHubu |
- Součástí
- Částečně
- Není součástí
Co CRACI přidává
Přehled v době buildu
CRACI je runner kompatibilní s GitHub Actions. Změníte runs-on na craci a vaše joby
poběží na CRACI v izolovaných virtuálních strojích, přičemž běhy se dál zobrazují v rozhraní GitHubu. Během každého jobu
proxy, která rozumí balíčkům, zaznamenává provoz ke zdrojům balíčků: npm, PyPI, RubyGems, Composer, Cargo, Go, Nix, OCI, apt, apk a zdroje Git, navíc předvolby pro stahování. Balíčky obnovené z cache CI se přenášejí dál, protože důkazy
o závislostech putují spolu s cache.
Každá SBOM uvádí, jak je úplná, pro každý job a každou cache: Complete, Complete with connections, Incomplete, Unavailable nebo Not recorded. To je rozdíl oproti grafu, který je jen tak dobrý jako soubory, které parsuje.
Rozdíl se projeví v praxi. Export grafu závislostí z GitHubu vychází z toho, co GitHub ví o repozitáři, takže může uvádět komponenty, které žádný skener založený na souborech nenajde, a odráží výchozí větev, ne commit, který jste sestavili. Ani jedno chování není chybné vzhledem k tomu, k čemu je graf určen. Ukazují, proč je pohled na repozitář a záznam o buildu něco jiného. (CRACI takto porovnat nelze, protože zaznamenává buildy, místo aby skenoval adresáře.)
Kontroly za běhu
Dependabot vám o zranitelném balíčku řekne, až když je ve vašem manifestu. Nemá žádný vliv na to, kam se build může připojit. CRACI ano, protože build spouští. Egress policy mají výchozí zákaz nebo výchozí povolení, s 24 vestavěnými předvolbami softwarových zdrojů, typovanými vlastními zdroji pro npm, PyPI, apt, apk, Go proxy, Nix, Cargo, registry OCI a Git a explicitními pravidly TLS, TCP, UDP a ICMP. Politiky se ověřují před spuštěním jobu, při selhání vše zablokují (fail-closed) a při porušení spustí výstrahu.
Původ (provenance)
CRACI generuje SBOM uvnitř vlastního runneru, z toho, co job stáhl. API vrací SBOM, síťové stopy a původ.
Důkazy o souladu
Předpisy jako evropský Cyber Resilience Act požadují, aby výrobci věděli, co je v každém vydání produktu, a řešili v něm zranitelnosti. CRACI agreguje zranitelnosti napříč buildy a repozitáři, průběžně znovu vyhodnocuje monitorované SBOM, jak se objevují nová bezpečnostní upozornění, a exportuje SBOM jako CycloneDX nebo SPDX, včetně zranitelností. Automatizuje významnou část přehledu o softwarovém dodavatelském řetězci a důkazů, které firmy potřebují pro svůj širší proces souladu s CRA. Více se dozvíte na stránkách co je CRA a důkazy pro CRA.
Inventář toho, co je kde nasazeno
Pohled inventáře v CRACI přesně ukazuje, které verze softwaru jsou nasazeny ve kterých produktech, a to globálně. Když se objeví nová zranitelnost, vidíte, které produkty používají dotčenou verzi, místo abyste to skládali dohromady z poznámek k vydání a tabulek.
Jak týmy používají obojí
- Dependabot udržuje závislosti ve výchozí větvi opravené a otevírá pull requesty, když přijdou bezpečnostní upozornění.
- CRACI spouští joby GitHub Actions, zaznamenává, co každý build stáhl, omezuje, kam se buildy mohou připojit, monitoruje vše, co si každý build stáhl, kvůli novým zranitelnostem a uchovává důkazy o vydání.
Není co migrovat. Dependabot dál funguje ve vašich repozitářích a vaše workflow dál běží v GitHub Actions, jen na jiném runneru.
CRACI dnes podporuje GitHub Actions, tedy totéž místo, kde žije Dependabot. Přečtěte si o generování SBOM z doby buildu, sledování zranitelností a ceníku.
CRACI a Dependabot: časté dotazy
Co který nástroj pokrývá, SBOM, ceny a soulad
Nahrazuje CRACI Dependabot?
Ne. Dependabot nechte zapnutý. Označuje zranitelné závislosti ve vašich repozitářích a otevírá pull requesty, které je aktualizují. CRACI spouští vaše joby GitHub Actions a zaznamenává, co si každý build skutečně stáhl, kontroluje, kam se buildy mohou připojit, a monitoruje vydaný software kvůli novým zranitelnostem.
Nahrazují přehledy zranitelností v CRACI upozornění Dependabotu?
Ne. Odpovídají na jinou otázku. Upozornění Dependabotu se týkají výchozí větve jednoho repozitáře. CRACI agreguje zranitelnosti napříč buildy a repozitáři a průběžně znovu vyhodnocuje monitorované SBOM, takže vidíte, které buildy sdílejí zranitelnou závislost, a bezpečnostní týmy mohou nálezy roztřídit a poslat týmu, který odpovídá za opravu. Policy gates mohou build zablokovat; upozornění při překročení prahových hodnot jsou v plánu vývoje.
Otevírá CRACI pull requesty jako Dependabot?
Ne. Bezpečnostní aktualizace a aktualizace verzí v Dependabotu otevírají pull requesty; CRACI ne. CRACI přidává záznam o buildu, takže když přijde nové bezpečnostní upozornění, víte, kterých vydaných buildů se týká a které pull requesty s aktualizacemi sloučit jako první.
Jak se liší SBOM z GitHubu a z CRACI?
GitHub exportuje graf závislostí jako SBOM v SPDX, sestavenou z manifestů a lockfilů v repozitáři a z dependency submission API, a ta odráží výchozí větev. CRACI zaznamenává SBOM během každého buildu a exportuje ji jako CycloneDX nebo SPDX, se stavem úplnosti pro každý job a každou cache, který vám řekne, zda měl záznam mezeru.
Pomůže CRACI, když závislost není v žádném manifestu?
Ano, pokud ji build stáhne ze zdroje balíčků. Protože CRACI zaznamenává provoz během jobu, i nástroj stažený skriptem nebo balíček obnovený z cache se v záznamu o buildu objeví a stav úplnosti SBOM vám řekne, zda se něco nepodařilo zaznamenat.
Kolik stojí Dependabot a CRACI?
Bezpečnostní aktualizace a aktualizace verzí v Dependabotu jsou součástí každého plánu GitHubu, včetně Free (stav k září 2026). CRACI účtuje pouze minuty buildu: $0.002 za vCPU-minutu ($0.004 za výchozí runner se 2 vCPU), účtováno po sekundách, bez měsíčního poplatku a bez poplatku za SBOM. Aktuální podmínky najdete v ceníku.
Je CRACI jen pro týmy s požadavky na soulad?
Ne, ale tam se důkazy vyplatí nejvíc. Pokud prodáváte software v EU, Cyber Resilience Act činí z inventáře komponent pro každé vydání a z řešení zranitelností součást práce. Pro všechny ostatní je znalost toho, co vaše buildy stahují, stále základem reakce na incidenty v dodavatelském řetězci. Rezervujte si demo a podívejte se na záznam o buildu jednoho z vašich vlastních workflow.
Podívejte se, co Dependabot nevidí
Spusťte jeden workflow GitHub Actions na CRACI a porovnejte jeho záznam o buildu se svým grafem závislostí.
Rezervujte si demo