Sammenligning
CRACI vs. Renovate
Renovate holder avhengighetene dine oppdatert etter regler du skriver. CRACI starter i den andre enden: Det registrerer hva hvert bygg faktisk hentet, og fortsetter å overvåke det, så du vet hvilke leverte bygg en ny advisory berører.
Oppdatert
Det korte svaret
Renovate er bygget for avhengighetshygiene: Det finner pakkefiler, åpner pull requests med oppdateringer og lar deg styre støyen med tidsplaner, gruppering og automerge. CRACI er en GitHub Actions-runner som registrerer hva hvert bygg hentet, og overvåker disse SBOM-ene for nye sårbarheter. Renovate spør "finnes det en nyere versjon?" CRACI spør "er noe av det vi bygget og leverte, sårbart, og hvor?" De konkurrerer ikke om samme jobb, og de kjører side om side: Renovate åpner pull requests med oppdateringer, CRACI forteller deg hvilke bygg som trenger en.
| Funksjon | CRACI | Renovate |
|---|---|---|
| Hva det svarer på | Hvilke av byggene du har levert, som inneholder en sårbar pakke | Hvilke avhengigheter som har en nyere versjon eller et sårbarhetsvarsel |
| Kjører byggene dine | Jobber kjører på CRACI-runnere | Leser repositorier, ikke bygg |
| Avhengigheter registrert fra bygget | Observerte hentinger, inkludert pakker fra cache | Finner referanser i pakkefiler |
| Åpner pull requests med oppdateringer | Planlagte oppdateringer, pluss rettinger fra GitHub-varsler eller OSV | |
| Triage og ruting til ansvarlige team | På tvers av bygg og repositorier | Dependency Dashboard per repository |
| Pakkebehandlere | Oppdager npm, PyPI, RubyGems, Cargo, Go, Nix, OCI, apt, apk, Git | Over 90 pakkebehandlere |
| Utover GitHub | GitHub Actions i dag; GitLab CI og Jenkins på veikartet | GitLab, Bitbucket, Azure DevOps og flere |
| Egress-policy på runneren | Default deny eller allow, blokkerer ved feil (fail closed) | Utenfor omfanget |
| SBOM- og provenance-data | Per bygg, fullstendighet per jobb og cache | Utenfor omfanget |
| Overvåking av leverte SBOM-er | Overvåkede SBOM-er vurderes kontinuerlig på nytt | Utenfor omfanget |
| Egen hosting | Administrert i dag; kundehostede runnere på veikartet, Enterprise | CLI, Docker eller selvhostet Community-utgave |
| Pris | $0.002 per vCPU-minutt ($0.004 for 2 vCPU), målt per sekund; ingen månedsavgift og ingen betaling per SBOM | Åpen kildekode under AGPL-3.0. Mend Renovate Community er gratis; Mend Renovate Enterprise er en betalt plan (per september 2026). |
- Inkludert
- Delvis
- Ikke inkludert
- På veikartet
Hva Renovate gjør bra
Dokumentasjonen til Renovate åpner med "Automated dependency updates. Multi-platform and multi-language." Det lever opp til begge deler. Det "looks for references to dependencies (both public and private)" i repositoriet ditt, og når det finnes nyere versjoner, åpner det pull requests som oppdaterer dem og lockfilene deres.
- Bredde. Over 90 pakkebehandlere og repositorier på GitHub, GitLab, Bitbucket, Azure DevOps, Gitea og Forgejo, med AWS CodeCommit, Gerrit og SCM-Manager oppført som eksperimentelle.
- Kontroll. Delbare konfigurasjonsforhåndsinnstillinger,
packageRulesfor oppførsel per pakke, tidsplaner som begrenser når pull requests dukker opp, og automerge for oppdateringene du stoler på. Dokumentasjonen påpeker at de fleste team overlater større oppdateringer til et menneske. - Innsyn. En Dependency Dashboard-issue, slått på som standard i
config:recommended, og informasjon som hjelper deg med å avgjøre hvilke oppdateringer du skal godta: alder, utbredelse, andel beståtte tester og merge confidence. - Rekkevidde. Custom managers håndterer proprietære filformater og populære formater som Renovate ikke støtter ennå.
- Valg av utrulling. Åpen kildekode under AGPL-3.0, vedlikeholdt av Mend. Du kan kjøre CLI-en eller Docker-imaget selv, bruke den gratis skyappen Mend Renovate Community på GitHub.com og Bitbucket Cloud, eller kjøre de selvhostede Community- eller betalte Enterprise-utgavene.
Slik håndterer Renovate sårbarheter
Renovate har to veier til sikkerhetsrettinger. Med vulnerabilityAlerts leser det GitHubs sårbarhetsvarsler, noe som krever at avhengighetsgrafen og Dependabot-varsler er slått på. Disse pull requestene "skip the line," ignorerer tidsplaner og timegrenser, og går som standard til den laveste rettede versjonen. Med osvVulnerabilityAlerts sjekker det avhengigheter mot OSV-databasen, som det laster ned og spør frakoblet. Dokumentasjonen er presis om begrensningen: "You will only get OSV-based vulnerability alerts for direct dependencies," for et oppført sett med datakilder.
CRACI erstatter ingenting av dette, og det åpner ikke pull requests. Hvis målet ditt er å holde hundrevis av repositorier oppdatert med minimal innsats, er Renovate bygget for det.
Der CRACI skiller seg ut
Det starter fra bygget, ikke pakkefilene
Renovate jobber ut fra det repositoriet ditt deklarerer. Et bygg gjør ofte mer enn det: Det løser versjoner ved installasjon, gjenoppretter pakker fra cacher og laster ned verktøy, OS-pakker og images som ikke noe manifest lister opp. expressjs/express 5.2.1 viser gapet på det tydeligste: Prosjektet committer ingen lockfile, så en generator pekt mot en ren checkout har ingenting å løse og rapporterer ingen av npm-avhengighetene, uansett hvor godt verktøyet fungerer. CRACI kan ikke sammenlignes på den måten, fordi det registrerer bygg i stedet for å skanne kataloger. Filene i et repository og pakkene i et bygg er ikke den samme listen.
CRACI kjører bygget. Du endrer runs-on til craci, og en pakkebevisst proxy registrerer hva hver jobb henter fra npm, PyPI, RubyGems, Cargo, Go, Nix, OCI, apt, apk og Git-kilder, pluss forhåndsinnstillinger for nedlastinger. Hver jobb og cache får en fullstendighetsstatus: Complete, Complete with connections, Incomplete, Unavailable eller Not recorded.
Overvåking av det du leverte
CRACI samler sårbarheter på tvers av bygg og repositorier og fortsetter å vurdere overvåkede SBOM-er på nytt etter hvert som nye advisories dukker opp. Når en kommer, ser du hvilke bygg og repositorier som faktisk brukte den berørte pakken, inkludert pakker som ikke noe manifest lister opp, og sikkerhetsteam kan triagere funnet og sende det til teamet som eier rettingen. Utløseren er en sårbarhet i noe et bygg faktisk brukte, ikke at det kommer en ny versjon.
Mer enn overvåking
Fordi CRACI er runneren, håndhever det også en egress-policy per jobb (default deny eller allow, validert før jobben starter, og som blokkerer ved feil (fail closed)), returnerer SBOM-er, nettverksspor og provenance gjennom API-et og eksporterer SBOM-er som CycloneDX eller SPDX. Ingenting av dette er Renovates jobb.
En oversikt over hva som er rullet ut hvor
Inventarvisningen i CRACI viser nøyaktig hvilke programvareversjoner som er rullet ut til hvilke produkter, globalt. Når en ny sårbarhet dukker opp, kan du se hvilke produkter som kjører den berørte versjonen, i stedet for å pusle det sammen fra utgivelsesnotater og regneark.
Slik kjører du begge
- Renovate holder alle avhengigheter oppdatert etter en tidsplan, på tvers av alle plattformene og pakkebehandlerne dine, med automerge for oppdateringer med lav risiko.
- CRACI registrerer hvert GitHub Actions-bygg, overvåker det som ble levert, og forteller deg hvilke bygg og team en ny sårbarhet berører, så du vet hvilke pull requests med oppdateringer du bør merge først.
Det er ingenting å migrere. Renovate fortsetter å lese repositoriene dine, og workflowene dine fortsetter å kjøre på GitHub Actions på en annen runner.
For Cyber Resilience Act
CRA forventer at produsenter vet hva som er i hver utgivelse, og håndterer sårbarheter i den. Renovate hjelper ved å holde avhengigheter patchet og oppdatert. CRACI registrerer SBOM-en for hvert bygg, overvåker den for nye sårbarheter og tar vare på dokumentasjonen. Det automatiserer en betydelig del av innsynet i programvareleverandørkjeden og dokumentasjonen som bedrifter trenger for sin bredere CRA-samsvarsprosess. Se hva CRA er og sårbarhetssporing.
Se hva byggene dine faktisk hentet
Book en demo, så kjører vi en av GitHub Actions-workflowene dine på CRACI og går gjennom byggeregistreringen og sårbarhetene i den.
Book en demo