Comparatif
CRACI vs Renovate
Renovate maintient vos dépendances à jour selon les règles que vous écrivez. CRACI part de l'autre extrémité : il enregistre ce que chaque build a réellement récupéré et continue de le surveiller, pour que vous sachiez quels builds livrés sont concernés par un nouvel avis de sécurité.
Mis à jour le
En bref
Renovate est conçu pour l'hygiène des dépendances : il trouve les fichiers de paquets, ouvre des pull requests de mise à jour et vous permet de maîtriser le bruit avec des planifications, des regroupements et l'automerge. CRACI est un runner GitHub Actions qui enregistre ce que chaque build a récupéré et surveille ces SBOM pour détecter les nouvelles vulnérabilités. Renovate demande : « existe-t-il une version plus récente ? » CRACI demande : « y a-t-il quelque chose de vulnérable dans ce que nous avons construit et livré, et où ? » Ils ne se disputent pas la même tâche et fonctionnent côte à côte : Renovate ouvre les pull requests de mise à jour, CRACI vous indique quels builds en ont besoin.
| Fonctionnalité | CRACI | Renovate |
|---|---|---|
| La question à laquelle il répond | Quels builds livrés contiennent un paquet vulnérable | Quelles dépendances ont une version plus récente ou une alerte de vulnérabilité |
| Exécute vos builds | Les jobs s'exécutent sur des runners CRACI | Lit les dépôts, pas les builds |
| Dépendances enregistrées à partir du build | Récupérations observées, paquets en cache compris | Trouve les références dans les fichiers de paquets |
| Ouvre des pull requests de mise à jour | Mises à jour planifiées, plus correctifs issus des alertes GitHub ou d'OSV | |
| Tri et routage vers les équipes responsables | Sur l'ensemble des builds et des dépôts | Dependency Dashboard par dépôt |
| Gestionnaires de paquets | Détecte npm, PyPI, RubyGems, Cargo, Go, Nix, OCI, apt, apk, Git | Plus de 90 gestionnaires de paquets |
| Au-delà de GitHub | GitHub Actions aujourd'hui ; GitLab CI et Jenkins sur la roadmap | GitLab, Bitbucket, Azure DevOps et d'autres |
| Politique de trafic sortant au niveau du runner | Refus ou autorisation par défaut, bloque tout en cas d'échec | Hors de son périmètre |
| SBOM et données de provenance | Par build, complétude par job et par cache | Hors de son périmètre |
| Surveillance des SBOM livrées | SBOM surveillées réévaluées en continu | Hors de son périmètre |
| Auto-hébergement | Managé aujourd'hui ; runners hébergés par le client sur la roadmap, Enterprise | CLI, Docker ou édition Community auto-hébergée |
| Prix | $0.002 par minute vCPU ($0.004 pour 2 vCPU), décompté à la seconde ; sans abonnement mensuel ni frais par SBOM | Open source sous AGPL-3.0. Mend Renovate Community est gratuit ; Mend Renovate Enterprise est un plan payant (en septembre 2026). |
- Inclus
- En partie
- Non inclus
- Sur la roadmap
Ce que Renovate fait bien
La documentation de Renovate s'ouvre sur « Automated dependency updates. Multi-platform and multi-language. » Il tient ces deux promesses. Il « looks for references to dependencies (both public and private) » dans votre dépôt et, lorsque des versions plus récentes existent, ouvre des pull requests qui les mettent à jour, ainsi que leurs lockfiles.
- L'étendue. Plus de 90 gestionnaires de paquets, et des dépôts sur GitHub, GitLab, Bitbucket, Azure DevOps, Gitea et Forgejo, avec AWS CodeCommit, Gerrit et SCM-Manager indiqués comme expérimentaux.
- Le contrôle. Des presets de configuration partageables,
packageRulespour un comportement par paquet, des planifications pour limiter le moment où les pull requests apparaissent, et l'automerge pour les mises à jour auxquelles vous faites confiance. Sa documentation note que la plupart des équipes laissent les mises à jour majeures à un humain. - La visibilité. Une issue Dependency Dashboard, activée par défaut dans
config:recommended, et des informations pour décider quelles mises à jour accepter : ancienneté, adoption, taux de réussite et merge confidence. - La portée. Les custom managers gèrent les formats de fichiers propriétaires et les formats populaires que Renovate ne prend pas encore en charge.
- Le choix du déploiement. Open source sous AGPL-3.0 et maintenu par Mend. Vous pouvez exécuter vous-même la CLI ou l'image Docker, utiliser l'application cloud gratuite Mend Renovate Community sur GitHub.com et Bitbucket Cloud, ou exécuter les éditions auto-hébergées Community ou Enterprise, payante.
Comment Renovate traite les vulnérabilités
Renovate propose deux voies vers les correctifs de sécurité. Avec vulnerabilityAlerts, il lit les alertes de vulnérabilité de GitHub, ce qui exige d'activer le graphe de dépendances et les alertes Dependabot. Ces pull requests « skip the line », ignorent les planifications et les limites horaires et passent par défaut à la version corrigée la plus basse. Avec osvVulnerabilityAlerts, il confronte les dépendances à la base de données OSV, qu'il télécharge et interroge hors ligne. La documentation est précise sur la limite : « You will only get OSV-based vulnerability alerts for direct dependencies », pour une liste définie de sources de données.
CRACI ne remplace rien de tout cela et n'ouvre pas de pull requests. Si votre objectif est de maintenir à jour des centaines de dépôts avec un effort minimal, Renovate est conçu pour cela.
Ce qui distingue CRACI
Il part du build, pas des fichiers de paquets
Renovate travaille à partir de ce que votre dépôt déclare. Un build fait souvent davantage : il résout des versions au moment de l'installation, restaure des paquets depuis des caches et télécharge des outils, des paquets système et des images qu'aucun manifeste ne liste. expressjs/express 5.2.1 montre cet écart dans sa forme la plus simple : il ne versionne aucun lockfile, si bien qu'un générateur pointé sur un checkout propre n'a rien à résoudre et ne signale aucune de ses dépendances npm, aussi bon que soit l'outil. CRACI ne peut pas être comparé de cette manière, car il enregistre des builds au lieu de scanner des répertoires. Les fichiers d'un dépôt et les paquets d'un build ne forment pas la même liste.
CRACI exécute le build. Vous définissez runs-on sur craci, et un proxy qui comprend les paquets enregistre ce que chaque job récupère depuis les sources npm, PyPI, RubyGems, Cargo, Go, Nix, OCI, apt, apk et Git, ainsi que les presets de téléchargement. Chaque job et chaque cache reçoivent un état de complétude : Complete, Complete with connections, Incomplete, Unavailable ou Not recorded.
Surveiller ce que vous avez livré
CRACI agrège les vulnérabilités de l'ensemble des builds et des dépôts et continue de réévaluer les SBOM surveillées à mesure que paraissent de nouveaux avis de sécurité. Quand l'un d'eux paraît, vous voyez quels builds et quels dépôts ont réellement utilisé le paquet concerné, y compris des paquets qu'aucun manifeste ne liste, et les équipes sécurité peuvent trier le résultat et l'envoyer à l'équipe chargée de la correction. Le déclencheur est une vulnérabilité dans quelque chose qu'un build a réellement utilisé, pas l'arrivée d'une nouvelle version.
Plus que de la surveillance
Comme CRACI est le runner, il applique aussi une politique de trafic sortant par job (refus ou autorisation par défaut, validée avant le démarrage du job et bloquant tout en cas d'échec), renvoie les SBOM, les traces réseau et la provenance via son API, et exporte les SBOM en CycloneDX ou SPDX. Rien de tout cela n'est le rôle de Renovate.
Un inventaire de ce qui est déployé et où
La vue d'inventaire de CRACI montre précisément quelles versions logicielles sont déployées dans quels produits, à l'échelle mondiale. Lorsqu'une nouvelle vulnérabilité apparaît, vous voyez quels produits exécutent la version concernée, au lieu de reconstituer l'information à partir de notes de version et de tableurs.
Utiliser les deux
- Renovate maintient chaque dépendance à jour selon un calendrier, sur toutes vos plateformes et tous vos gestionnaires de paquets, avec l'automerge pour les mises à jour à faible risque.
- CRACI enregistre chaque build GitHub Actions, surveille ce qui a été livré et vous indique quels builds et quelles équipes sont concernés par une nouvelle vulnérabilité : vous savez ainsi quelles pull requests de mise à jour fusionner en premier.
Il n'y a rien à migrer. Renovate continue de lire vos dépôts, et vos workflows continuent de s'exécuter sur GitHub Actions, sur un autre runner.
Pour le Cyber Resilience Act
Le CRA attend des fabricants qu'ils sachent ce que contient chaque release et qu'ils en traitent les vulnérabilités. Renovate aide en maintenant les dépendances corrigées et à jour. CRACI enregistre la SBOM de chaque build, la surveille pour détecter les nouvelles vulnérabilités et conserve les preuves. Il automatise une part importante de la visibilité sur la chaîne d'approvisionnement logicielle et des preuves dont les entreprises ont besoin pour leur démarche plus large de conformité au CRA. Voir ce qu'est le CRA et le suivi des vulnérabilités.
Découvrez ce que vos builds ont vraiment récupéré
Réservez une démo : nous exécuterons l'un de vos workflows GitHub Actions sur CRACI et passerons en revue son enregistrement de build et ses vulnérabilités.
Réserver une démo