Buttercup - L'IA qui trouve et patche automatiquement les failles de sécurité
Ce serait quoi un monde où les bugs de sécurité se font corriger avant même que les hackers ne les trouvent ? Ce serait plus calme non ? J’écrirais moins sur les failles de sécurité cela dit, mais ça me ferais plus de temps pour chiller dans le hamac. Breeeef, ça va peut-être se produire bientôt car c’est exactement ce que vient de rendre possible Trail of Bits en libérant Buttercup, leur système AI qui a décroché la deuxième place et 3 millions de dollars au challenge AIxCC du DARPA.
Et c’est maintenant open source et ça tourne sur votre laptop.
La tendance actuelle c’est une explosion des vulnérabilités… y’a plus de code produit que jamais, des dépendances partout, et des hackers de plus en plus organisés. Donc les équipes de sécurité sont débordées et passent leur temps à courir après les failles. Heureusement, Buttercup vient inverser complètement la donne en automatisant tout le processus, de la détection au patch.
Ce qui rend ce système spécial, c’est qu’il combine le meilleur des deux mondes. D’un côté, les techniques classiques de cybersécurité comme le fuzzing (bombarder le code avec des entrées aléatoires pour le faire planter) et l’analyse statique. Et de l’autre, sept agents IA différents qui collaborent pour comprendre le contexte, générer des patchs et vérifier qu’ils ne cassent rien d’autre.
Lorsqu’on lui confie une analyse, d’abord, Buttercup lance donc une campagne de fuzzing augmentée par IA sur votre code. Et au lieu de tester bêtement des entrées aléatoires, l’IA apprend quels patterns ont le plus de chances de révéler des bugs. Puis, quand une vulnérabilité est trouvée, le système utilise des outils comme tree-sitter et CodeQuery pour créer un modèle complet du programme et comprendre exactement comment le bug s’intègre dans l’architecture globale.
Et c’est là que ça devient vraiment intéressant car les sept agents IA entrent alors en action, avec chacun avec sa spécialité. L’un analyse le bug, l’autre génère des propositions de patch, un troisième vérifie que le patch ne casse pas les tests existants, et ainsi de suite. Ils se coordonnent tous pour produire un patch normalement robuste qui corrige vraiment le problème sans créer de régression.
Pendant la compétition DARPA à DEF CON 33, Buttercup a impressionné tout le monde. Le système a trouvé et patché des vulnérabilités dans 20 des 25 CWEs les plus dangereux selon MITRE. Et je vous parle de trucs sérieux : buffer overflows, injections SQL, race conditions… Trail of Bits a même reçu le prix “LOC Ness Monster” pour avoir soumis un patch de plus de 300 lignes qui fonctionnait parfaitement.
Ce qui est fou, c’est qu’ils ont obtenu ces résultats en utilisant uniquement des modèles IA moins chers, non-reasoning, et pas les gros modèles de raisonnement ultra-chers. Ça veut dire que c’est accessible pour des projets normaux, pas seulement pour les géants de la tech avec des budgets illimités.
L’installation est vraiment simple pour un outil de cette complexité :
git clone --recurse-submodules https://github.com/trailofbits/buttercup.git
cd buttercup
make setup-local
make deploy-local
Bon, il vous faudra quand même 8 cœurs CPU, 16GB de RAM et environ 100GB d’espace disque. Plus des clés API pour OpenAI ou Anthropic si vous voulez utiliser les fonctionnalités IA. Mais comparé à d’autres outils de sécurité enterprise, c’est vraiment raisonnable. Rassurez-vous aussi, il est possible de fixer un budget maximum en conso API.
Le système supporte actuellement le C et le Java, avec une compatibilité OSS-Fuzz pour s’intégrer facilement dans vos pipelines existants. Il y a même une interface web pour monitorer les tâches en cours et voir exactement ce que fait le système.
Ce qui me plaît vraiment dans ce projet, c’est surtout la philosophie derrière car au lieu de garder cette technologie secrète ou de la vendre hyper cher, Trail of Bits a décidé de tout libérer. Ils ont même créé une version “laptop-friendly” spécialement optimisée pour tourner sur des machines normales, pas juste des clusters de serveurs.
Dans le contexte actuel, c’est une vraie révolution. Google a par exemple montré que son IA peut trouver de nouvelles vulnérabilités dans des projets open source majeurs et Meta développe AutoPatchBench pour standardiser la réparation automatique. Mais Buttercup est le premier système complet, de bout en bout, et open source.
Avec cet outil, des projets open source pourrait se patcher automatiquement et les développeurs pourraient alors se concentrer sur les features au lieu de passer des heures à debugger. Bien sûr, ce n’est pas magique et Buttercup ne remplacera pas les experts en sécurité mais c’est un outil incroyablement puissant qui peut automatiser la partie la plus répétitive et chronophage du travail. Et vu que c’est open source, la communauté peut l’améliorer, l’adapter à ses besoins, créer des plugins…
Donc, si vous bossez dans le dev ou la sécurité, allez jeter un œil au GitHub de Buttercup et qui sait, peut-être qu’un jour on regardera en arrière et on se demandera comment on faisait sans IA pour sécuriser notre code.