Mais 123% CVE comunicadas por dia em 2026 do que no ano passado.

Comparação

CRACI vs Exein

O Exein protege o dispositivo: um agente que corre nele e um analisador de firmware antes do lançamento. O CRACI protege o build: o runner em que a sua imagem Yocto é construída e o registo do que entrou nela.

Atualizado a

A resposta curta

O Exein desenvolve produtos de segurança para dispositivos embebidos e ligados. O Exein Runtime vigia e bloqueia ameaças no próprio dispositivo, e o Exein Analyzer analisa o firmware em busca de vulnerabilidades antes do lançamento. A sua camada Yocto, meta-exein, coloca o agente de runtime na sua imagem. O CRACI é um runner de GitHub Actions: o seu build Yocto corre nele, e o CRACI regista o que o build transferiu e limita a que se pode ligar. O Exein trabalha no dispositivo e no firmware; o CRACI trabalha no build. A maioria das equipas que precisam de ambos usará ambos.

Visão geral

Funcionalidade CRACI Exein
Executa os seus builds Yocto BitBake em runners de até 32 vCPU Integra-se no seu pipeline existente
Regista o que o build obteve Observado pelo runner durante cada job Analisa o firmware ou uma SBOM que fornecer
Política de egress durante o build Verificada antes do job, falha em modo fechado Fora do seu âmbito
Agente de segurança no dispositivo Exein Runtime, baseado em eBPF
Camada Yocto para a sua imagem O CRACI executa o build, não acrescenta nada à imagem meta-exein adiciona o Pulsar à imagem
Análise de firmware binário Exein Analyzer
Priorização por alcançabilidade Pontuação de alcançabilidade e filtragem por LLM
SBOM A partir do build, com estado de completude Gerada pelo Exein Analyzer
Evidências para o CRA SBOM em CycloneDX ou SPDX, registos via API; sem exportação de relatórios Mapeamento de evidências para o CRA no Analyzer
  • Incluído
  • Em parte
  • Não incluído

O que é a integração Yocto do Exein

Os dois produtos confundem-se facilmente porque ambos mencionam o Yocto, por isso vale a pena ser preciso. meta-exein é uma camada Yocto open source que "contains Pulsar and kernel recipes to add the Pulsar security framework to an image." Adiciona a camada a bblayers.conf, acrescenta pulsar a IMAGE_INSTALL e ativa o BTF, e a sua imagem é distribuída com o Pulsar, a ferramenta de segurança em runtime do Exein baseada em eBPF. A camada é testada em versões do Yocto a partir da Kirkstone e tornou-se uma camada oficial Yocto Project Compatible em 2024. O Exein aderiu ao Yocto Project como Platinum Member em 2023.

Por outras palavras, a camada do Exein altera o que corre no dispositivo. Não executa o seu build nem regista o que o build obteve. O Exein afirma também que o Exein Analyzer está "natively integrated into Yocto, Buildroot, and your CI/CD pipeline", de modo a analisar cada novo build, o que é uma análise do resultado do build dentro do seu próprio pipeline.

O que o Exein faz bem

A página inicial de Exein
exein.io

Proteção em runtime no dispositivo. O Exein Runtime é escrito em Rust e usa eBPF para monitorizar e bloquear comportamentos maliciosos ao nível do kernel, "the moment it tries to run." Numa frota, rastreia incidentes e gera relatórios forenses e de conformidade a partir da telemetria de runtime. O Exein publica também como open source o Pulsar, "a modular and blazing fast runtime security tool for the IoT, powered by eBPF".

Análise de firmware antes do lançamento. O Exein Analyzer inspeciona diretamente o firmware final ou importa a sua SBOM quando o binário não está disponível. O Exein afirma que cobre Linux, RTOS, Docker, UEFI, Android e mais, e usa pontuação de alcançabilidade e filtragem por LLM para colocar em primeiro lugar os CVE exploráveis.

Remediação e mapeamento para o CRA. O Exein descreve uma remediação orientada por IA que corre dentro de pipelines Yocto e de CI/CD, e mapeia as conclusões para os requisitos do Cyber Resilience Act.

Onde o CRACI é diferente

Executa o build

Os builds Yocto são longos e pesados. O CRACI executa o BitBake a partir do seu workflow de GitHub Actions em runners de até 32 vCPU e 96 GB de RAM, definidos com cracicorp/setup@v1 e size: "32". Os jobs correm em máquinas virtuais isoladas, e as execuções continuam a aparecer no GitHub.

Regista o que o build obteve

Enquanto um job corre, o CRACI observa o tráfego para hosts de pacotes e de código-fonte e guarda-o como evidência do build, com um estado de completude por job e por cache. Para o Yocto, isso é um relato independente do que chegou pela rede, incluindo o que a SBOM SPDX da classe create-spdx do Yocto deixa de fora: num build lado a lado de core-image-sato, a SBOM do CRACI tinha todos os componentes da do Yocto, mais 88, como pacotes do host e GitHub Actions, e um URL de pacote para cada uma das 653 versões de crates Rust que o Yocto lista sem URL. As fontes que o BitBake obtém do mirror de código-fonte do Yocto são registadas na SBOM do job no CRACI.

Controla a que o build se pode ligar

O BitBake pode restringir o seu fetcher com BB_ALLOWED_NETWORKS. O CRACI acrescenta uma política de egress no runner, validada antes de o job arrancar e com falha em modo fechado, para que um script ou uma ferramenta que contorne o fetcher continue sem conseguir alcançar um host que não permitiu. O CRACI alerta-o em caso de violação.

Vigia o que foi distribuído

A API devolve SBOM, traços de rede e proveniência. O CRACI agrega vulnerabilidades de todos os builds e repositórios e continua a reavaliar as SBOM monitorizadas.

O CRACI não coloca nada no dispositivo e não analisa binários. Se precisar de proteção em runtime ou de uma análise de uma imagem finalizada, esse é o terreno do Exein.

Um inventário do que está implementado e onde

A vista de inventário do CRACI mostra exatamente que versões de software estão implementadas em que produtos, a nível global. Quando surge uma nova vulnerabilidade, pode ver que produtos executam a versão afetada, em vez de o reconstituir a partir de notas de lançamento e folhas de cálculo.

Quando usar cada um e quando usar ambos

  • Quer deteção e bloqueio de ameaças em dispositivos no terreno. Exein Runtime. O CRACI não tem nenhum componente no dispositivo.
  • Os seus builds Yocto correm num servidor debaixo de uma secretária, ou demoram horas em pequenos runners de CI. O CRACI executa-os a partir do GitHub Actions e guarda um registo de cada um.
  • Distribui uma imagem Yocto com meta-exein. Construa-a no CRACI. A camada é construída como qualquer outra, e o CRACI regista o que o build obteve.
  • Precisa de mostrar de onde veio a SBOM. O registo do runner do CRACI liga a SBOM a um build específico. A análise do resultado feita pelo Exein Analyzer é uma segunda perspetiva útil.

Para o CRA

O Cyber Resilience Act pede aos fabricantes que documentem os componentes dos seus produtos, incluindo uma SBOM, que tratem as vulnerabilidades durante o período de suporte e, a partir de setembro de 2026, que reportem vulnerabilidades ativamente exploradas. O Exein ajuda do lado do dispositivo, com análise de firmware antes do lançamento, mapeamento de evidências para o CRA e telemetria de runtime a partir do terreno. O CRACI ajuda do lado do build, com evidências por build do que entrou no firmware, proveniência, monitorização contínua e exportação de SBOM em CycloneDX ou SPDX. O CRACI automatiza uma parte significativa da visibilidade da cadeia de abastecimento de software e das evidências de que os fabricantes precisam para o seu processo mais amplo de conformidade com o CRA; não torna um produto conforme por si só. Leia o que exige o CRA.

Adicionar o CRACI a um workflow Yocto

Mantenha as suas camadas, incluindo meta-exein, e o seu passo do Exein Analyzer. Defina runs-on: craci no job de build e escolha um tamanho de runner. O exemplo de Yocto na documentação do CRACI constrói core-image-sato com o mirror oficial de código-fonte do Yocto e uma definição correspondente de BB_ALLOWED_NETWORKS. O CRACI suporta hoje apenas GitHub Actions, com GitLab CI e Jenkins no roadmap. Veja como o CRACI funciona para IoT industrial e eletrónica de consumo.

Traga um build Yocto para a demo

Marque uma demo e executaremos um dos seus builds BitBake num runner do CRACI, percorrendo consigo o que ele obteve.

Marcar demo