Comparação
CRACI vs Renovate
O Renovate mantém as suas dependências atualizadas segundo as regras definidas por si. O CRACI começa pela outra ponta: regista o que cada build realmente obteve e continua a monitorizá-lo, para que saiba que builds distribuídos são afetados por um novo aviso de segurança.
Atualizado a
A resposta curta
O Renovate foi feito para a higiene das dependências: encontra ficheiros de pacotes, abre pull requests de atualização e permite-lhe controlar o ruído com agendamentos, agrupamento e automerge. O CRACI é um runner de GitHub Actions que regista o que cada build obteve e monitoriza essas SBOM face a novas vulnerabilidades. O Renovate pergunta "há uma versão mais recente?" O CRACI pergunta "há algo vulnerável no que construímos e distribuímos, e onde?" Não competem pela mesma função e funcionam lado a lado: o Renovate abre os pull requests de atualização, o CRACI diz-lhe que builds precisam de um.
| Funcionalidade | CRACI | Renovate |
|---|---|---|
| A que responde | Que builds distribuídos contêm um pacote vulnerável | Que dependências têm uma versão mais recente ou um alerta de vulnerabilidade |
| Executa os seus builds | Os jobs correm em runners do CRACI | Lê repositórios, não builds |
| Dependências registadas a partir do build | Obtenções observadas, incluindo pacotes em cache | Encontra referências em ficheiros de pacotes |
| Abre pull requests de atualização | Atualizações agendadas, além de correções a partir de alertas do GitHub ou da OSV | |
| Triagem e encaminhamento para as equipas responsáveis | Em todos os builds e repositórios | Dependency Dashboard por repositório |
| Gestores de pacotes | Deteta npm, PyPI, RubyGems, Cargo, Go, Nix, OCI, apt, apk, Git | Mais de 90 gestores de pacotes |
| Para além do GitHub | Hoje GitHub Actions; GitLab CI e Jenkins no roadmap | GitLab, Bitbucket, Azure DevOps e outros |
| Política de egress no runner | Negação ou permissão por defeito, falha em modo fechado | Fora do seu âmbito |
| SBOM e dados de proveniência | Por build, completude por job e por cache | Fora do seu âmbito |
| Monitorização de SBOM distribuídas | SBOM monitorizadas reavaliadas continuamente | Fora do seu âmbito |
| Alojamento próprio | Hoje gerido; runners alojados pelo cliente no roadmap, Enterprise | CLI, Docker ou edição Community em alojamento próprio |
| Preço | $0.002 por vCPU-minuto ($0.004 com 2 vCPU), medido ao segundo; sem mensalidade nem custos por SBOM | Open source sob AGPL-3.0. O Mend Renovate Community é gratuito; o Mend Renovate Enterprise é um plano pago (em setembro de 2026). |
- Incluído
- Em parte
- Não incluído
- No roadmap
O que o Renovate faz bem
A documentação do Renovate abre com "Automated dependency updates. Multi-platform and multi-language." E faz jus às duas partes. O Renovate "looks for references to dependencies (both public and private)" no seu repositório e, quando existem versões mais recentes, abre pull requests que as atualizam, juntamente com os respetivos lockfiles.
- Amplitude. Mais de 90 gestores de pacotes e repositórios em GitHub, GitLab, Bitbucket, Azure DevOps, Gitea e Forgejo, com AWS CodeCommit, Gerrit e SCM-Manager listados como experimentais.
- Controlo. Predefinições de configuração partilháveis,
packageRulespara o comportamento por pacote, agendamentos para limitar quando surgem os pull requests e automerge para as atualizações em que confia. A sua documentação nota que a maioria das equipas deixa as atualizações major a cargo de uma pessoa. - Visibilidade. Uma issue Dependency Dashboard, ativa por defeito em
config:recommended, e informação para ajudar a decidir que atualizações aceitar: idade, adoção, taxas de sucesso e merge confidence. - Alcance. Os custom managers tratam formatos de ficheiro proprietários e formatos populares que o Renovate ainda não suporta.
- Escolha de implementação. Open source sob AGPL-3.0 e mantido pela Mend. Pode executar a CLI ou a imagem Docker por conta própria, usar a aplicação cloud gratuita Mend Renovate Community em GitHub.com e Bitbucket Cloud, ou executar a edição Community em alojamento próprio ou a edição paga Enterprise.
Como o Renovate trata as vulnerabilidades
O Renovate tem dois caminhos para as correções de segurança. Com vulnerabilityAlerts, lê os alertas de vulnerabilidades do GitHub, o que exige que o grafo de dependências e os alertas do Dependabot estejam ativos. Esses pull requests "skip the line," ignorando agendamentos e limites horários, e por defeito passam para a versão corrigida mais baixa. Com osvVulnerabilityAlerts, verifica as dependências face à base de dados OSV, que descarrega e consulta offline. A documentação é precisa quanto ao limite: "You will only get OSV-based vulnerability alerts for direct dependencies," para um conjunto listado de datasources.
O CRACI não substitui nada disto e não abre pull requests. Se o seu objetivo é manter centenas de repositórios atualizados com um esforço mínimo, o Renovate foi feito para isso.
Onde o CRACI é diferente
Começa no build, não nos ficheiros de pacotes
O Renovate trabalha a partir do que o seu repositório declara. Um build faz muitas vezes mais do que isso: resolve versões no momento da instalação, restaura pacotes de caches e transfere ferramentas, pacotes do sistema operativo e imagens que nenhum manifesto lista. O expressjs/express 5.2.1 mostra essa lacuna da forma mais simples: não inclui lockfile no repositório, pelo que um gerador apontado a um checkout limpo não tem nada para resolver e não reporta nenhuma das suas dependências npm, por muito bem que a ferramenta funcione. O CRACI não pode ser comparado dessa forma, porque regista builds em vez de analisar diretórios. Os ficheiros de um repositório e os pacotes de um build não são a mesma lista.
O CRACI executa o build. Altera runs-on para craci, e um proxy que reconhece pacotes regista o que cada job obtém de origens npm, PyPI, RubyGems, Cargo, Go, Nix, OCI, apt, apk e Git, além de predefinições de transferência. Cada job e cada cache recebem um estado de completude: Complete, Complete with connections, Incomplete, Unavailable ou Not recorded.
Monitorizar o que distribuiu
O CRACI agrega vulnerabilidades de todos os builds e repositórios e continua a reavaliar as SBOM monitorizadas à medida que surgem novos avisos de segurança. Quando surge um, vê que builds e repositórios usaram realmente o pacote afetado, incluindo pacotes que nenhum manifesto lista, e as equipas de segurança podem fazer a triagem da conclusão e encaminhá-la para a equipa responsável pela correção. O gatilho é uma vulnerabilidade em algo que um build realmente usou, não a chegada de uma nova versão.
Mais do que monitorização
Como o CRACI é o runner, aplica também uma política de egress por job (negação ou permissão por defeito, validada antes de o job arrancar e com falha em modo fechado), devolve SBOM, traços de rede e proveniência através da sua API e exporta SBOM em CycloneDX ou SPDX. Nada disto é função do Renovate.
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.
Usar os dois
- O Renovate mantém cada dependência atualizada de forma agendada, em todas as suas plataformas e gestores de pacotes, com automerge para atualizações de baixo risco.
- O CRACI regista cada build de GitHub Actions, monitoriza o que foi distribuído e diz-lhe que builds e equipas são afetados por uma nova vulnerabilidade, para que saiba que pull requests de atualização deve integrar primeiro.
Não há nada para migrar. O Renovate continua a ler os seus repositórios, e os seus workflows continuam a correr em GitHub Actions, noutro runner.
Para o Cyber Resilience Act
O CRA espera que os fabricantes saibam o que está em cada versão e tratem as respetivas vulnerabilidades. O Renovate ajuda ao manter as dependências corrigidas e atualizadas. O CRACI regista a SBOM de cada build, monitoriza-a face a novas vulnerabilidades e guarda as evidências. 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. Consulte o que é o CRA e acompanhamento de vulnerabilidades.
Veja o que os seus builds realmente obtiveram
Marque uma demo e executaremos um dos seus workflows de GitHub Actions no CRACI, percorrendo consigo o registo do build e as vulnerabilidades nele presentes.
Marcar demo