Comparatif
CRACI vs Finite State
Finite State construit un dossier du risque produit à partir de tout ce qui entre dans un appareil, y compris le code que vous n'avez pas écrit. CRACI construit un enregistrement à partir du seul endroit que vous maîtrisez entièrement : votre propre build.
Mis à jour le
En bref
Finite State est une plateforme de sécurité produit pour les appareils connectés. Elle analyse les firmwares, les binaires, le code source et les SBOM des fournisseurs, priorise les vulnérabilités par atteignabilité et transforme les résultats en preuves pour des réglementations telles que le CRA. CRACI est un runner GitHub Actions qui enregistre ce que chaque build récupère pendant son exécution, produit la SBOM à partir de cet enregistrement et contrôle les destinations auxquelles le build peut se connecter. Finite State analyse ce que vous livrez, quelle qu'en soit l'origine ; CRACI enregistre ce qu'a fait votre propre build. Ils sont largement complémentaires.
En un coup d'œil
| Fonctionnalité | CRACI | Finite State |
|---|---|---|
| Exécute vos builds | Les jobs s'exécutent sur des runners CRACI | Votre CI lui envoie des binaires ou des SBOM |
| Enregistre ce que le build a récupéré | Observé par le runner pendant chaque job | Analyse le code source, les binaires et les SBOM des fournisseurs |
| Politique de trafic sortant pendant le build | Vérifiée avant le job, blocage total en cas d'échec | Hors de son périmètre |
| Analyse de binaires et de firmware | Plus de 50 architectures de jeux d'instructions binaires | |
| SBOM des fournisseurs et résultats tiers | Les SBOM des fournisseurs peuvent être ajoutées ; pas de résultats tiers | Ingérés dans un seul dossier produit |
| Analyse d'atteignabilité | Priorise ce qui est réellement exploitable | |
| Décisions de tri enregistrées | Tri et envoi des résultats aux équipes | Décisions VEX avec statut d'exploitabilité |
| SBOM en CycloneDX et SPDX | Par build, avec un état de complétude | Par release, à partir du code source et des binaires |
| Preuves pour le CRA | SBOM en CycloneDX ou SPDX, enregistrements via l'API ; pas d'export de rapport | Correspondance des contrôles CRA et rapports prêts pour l'audit |
| Systèmes CI | GitHub Actions aujourd'hui ; GitLab CI et Jenkins sur la roadmap | GitHub Actions, GitLab CI, Jenkins et d'autres |
- Inclus
- En partie
- Non inclus
Ce que Finite State fait bien
La couverture des binaires et des firmwares. Finite State produit des SBOM et un inventaire logiciel couvrant les firmwares, les binaires et le code source, « with support for 50+ binary instruction set architectures. » Pour un appareil qui exécute du code de nombreux fournisseurs sur des puces inhabituelles, cette étendue est tout l'intérêt.
Un seul dossier pour tous les fournisseurs. Il réunit les firmwares, les binaires, le code source, les SBOM des fournisseurs et les résultats tiers dans une seule plateforme, ce qui aide lorsque vous devez confronter ce qu'affirme un fournisseur à ce que contient réellement le produit.
Moins de bruit. Finite State classe les résultats selon l'atteignabilité, les renseignements sur les exploits et le contexte du produit. Il indique que depuis 2024, 40,5 % des résultats qu'il a analysés sous l'angle de l'atteignabilité ont été confirmés comme inatteignables. Il enregistre les décisions VEX avec l'impact sur le produit et le statut d'exploitabilité.
Les preuves de conformité. Son workflow de conformité couvre la correspondance avec les contrôles du CRA de l'UE et la tenue à jour des preuves, et génère des rapports prêts pour l'audit avec des artefacts SBOM et VEX. Il traite aussi des cadres tels que les recommandations de la FDA, UN R155 et IEC 62443.
Les intégrations CI. Finite State intègre des vérifications dans GitHub Actions, GitLab CI et Jenkins. Son action Binary Scan envoie un binaire construit pendant la CI à la plateforme Finite State pour un scan rapide ou complet.
Ce qui distingue CRACI
Finite State part des artefacts : le binaire fini, l'arborescence des sources, la SBOM envoyée par un fournisseur. CRACI part du build lui-même, car le build s'exécute sur CRACI.
Observé, pas déduit
Vous remplacez runs-on par craci et le job s'exécute dans une machine virtuelle isolée sur un runner CRACI. Un proxy qui comprend les paquets enregistre ce que le job télécharge depuis les sources de paquets, et les paquets restaurés depuis les caches CI sont reportés. Chaque SBOM indique son niveau de complétude, par job et par cache : Complete, Complete with connections, Incomplete, Unavailable ou Not recorded. Les équipes firmware peuvent exécuter Yocto sur des runners allant jusqu'à 32 vCPU et 96 Go de RAM. Les sources que BitBake récupère depuis le miroir de sources Yocto sont enregistrées dans la SBOM du job CRACI.
Du contrôle pendant le build
Un scan du résultat ne peut pas changer ce que le build a pu joindre. La politique de trafic sortant de CRACI, si : elle fonctionne en refus ou en autorisation par défaut, est validée avant le démarrage du job, bloque tout en cas d'échec et envoie une alerte en cas de violation.
Provenance et surveillance
L'API renvoie les SBOM, les traces réseau et la provenance. CRACI agrège les vulnérabilités de l'ensemble des builds et des dépôts et continue de réévaluer les SBOM surveillées à mesure que paraissent les avis de sécurité.
CRACI n'analyse pas les binaires et ne réalise pas d'analyse d'atteignabilité. Son enregistrement de build couvre les builds qui s'exécutent sur lui, et vous pouvez ajouter les SBOM de vos fournisseurs. Pour les firmwares de fournisseurs que vous recevez sous forme binaire sans SBOM, Finite State couvre un terrain que CRACI ne couvre pas.
Un inventaire de ce qui est déployé et où
La vue d'inventaire de CRACI montre précisément quelles versions logicielles sont déployées dans quels produits, à l'échelle mondiale. Lorsqu'une nouvelle vulnérabilité apparaît, vous voyez quels produits exécutent la version concernée, au lieu de reconstituer l'information à partir de notes de version et de tableurs.
Quand utiliser l'un, l'autre, ou les deux
- L'essentiel de votre firmware vous vient de fournisseurs. Finite State. L'analyse de binaires et l'ingestion des SBOM des fournisseurs sont conçues pour cela.
- Vous construisez vos propres images et applications dans GitHub Actions. CRACI enregistre chaque build. Envoyez le même artefact à Finite State et vous aurez côte à côte l'enregistrement du build et l'analyse du binaire.
- Vous avez besoin d'un système de référence pour de nombreux produits et fournisseurs. Finite State. Les SBOM de CRACI s'exportent en CycloneDX ou SPDX, des formats que Finite State accepte via son action d'envoi.
- Vous voulez limiter ce que les builds peuvent télécharger. CRACI. Ce contrôle n'existe que là où le build s'exécute.
Pour le CRA
Le Cyber Resilience Act demande aux fabricants de recenser et de documenter les composants de leurs produits, notamment au moyen d'une SBOM, de gérer les vulnérabilités pendant toute la période de support et, à partir de septembre 2026, de signaler les vulnérabilités activement exploitées. Finite State aide à rassembler ces preuves à l'échelle d'un produit et de ses fournisseurs, avec la correspondance des contrôles CRA et des rapports. CRACI aide en produisant, pour chaque build, des preuves de ce qui est entré dans les logiciels que vous construisez, avec la provenance, une surveillance continue et l'export des SBOM en CycloneDX ou SPDX. CRACI automatise une part importante de la visibilité sur la chaîne d'approvisionnement logicielle et des preuves dont les fabricants ont besoin pour leur démarche plus large de conformité au CRA ; il ne rend pas un produit conforme à lui seul. Lire ce qu'exige le CRA.
Ajouter CRACI à côté de Finite State
Rien ne doit quitter Finite State. Définissez runs-on: craci sur votre job de build, gardez l'étape d'envoi à Finite State, et le même workflow s'exécute sur un runner CRACI pendant que CRACI l'enregistre. Pour Yocto, l'exemple de la documentation CRACI présente un workflow BitBake complet. CRACI ne prend en charge que GitHub Actions aujourd'hui : les pipelines GitLab CI ou Jenkins devraient donc migrer pour utiliser les runners CRACI. GitLab CI et Jenkins figurent sur la roadmap. Découvrez comment CRACI fonctionne pour l'IoT industriel et
l'électronique grand public.
Vous comparez plus de deux outils ? Alternatives à Finite State compare neuf options côte à côte.
Voyez l'enregistrement d'un de vos builds
Réservez une démo : nous exécuterons l'un de vos builds de firmware GitHub Actions sur CRACI et passerons en revue ce qu'il a récupéré.
Réserver une démo