Comparação
CRACI e Chainguard
O Chainguard reforça o que entra no seu build: imagens de contentor, bibliotecas de linguagens e GitHub Actions. O CRACI protege e regista o próprio build. Um limpa as entradas, o outro regista o que lhes aconteceu.
Atualizado a
A resposta curta
O Chainguard compila software open source a partir do código-fonte e fornece-o reforçado: imagens de contentor mínimas com poucas ou nenhumas vulnerabilidades conhecidas, bibliotecas de linguagens recompiladas, imagens de VM e GitHub Actions reforçadas, cada uma com uma SBOM assinada e proveniência. Se o seu problema é que as imagens base e os pacotes de que parte têm demasiados CVE, o Chainguard ataca-o diretamente.
O CRACI é um runner de CI para GitHub Actions. Os seus jobs são executados nele e, enquanto correm, regista todas as dependências externas que obtêm e aplica uma política de egress. O Chainguard protege as entradas. O CRACI protege e regista o build. Há muito pouca sobreposição, e os dois encaixam naturalmente.
Visão geral
| Funcionalidade | CRACI | Chainguard |
|---|---|---|
| Executa os seus builds | Os jobs correm em runners do CRACI | Fornece as imagens e bibliotecas que os builds usam |
| Regista o que o seu build obteve | Descargas observadas, incluindo pacotes de caches de CI | As SBOM descrevem os artefactos do próprio Chainguard |
| Política de egress de rede do build | Negação ou permissão por defeito, falha em modo fechado | Fora do âmbito: não executa builds |
| SBOM | Para os seus artefactos, por build, com completude indicada | SBOM SPDX assinada com cada imagem de contentor |
| Proveniência assinada | Sem proveniência assinada | Proveniência SLSA nas imagens e bibliotecas do Chainguard |
| Acompanhamento de vulnerabilidades | As SBOM monitorizadas são reavaliadas | Avisos e novos builds para artefactos do Chainguard |
| Imagens de contentor reforçadas e mínimas | Catálogo de imagens zero-CVE, compiladas a partir do código-fonte | |
| Bibliotecas recompiladas a partir do código-fonte | Java, Python e JavaScript | |
| SLA de correção de CVE | 7 dias para críticos, 14 dias para outras gravidades | |
| GitHub Actions reforçadas | Chainguard Actions, compiladas a partir do código-fonte | |
| Preço | $0.002 por vCPU-minuto ($0.004 com 2 vCPU), medido ao segundo; sem mensalidade e sem custo por SBOM | Até cinco imagens de contentor gratuitas; catálogo a partir de $19K para uma equipa de 10, preço por imagem sob orçamento (em setembro de 2026). |
- Incluído
- Não incluído
O que o Chainguard faz bem
O Chainguard Containers é, nas palavras do Chainguard, um catálogo de imagens de contentor zero-CVE, compiladas a partir do código-fonte. Cada imagem inclui uma atestação de SBOM assinada em formato SPDX e uma atestação de proveniência SLSA 1.0 que descreve o ambiente de build, tudo verificável com o cosign. Os clientes também podem obter SBOM CycloneDX em builds mais recentes.
A política de CVE é concreta. Para clientes com uma encomenda, o Chainguard compromete-se a corrigir CVE críticos no prazo de 7 dias de calendário e CVE altos, médios e baixos no prazo de 14 dias de calendário a contar da disponibilização pública de um patch elegível, para as linhas de versões suportadas das imagens Chainguard.
O Chainguard Libraries segue a mesma abordagem para pacotes de linguagens. É um catálogo de dependências Java, Python e JavaScript recompiladas a partir de código-fonte verificado, em vez de descarregadas como artefactos pré-compilados, fornecido como upstream para JFrog Artifactory, Sonatype Nexus Repository ou Cloudsmith. Cada pacote inclui assinaturas Sigstore, uma SBOM assinada e proveniência SLSA Level 3. O Chainguard Actions oferece versões reforçadas de GitHub Actions populares, compiladas a partir do código-fonte e analisadas continuamente, e o Chainguard VMs aplica o modelo a imagens de máquinas virtuais.
O CRACI não produz imagens nem bibliotecas reforçadas e não faz qualquer promessa sobre o número de CVE de tudo o que os seus builds descarregam. Essa é a função do Chainguard.
Onde o CRACI é diferente
Observa o seu build, não o do Chainguard
As SBOM e a proveniência do Chainguard descrevem os artefactos do Chainguard, compilados na fábrica do Chainguard. O seu build continua a correr algures, e obtém mais do que uma imagem base: as suas próprias dependências, toolchains, ferramentas obtidas por scripts de instalação e tudo o que um passo do workflow descarregar. É isso que o CRACI regista. Um proxy que reconhece pacotes no runner observa o tráfego para fontes de pacotes npm, PyPI, RubyGems, Cargo, Go, Nix, OCI, apt, apk e Git. As evidências acompanham as caches de CI, e cada SBOM indica a sua completude por job e por cache: Complete, Complete with connections, Incomplete, Unavailable ou Not recorded.
Limita o que o build pode alcançar
As entradas reforçadas só ajudam se o build as usar realmente. A política de egress do CRACI é de negação ou de permissão por defeito, com 24 predefinições integradas de fontes de software e fontes personalizadas tipadas para registos, incluindo registos OCI e Git. As políticas são validadas antes de o job arrancar e falham em modo fechado. Uma política que permite o seu registo do Chainguard e o seu repositório de artefactos, e pouco mais, transforma "usamos o Chainguard" de uma convenção em algo que o runner impõe.
Continua a vigiar o que distribuiu
A API devolve SBOM, traços de rede e proveniência. O CRACI continua a reavaliar as SBOM monitorizadas face a novas vulnerabilidades. As SBOM são exportadas em CycloneDX ou SPDX, incluindo vulnerabilidades.
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 versão e folhas de cálculo.
Usá-los em conjunto
Uma configuração típica:
- O Chainguard fornece imagens base e, através do seu repositório de artefactos, bibliotecas recompiladas.
- O CRACI executa os jobs de GitHub Actions que as usam, com uma política de egress que permite as suas fontes aprovadas, e regista o que cada job obteve.
O OCI está entre os ecossistemas que o CRACI deteta, e o CRACI funciona com mirrors JFrog Artifactory para npm e PyPI, pelo que as imagens e os pacotes Python ou JavaScript que chegam dessa forma fazem parte do registo do build. O suporte para Maven, que cobre o Chainguard Libraries para Java, está no roadmap.
Qual escolher
- Os scanners continuam a assinalar CVE nas suas imagens base: o Chainguard substitui essas imagens por imagens reforçadas.
- Precisa de evidências do que entrou em cada versão: o CRACI regista-o a partir do build.
- Quer builds que só consigam alcançar fontes aprovadas: a política de egress do CRACI impõe-no no runner.
- Quer entradas limpas e um build registado: use-os em conjunto, como acima.
Para o Cyber Resilience Act
Partir de componentes com poucas vulnerabilidades conhecidas, um SLA de correção documentado e SBOM assinadas facilita o tratamento de vulnerabilidades de um fabricante. O Chainguard ajuda nisso. O CRACI automatiza uma parte significativa da visibilidade da cadeia de abastecimento de software e das evidências de que as empresas precisam para o seu processo mais amplo de conformidade com o CRA: o que entrou em cada versão e o acompanhamento contínuo de vulnerabilidades. Nenhum dos dois torna um produto conforme por si só. Consulte o que é o CRA e a conformidade com o CRA.
Adicionar o CRACI a uma configuração com Chainguard
Instale a GitHub App do CRACI e mude runs-on para craci nos workflows que pretende
registar. Os seus Dockerfiles e a configuração de pacotes ficam como estão. O CRACI suporta hoje GitHub Actions; GitLab
CI, Jenkins e outros sistemas de CI estão no roadmap. Saiba mais sobre a
geração de SBOM durante o build e a
integração com CI/CD.
Compile sobre entradas limpas e prove-o
Execute num runner do CRACI um workflow de GitHub Actions que use as suas imagens Chainguard e veja o registo que deixa.
Marcar demo