This Shit is Hard : La vie et la mort d'un CVE dans l'usine de Chainguard
C'est le lundi précédant Thanksgiving, un matin doux à Cary, en Caroline du Nord. À 9 h 54, Keith Zantow, ingénieur chez Anchore, effectue une validation. Un peu moins d'un jour plus tard, le 25 novembre à 9 h 18, un avis de sécurité GitHub est diffusé.
La machine se met en marche.
La machine
Dans les deux heures qui suivent l'avis de sécurité, la Chainguard Factory signale qu'un nouveau correctif est disponible. Un correctif est mis en file d'attente.
Mercredi soir, des scanners sont lancés sur tous les paquets de l'usine en fonction de ces nouvelles informations. Une correspondance est détectée : k9s dépend du code vulnérable.
À 18 h 11, un problème est créé. Immédiatement, Driftless AF, le cadre agentique de Chainguard, se met en marche. Dans ce contexte, l'agent détient à la fois l'état actuel et l'état requis du code et s'efforce de les réconcilier. Quarante et une secondes plus tard, l'agent dépose un commentaire :

Il s'agit d'une vulnérabilité confirmée de haute gravité, et la correction est simple : faire passer Grype de la version 0.101.1 à la version 0.104.1.
Le problème reste dans la file d'attente toute la nuit. Il est 7 heures du matin, le jour de Thanksgiving. À New York, les chars de la parade s'alignent sur la Cinquième Avenue. Les tartes sortent du four et la dinde attend son tour.
À 7 h 20, le matin de Thanksgiving, le robot OctoSTS ouvre une demande d'extraction. Une ligne est ajoutée à k9s.yaml. Vingt-neuf contrôles CI sont exécutés. Onze minutes plus tard, le PR est fusionné. Puisque le PR est un saut de version et que tous les tests sont réussis, aucune intervention humaine n'est nécessaire. À 7h37, l'avis arrive sur le flux public : k9s 0.50.16-r4, fixed. Cela fait 46 heures que l'avis CVE a été diffusé sur la GHSA.
Dans six heures, les Packers affronteront les Lions, ce qui laisse beaucoup de temps pour la sauce aux airelles.
Novembre : Un mois à retenir
La CVE-2025-65965 n'était pas une CVE exceptionnelle : elle avait un taux de gravité élevé mais un rayon d'action relativement faible, et elle a été facilement corrigée en modifiant les versions. Ce qui était excellent, cependant, c'est que novembre 2025 a été le mois le plus important pour la détection et la remédiation de CVE dans l'histoire de Chainguard.
Au cours du mois, Chainguard a remédié à 2 960 CVE uniques, en triant 10 493 hits de scanners contre des paquets. Cela représente une augmentation de plus de 9 fois par rapport au mois d'octobre. Pendant cette période, Chainguard a respecté à 100 % son accord de niveau de service (SLA), qui exige que tous les CVE critiques soient remédiés dans les 7 jours et tous les CVE élevés, moyens et faibles dans les 14 jours.
Si le mois de novembre a été mémorable, ce n'est pas parce que nos chapeaux étaient en feu. Outre les congés pour les vacances aux États-Unis, nos ingénieurs avaient également besoin de temps pour se rendre à une réunion d'ingénierie et en revenir. Comment a-t-il été possible d'effectuer la plus grande restauration jamais réalisée sans un incendie à cinq alarmes ?
L'usine
L'usine est le cœur battant, rempli de YAML, de tout ce que nous faisons chez Chainguard. Fondamentalement, il s'agit d'un système de construction qui surveille plus de 10 000 projets open source. Lorsqu'une version est étiquetée en amont, ou que les flux GHSA ou NVD sont mis à jour, l'usine entre en action, récupérant les sources, vérifiant les sommes de contrôle, appliquant les règles de construction, reconstruisant, et testant, testant, testant. En outre, nous reconstruisons également tout projet qui dépend d'une reconstruction, et nous reconstruisons périodiquement le monde, simplement parce que cela fait du bien d'être en vie.
Grâce à Factory, les CVE sont remédiés chez Chainguard en deux jours en moyenne, et seulement 22 % des remédiations CVE nécessitent une intervention humaine directe. En 2026, avec l'arrivée de Factory v2 et de Driftless AF, nous prévoyons que ce chiffre continuera à baisser. Cela permet à nos ingénieurs de passer à un niveau supérieur, en prenant plus de temps pour concevoir des tests, affiner les processus et construire de manière plus sécurisée dès le départ, plutôt que de trier manuellement des CVE individuels.
Le Black Friday et au-delà
L'écrivain G.K. Chesterton a écrit un jour : "Le chaos est ennuyeux, parce que dans le chaos, le train peut effectivement aller n'importe où. Non, prenez vos livres de simple poésie et de prose ; laissez-moi lire un calendrier, avec des larmes de fierté". Chez Chainguard, nous préférons également l'ordre au chaos. Pour nous, une automatisation en douceur est de la pure poésie, et nous considérons chaque journée ennuyeuse pour nos clients comme une victoire.
À 23 h 15 (heure de l'Est), les constructions nocturnes de nos conteneurs Chainguard démarrent et les remédiations pour CVE-2025-65965 sont intégrées dans les images. Avant même que nous ayons pu déguster les restes de Thanksgiving ou planifier nos courses de vendredi dans les grandes surfaces, notre CVE a été remédié dans toutes les étiquettes et versions, prêt à être récupéré par nos clients le matin du Black Friday. Pendant la semaine de Thanksgiving, CVE-2025-65965 a été un CVE typique au sein d'un système atypiquement efficace : la Chainguard Factory. Que diriez-vous d'une bonne affaire ?
Share this article
Articles connexes
- security
How to protect your organization from the telnyx PyPI compromise
Ross Gordon, Staff Product Marketing Manager, and Bria Giordano, Director, Product Management
- security
You were one pip install away from the litellm breach. Chainguard customers weren’t.
Ross Gordon, Staff Product Marketing Manager, and Bria Giordano, Director, Product Management
- security
Secure-by-default: Chainguard customers unaffected by the Trivy supply chain attack
Reid Tatoris, VP of Product
- security
Going deep: Upstream distros and hidden CVEs
Chainguard Research
- security
Chainguard + Second Front: A faster, more secure path into government markets
Ben Prouty, Principal Partner Sales Manager, Chainguard, and Veronica Lusetti, Senior Manager of Partnerships, Second Front
- security
npm’s update to harden their supply chain, and points to consider
Adam La Morre, Senior Solutions Engineer