Srovnání
CRACI vs Finite State
Finite State sestavuje záznam o riziku produktu ze všeho, co do zařízení vstupuje, včetně kódu, který jste nenapsali. CRACI sestavuje záznam z jediného místa, které máte plně pod kontrolou: z vašeho vlastního buildu.
Aktualizováno
Stručná odpověď
Finite State je platforma pro bezpečnost produktů určená pro připojená zařízení. Analyzuje firmware, binárky, zdrojový kód a SBOM od dodavatelů, řadí zranitelnosti podle dosažitelnosti a výsledky převádí na důkazy pro předpisy, jako je CRA. CRACI je runner pro GitHub Actions, který během buildu zaznamenává, co build stahuje, z tohoto záznamu vytváří SBOM a řídí, kam se build může připojit. Finite State analyzuje to, co dodáváte, ať to pochází odkudkoli; CRACI zaznamenává, co udělal váš vlastní build. Většinou se navzájem doplňují.
Přehled
| Funkce | CRACI | Finite State |
|---|---|---|
| Spouští vaše buildy | Joby běží na runnerech CRACI | Vaše CI do něj nahrává binárky nebo SBOM |
| Zaznamenává, co build stáhl | Sledováno runnerem během každého jobu | Analyzuje zdrojový kód, binárky a SBOM od dodavatelů |
| Egress policy během buildu | Kontrolována před jobem, při selhání vše zablokuje | Mimo jeho rozsah |
| Analýza binárek a firmwaru | Více než 50 binárních architektur instrukční sady | |
| SBOM od dodavatelů a nálezy třetích stran | SBOM od dodavatelů lze přidat; bez nálezů třetích stran | Načítány do jednoho záznamu produktu |
| Analýza dosažitelnosti | Upřednostňuje to, co je skutečně zneužitelné | |
| Zaznamenaná rozhodnutí triáže | Triáž nálezů a jejich předání týmům | Rozhodnutí VEX se stavem zneužitelnosti |
| SBOM ve formátech CycloneDX a SPDX | Pro každý build, se stavem úplnosti | Pro každé vydání, ze zdrojového kódu a binárek |
| Důkazy pro CRA | SBOM ve formátu CycloneDX nebo SPDX, záznamy přes API, připravený obsah oznámení podle CRA; bez exportu reportů | Mapování kontrol CRA a reporty připravené pro audit |
| Systémy CI | Dnes GitHub Actions; GitLab CI a Jenkins v plánu vývoje | GitHub Actions, GitLab CI, Jenkins a další |
- Součástí
- Částečně
- Není součástí
Co Finite State dělá dobře
Pokrytí binárek a firmwaru. Finite State vytváří SBOM a softwarový inventář napříč firmwarem, binárkami i zdrojovým kódem, „s podporou více než 50 binárních architektur instrukční sady“. U zařízení, které spouští kód od mnoha dodavatelů na neobvyklých čipech, je právě tato šíře podstatná.
Jeden záznam napříč dodavateli. Firmware, binárky, zdrojový kód, SBOM od dodavatelů i nálezy třetích stran soustřeďuje do jedné platformy, což pomáhá, když potřebujete porovnat, co dodavatel tvrdí, s tím, co v produktu skutečně je.
Méně šumu. Finite State řadí nálezy podle dosažitelnosti, informací o exploitech a kontextu produktu. Uvádí, že od roku 2024 bylo 40,5 % nálezů, u nichž analyzoval dosažitelnost, potvrzeno jako nedosažitelné. Zaznamenává rozhodnutí VEX s dopadem na produkt a stavem zneužitelnosti.
Důkazy o souladu. Jeho compliance workflow pokrývá mapování kontrol podle EU CRA a údržbu důkazů a generuje reporty připravené pro audit s artefakty SBOM a VEX. Zabývá se i rámci jako pokyny FDA, UN R155 a IEC 62443.
Integrace s CI. Finite State vkládá checky do GitHub Actions, GitLab CI a Jenkins. Jeho action Binary Scan nahraje binárku sestavenou během CI na platformu Finite State k rychlému nebo úplnému skenu.
V čem je CRACI jiné
Finite State vychází z artefaktů: hotové binárky, stromu zdrojového kódu, SBOM, který poslal dodavatel. CRACI vychází ze samotného buildu, protože build běží na CRACI.
Pozorováno, ne odvozeno
Změníte runs-on na craci a job poběží v izolovaném virtuálním stroji na runneru CRACI.
Proxy, která rozumí balíčkům, zaznamenává, co job stahuje ze zdrojů balíčků, a balíčky obnovené z cache CI se
přenášejí dál. 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. Týmy vyvíjející firmware mohou spouštět Yocto na runnerech s až 32 vCPU
a 96 GB RAM.
Zdroje, které BitBake stahuje ze zrcadla zdrojů Yocto, se zaznamenávají v SBOM jobu CRACI.
Jak si vede skenování hotového image Yocto, se dočtete v článku proč skenery SBOM přehlížejí, co je v buildech Yocto.
Kontrola během buildu
Sken výstupu nemůže změnit, kam se build dokázal dostat. Egress policy CRACI to dokáže: je ve výchozím stavu deny nebo allow, ověřuje se před spuštěním jobu, při selhání vše zablokuje a při porušení odešle upozornění.
Původ a monitorování
API vrací SBOM, síťové záznamy a údaje o původu (provenance). CRACI agreguje zranitelnosti napříč buildy a repozitáři a monitorované SBOM průběžně znovu vyhodnocuje, jakmile se objeví nová bezpečnostní upozornění.
CRACI neanalyzuje binárky ani neprovádí analýzu dosažitelnosti. Jeho záznam o buildu pokrývá buildy, které na něm běží, a můžete přidat SBOM dodané vašimi dodavateli. U firmwaru od dodavatelů, který dostáváte jako binárku bez SBOM, pokrývá Finite State oblast, kterou CRACI nepokrývá.
Inventář toho, co je kde nasazeno
Inventář v CRACI přesně ukazuje, které verze softwaru jsou nasazeny ve kterých produktech, a to globálně. Když se objeví nová zranitelnost, uvidíte, které produkty používají dotčenou verzi, místo abyste to skládali dohromady z poznámek k vydání a tabulek.
Kdy použít které a kdy obojí
- Většina vašeho firmwaru pochází od dodavatelů. Finite State. Analýza binárek a načítání SBOM od dodavatelů jsou stavěné právě na to.
- Vlastní image a aplikace sestavujete v GitHub Actions. CRACI zaznamená každý build. Nahrajte stejný artefakt do Finite State a budete mít záznam o buildu i analýzu binárky vedle sebe.
- Potřebujete systém záznamů pro mnoho produktů a dodavatelů. Finite State. SBOM z CRACI se exportují jako CycloneDX nebo SPDX, tedy ve formátech, které Finite State přijímá přes svou upload action.
- Chcete omezit, co mohou buildy stahovat. CRACI. Tato kontrola existuje jen tam, kde build běží.
Pro CRA
Cyber Resilience Act požaduje, aby výrobci identifikovali a zdokumentovali komponenty ve svých produktech, včetně SBOM, řešili zranitelnosti po celou dobu podpory a od září 2026 oznamovali aktivně zneužívané zranitelnosti. Finite State pomáhá tyto důkazy sestavit napříč produktem a jeho dodavateli, s mapováním kontrol CRA a reporty. CRACI pomáhá tím, že pro každý build vytváří důkazy o tom, co vstoupilo do softwaru, který sestavujete, s údaji o původu, průběžným monitorováním a exportem SBOM jako CycloneDX nebo SPDX. CRACI automatizuje významnou část přehledu o softwarovém dodavatelském řetězci a důkazů, které výrobci potřebují pro svůj širší proces souladu s CRA; sám o sobě ale produkt do souladu nepřivede. Přečtěte si, co CRA požaduje.
Nasazení CRACI vedle Finite State
Z Finite State nemusíte nic přesouvat. Nasměrujte svůj build job na runs-on: craci, ponechte krok
nahrávání do Finite State a stejné workflow poběží na runneru CRACI, zatímco ho CRACI zaznamenává. Pro Yocto ukazuje
příklad v dokumentaci CRACI kompletní workflow
s BitBake. CRACI dnes podporuje pouze GitHub Actions, takže pipeline v GitLab CI nebo Jenkins by se musely přesunout,
aby mohly používat runnery CRACI. GitLab CI a Jenkins jsou v plánu vývoje. Podívejte se, jak CRACI funguje pro
průmyslový IoT a
spotřební elektroniku.
Zvažujete víc než dva nástroje? Alternativy k Finite State srovnávají vedle sebe devět možností.
Prohlédněte si záznam z jednoho z vašich buildů
Rezervujte si demo a my spustíme jeden z vašich firmwarových buildů v GitHub Actions na CRACI a projdeme s vámi, co stáhl.
Rezervujte si demo