Jämförelse
CRACI vs Renovate
Renovate håller dina beroenden uppdaterade enligt regler du skriver. CRACI börjar från andra änden: det registrerar vad varje bygge faktiskt hämtade och fortsätter att bevaka det, så att du vet vilka levererade byggen ett nytt säkerhetsmeddelande berör.
Uppdaterad
Det korta svaret
Renovate är byggt för beroendehygien: det hittar paketfiler, öppnar pull requests med uppdateringar och låter dig styra bruset med scheman, gruppering och automerge. CRACI är en GitHub Actions-runner som registrerar vad varje bygge hämtade och bevakar de SBOM:erna för nya sårbarheter. Renovate frågar "finns det en nyare version?" CRACI frågar "är något i det vi har byggt och levererat sårbart, och var?" De konkurrerar inte om samma jobb, och de körs sida vid sida: Renovate öppnar pull requests med uppdateringar, CRACI talar om vilka byggen som behöver en.
| Funktion | CRACI | Renovate |
|---|---|---|
| Vad det besvarar | Vilka av byggena du har levererat som innehåller ett sårbart paket | Vilka beroenden som har en nyare version eller en sårbarhetsvarning |
| Kör dina byggen | Jobben körs på CRACI-runners | Läser repon, inte byggen |
| Beroenden registrerade från bygget | Observerade hämtningar, inklusive cachade paket | Hittar referenser i paketfiler |
| Öppnar pull requests med uppdateringar | Schemalagda uppdateringar, plus åtgärder från GitHub-varningar eller OSV | |
| Triage och routning till ägande team | Över byggen och repon | Dependency Dashboard per repo |
| Pakethanterare | Upptäcker npm, PyPI, RubyGems, Cargo, Go, Nix, OCI, apt, apk, Git | Fler än 90 pakethanterare |
| Utöver GitHub | GitHub Actions i dag; GitLab CI och Jenkins på roadmapen | GitLab, Bitbucket, Azure DevOps med flera |
| Egress-policy på runnern | Nekar eller tillåter som standard, blockerar vid fel | Utanför dess område |
| SBOM och proveniensdata | Per bygge, fullständighet per jobb och cache | Utanför dess område |
| Bevakning av levererade SBOM:er | Bevakade SBOM:er omvärderas löpande | Utanför dess område |
| Egen drift | Hanterat i dag; kundhostade runners på roadmapen, Enterprise | CLI, Docker eller egenhostad Community-utgåva |
| Pris | $0.002 per vCPU-minut ($0.004 för 2 vCPU), mäts per sekund; ingen månadsavgift och ingen avgift per SBOM | Öppen källkod under AGPL-3.0. Mend Renovate Community är gratis; Mend Renovate Enterprise är en betald plan (per september 2026). |
- Ingår
- Delvis
- Ingår inte
- På roadmapen
Vad Renovate gör bra
Renovates dokumentation inleds med "Automated dependency updates. Multi-platform and multi-language." Det gör skäl för båda halvorna. Det "looks for references to dependencies (both public and private)" i ditt repo och öppnar, när nyare versioner finns, pull requests som uppdaterar dem och deras lockfiler.
- Bredd. Fler än 90 pakethanterare, och repon på GitHub, GitLab, Bitbucket, Azure DevOps, Gitea och Forgejo, med AWS CodeCommit, Gerrit och SCM-Manager listade som experimentella.
- Kontroll. Delbara konfigurationsförinställningar,
packageRulesför beteende per paket, scheman som begränsar när pull requests dyker upp, och automerge för uppdateringarna du litar på. Dokumentationen noterar att de flesta team lämnar större uppdateringar till en människa. - Insyn. Ett Dependency Dashboard-ärende, påslaget som standard i
config:recommended, och information som hjälper dig att avgöra vilka uppdateringar du ska acceptera: ålder, användning, andel godkända körningar och merge confidence. - Räckvidd. Anpassade managers hanterar proprietära filformat och populära format som Renovate ännu inte har stöd för.
- Val av driftsättning. Öppen källkod under AGPL-3.0 och underhålls av Mend. Du kan köra CLI:t eller Docker-avbilden själv, använda den kostnadsfria molnappen Mend Renovate Community på GitHub.com och Bitbucket Cloud, eller köra de egenhostade utgåvorna Community eller betalda Enterprise.
Så hanterar Renovate sårbarheter
Renovate har två vägar till säkerhetsåtgärder. Med vulnerabilityAlerts läser det GitHubs sårbarhetsvarningar, vilket kräver att beroendegrafen och Dependabot-varningar är aktiverade. De pull requesterna "skip the line" och ignorerar scheman och timgränser, och som standard flyttar de till den lägsta åtgärdade versionen. Med osvVulnerabilityAlerts kontrollerar det beroenden mot OSV-databasen, som det laddar ner och frågar offline. Dokumentationen är tydlig med begränsningen: "You will only get OSV-based vulnerability alerts for direct dependencies," för en listad uppsättning datakällor.
CRACI ersätter inget av detta, och det öppnar inga pull requests. Om ditt mål är att hålla hundratals repon aktuella med minimal insats är Renovate byggt för det.
Där CRACI skiljer sig
Det utgår från bygget, inte från paketfilerna
Renovate utgår från vad ditt repo deklarerar. Ett bygge gör ofta mer än så: det löser versioner vid installation, återställer paket från cachar och laddar ner verktyg, OS-paket och avbilder som inget manifest listar. expressjs/express 5.2.1 visar glappet tydligast: projektet checkar inte in någon lockfile, så en generator som pekas mot en ren utcheckning har inget att lösa och rapporterar inga av dess npm-beroenden, hur väl verktyget än fungerar. CRACI kan inte jämföras på det sättet, eftersom det registrerar byggen i stället för att skanna kataloger. Filerna i ett repo och paketen i ett bygge är inte samma lista.
CRACI kör bygget. Du ändrar runs-on till craci, och en paketmedveten proxy registrerar vad varje jobb hämtar från npm, PyPI, RubyGems, Cargo, Go, Nix, OCI, apt, apk och Git-källor, plus nedladdningsförinställningar. Varje jobb och cache får en fullständighetsstatus: Complete, Complete with connections, Incomplete, Unavailable eller Not recorded.
Bevakning av det du har levererat
CRACI sammanställer sårbarheter över byggen och repon och fortsätter att omvärdera bevakade SBOM:er när nya säkerhetsmeddelanden dyker upp. När ett dyker upp ser du vilka byggen och repon som faktiskt använde det berörda paketet, inklusive paket som inget manifest listar, och säkerhetsteam kan triagera fyndet och skicka det till teamet som äger åtgärden. Utlösaren är en sårbarhet i något som ett bygge faktiskt använde, inte att en ny version har kommit.
Mer än bevakning
Eftersom CRACI är runnern upprätthåller det också en egress-policy per jobb (nekar eller tillåter som standard, valideras innan jobbet startar, blockerar vid fel), returnerar SBOM:er, nätverksspårningar och proveniens via sitt API och exporterar SBOM:er som CycloneDX eller SPDX. Inget av det är Renovates jobb.
En inventering av vad som är driftsatt var
CRACI:s inventeringsvy visar exakt vilka programvaruversioner som är driftsatta i vilka produkter, globalt. När en ny sårbarhet dyker upp ser du vilka produkter som kör den berörda versionen i stället för att pussla ihop det från release notes och kalkylblad.
Kör båda
- Renovate håller varje beroende aktuellt enligt schema, över alla dina plattformar och pakethanterare, med automerge för uppdateringar med låg risk.
- CRACI registrerar varje GitHub Actions-bygge, bevakar det som levererats och talar om vilka byggen och team en ny sårbarhet berör, så att du vet vilka pull requests med uppdateringar du ska merga först.
Det finns inget att migrera. Renovate fortsätter att läsa dina repon, och dina arbetsflöden fortsätter att köras i GitHub Actions på en annan runner.
För Cyber Resilience Act
CRA förväntar sig att tillverkare vet vad som finns i varje release och hanterar sårbarheter i den. Renovate hjälper till genom att hålla beroenden patchade och aktuella. CRACI registrerar varje bygges SBOM, bevakar den för nya sårbarheter och sparar bevisen. Det automatiserar en betydande del av den insyn i och de bevis om programvarans leveranskedja som företag behöver för sitt bredare arbete med CRA-efterlevnad. Se vad CRA är och sårbarhetsspårning.
Se vad dina byggen faktiskt hämtade
Boka en demo så kör vi ett av dina GitHub Actions-arbetsflöden på CRACI och går igenom registreringen av bygget och sårbarheterna i det.
Boka en demo