123% de CVE signalées en plus par jour en 2026 par rapport à l'an dernier.

Comparatif

CRACI et Chainguard

Chainguard durcit ce qui entre dans votre build : images de conteneurs, bibliothèques de langages et GitHub Actions. CRACI sécurise et enregistre le build lui-même. L'un assainit les entrées, l'autre enregistre ce qu'il en advient.

Mis à jour le

La réponse courte

Chainguard construit des logiciels open source depuis les sources et les livre durcis : des images de conteneurs minimales avec peu ou pas de vulnérabilités connues, des bibliothèques de langages reconstruites, des images de VM et des GitHub Actions durcies, chacune avec une SBOM et une provenance signées. Si votre problème est que les images de base et les paquets dont vous partez comportent trop de CVE, Chainguard s'y attaque directement.

CRACI est un runner CI pour GitHub Actions. Vos jobs s'exécutent dessus et, pendant leur exécution, il enregistre chaque dépendance externe qu'ils récupèrent et applique une politique de trafic sortant. Chainguard sécurise les entrées. CRACI sécurise et enregistre le build. Les deux se recoupent très peu et se complètent naturellement.

En un coup d'œil

Fonctionnalité CRACI Chainguard
Exécute vos builds Les jobs s'exécutent sur des runners CRACI Fournit les images et les bibliothèques utilisées par les builds
Enregistre ce que votre build a récupéré Récupérations observées, paquets issus des caches CI compris Ses SBOM décrivent les propres artefacts de Chainguard
Politique de trafic sortant du build Refus ou autorisation par défaut, bloque tout en cas d'échec Hors de son périmètre : il n'exécute pas de builds
SBOM Pour vos artefacts, par build, avec état de complétude SBOM SPDX signée avec chaque image de conteneur
Provenance signée Pas de provenance signée Provenance SLSA sur ses images et bibliothèques
Suivi des vulnérabilités SBOM surveillées réévaluées Avis de sécurité et rebuilds pour les artefacts Chainguard
Images de conteneurs durcies et minimales Catalogue d'images zéro CVE, construites depuis les sources
Bibliothèques reconstruites depuis les sources Java, Python et JavaScript
SLA de correction des CVE 7 jours pour les critiques, 14 jours pour les autres niveaux
GitHub Actions durcies Chainguard Actions, construites depuis les sources
Tarifs $0.002 par minute vCPU ($0.004 pour 2 vCPU), décompté à la seconde ; sans abonnement mensuel ni frais par SBOM Jusqu'à cinq images de conteneurs gratuites ; catalogue à partir de $19K pour une équipe de 10, tarif par image sur devis (en septembre 2026).
  • Inclus
  • Non inclus

Les points forts de Chainguard

La page d'accueil de Chainguard
chainguard.dev

Chainguard Containers est, selon les termes de Chainguard, un catalogue d'images de conteneurs zéro CVE, construites depuis les sources. Chaque image est accompagnée d'une attestation SBOM signée au format SPDX et d'une attestation de provenance SLSA 1.0 qui décrit l'environnement de build, le tout vérifiable avec cosign. Les clients peuvent aussi obtenir des SBOM CycloneDX sur les builds plus récents.

La politique en matière de CVE est concrète. Pour les clients sous contrat, Chainguard s'engage à corriger les CVE critiques sous 7 jours calendaires et les CVE de niveau élevé, moyen et faible sous 14 jours calendaires après la publication d'un correctif éligible, pour les branches de versions prises en charge de ses images.

Chainguard Libraries applique la même approche aux paquets de langages. C'est un catalogue de dépendances Java, Python et JavaScript reconstruites à partir de sources vérifiées au lieu d'être téléchargées sous forme d'artefacts précompilés, fourni comme source amont de JFrog Artifactory, Sonatype Nexus Repository ou Cloudsmith. Chaque paquet porte des signatures Sigstore, une SBOM signée et une provenance SLSA Level 3. Chainguard Actions propose des versions durcies de GitHub Actions populaires, construites depuis les sources et scannées en continu, et Chainguard VMs applique ce modèle aux images de machines virtuelles.

CRACI ne produit ni images ni bibliothèques durcies et ne promet rien quant au nombre de CVE de ce que vous récupérez. C'est le métier de Chainguard.

Ce qui distingue CRACI

Il observe votre build, pas celui de Chainguard

Les SBOM et la provenance de Chainguard décrivent les artefacts de Chainguard, construits dans l'usine de Chainguard. Votre build s'exécute toujours quelque part, et il récupère bien plus qu'une image de base : vos propres dépendances, des toolchains, des outils récupérés par des scripts d'installation et tout ce qu'une étape de workflow télécharge. CRACI enregistre tout cela. Un proxy qui comprend les paquets, installé sur le runner, observe le trafic vers les sources de paquets npm, PyPI, RubyGems, Cargo, Go, Nix, OCI, apt, apk et Git. Les preuves suivent les caches CI, et chaque SBOM indique sa complétude par job et par cache : Complete, Complete with connections, Incomplete, Unavailable ou Not recorded.

Il limite ce que le build peut joindre

Des entrées durcies ne servent que si le build les utilise réellement. La politique de trafic sortant de CRACI fonctionne en refus par défaut ou en autorisation par défaut, avec 24 presets de sources logicielles intégrés et des sources personnalisées typées pour les registres, registres OCI et Git compris. Les politiques sont validées avant le démarrage du job et bloquent tout en cas d'échec. Une politique qui autorise votre registre Chainguard et votre dépôt d'artefacts, et presque rien d'autre, transforme « nous utilisons Chainguard » d'une convention en une règle que le runner fait respecter.

Il continue de surveiller ce que vous avez livré

L'API renvoie les SBOM, les traces réseau et la provenance. CRACI continue de réévaluer les SBOM surveillées pour détecter de nouvelles vulnérabilités. Les SBOM s'exportent en CycloneDX ou SPDX, vulnérabilités comprises.

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 le reconstituer à partir de notes de version et de tableurs.

Les utiliser ensemble

Une configuration type :

  • Chainguard fournit les images de base et, via votre dépôt d'artefacts, des bibliothèques reconstruites.
  • CRACI exécute les jobs GitHub Actions qui s'appuient sur elles, avec une politique de trafic sortant qui autorise vos sources approuvées, et enregistre ce que chaque job a récupéré.

OCI fait partie des écosystèmes que CRACI détecte, et CRACI fonctionne avec les miroirs npm et PyPI de JFrog Artifactory : les images et les paquets Python ou JavaScript qui arrivent par ce biais font donc partie de l'enregistrement du build. La prise en charge de Maven, qui couvre Chainguard Libraries pour Java, figure sur la roadmap.

Lequel vous convient

  • Les scanners signalent sans cesse des CVE dans vos images de base : Chainguard remplace ces images par des images durcies.
  • Vous avez besoin de preuves de ce qui est entré dans chaque release : CRACI les enregistre à partir du build.
  • Vous voulez des builds qui ne peuvent joindre que des sources approuvées : la politique de trafic sortant de CRACI l'impose au niveau du runner.
  • Vous voulez à la fois des entrées saines et un build enregistré : utilisez-les ensemble, comme ci-dessus.

Pour le Cyber Resilience Act

Partir de composants comportant peu de vulnérabilités connues, avec un SLA de correction documenté et des SBOM signées, facilite la gestion des vulnérabilités d'un fabricant. Chainguard y contribue. CRACI 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 : ce qui est entré dans chaque release et le suivi continu des vulnérabilités. Aucun des deux ne rend un produit conforme à lui seul. Voir ce qu'est le CRA et la conformité au CRA.

Ajouter CRACI à une configuration Chainguard

Installez la GitHub App CRACI, puis remplacez runs-on par craci dans les workflows que vous voulez enregistrer. Vos Dockerfiles et votre configuration de paquets restent inchangés. CRACI prend en charge GitHub Actions aujourd'hui ; GitLab CI, Jenkins et d'autres systèmes CI figurent sur la roadmap. En savoir plus sur la génération de SBOM au build et l'intégration CI/CD.

Construisez sur des entrées saines, et prouvez-le

Exécutez sur un runner CRACI un workflow GitHub Actions qui utilise vos images Chainguard, et examinez l'enregistrement qu'il laisse.

Réserver une démo