Récemment, Google DeepMind a dévoilé CodeMender, un agent d’intelligence artificielle révolutionnaire capable de détecter et de corriger automatiquement les failles de sécurité dans le code. Cet outil innovant s’inscrit dans une tendance où l’IA joue un rôle de plus en plus central dans le développement logiciel. Son fonctionnement repose sur l’analyse approfondie des vulnérabilités, la génération de correctifs, la vérification de leur intégrité afin de s’assurer qu’ils ne compromettent pas d’autres aspects du projet, et la soumission des modifications aux mainteneurs de projets open source.
En l’espace de six mois d’utilisation, CodeMender a réussi à intégrer 72 correctifs de sécurité dans des projets variés, certains d’entre eux comptant jusqu’à 4,5 millions de lignes de code. Cet outil fonctionne grâce à deux modes d’opération : un mode réactif, qui applique instantanément des correctifs sur les nouvelles vulnérabilités détectées, et un mode proactif, qui réécrit le code existant en adoptant des structures de données et des APIs plus sécurisées.
La puissance de CodeMender repose sur la technologie Gemini Deep Think de Google, un modèle avancé d’analyse. L’outil combine plusieurs techniques d’analyse telles que l’analyse statique pour repérer des motifs suspects, l’analyse dynamique pour observer le comportement durant l’exécution, et le fuzzing, qui permet d’identifier des erreurs en introduisant des entrées aléatoires dans le code. Un processus de validation original est également mis en place avec ce que DeepMind appelle un “LLM judge” qui évalue si les correctifs proposés n’entraînent pas de régressions fonctionnelles.
CodeMender promet de faciliter la sécurisation des logiciels open source par une approche entièrement automatisée.
Un exemple concret illustrant l’efficacité de CodeMender se trouve dans ses interventions sur la bibliothèque libwebp. Après analyse, l’IA a appliqué des annotations spécifiques sur des sections de code, renforçant ainsi la sécurité contre les attaques de type buffer overflow ou underflow. Il ne s’agit pas d’un simple correctif temporaire, mais d’une véritable mesure préventive contre plusieurs types de vulnérabilités.
Les 72 correctifs déjà intégrés à des projets open source variés démontrent l’impact significatif de cet outil. Actuellement, les chercheurs de DeepMind contactent directement les mainteneurs de ces projets pour leur proposer les patches, mais leur objectif est de rendre CodeMender accessible à tous les développeurs. Ce processus de validation garantit que chaque patch respecte des critères stricts, garantissant ainsi non seulement l’efficacité, mais également la conformité stylistique avec le projet concerné.
Ce qui distingue CodeMender des outils d’analyse statique traditionnels tels que Coverity ou SonarQube est son autonomie. Contrairement à ces outils qui se contentent de signaler les vulnérabilités, CodeMender complémente cette détection par la génération de correctifs, leur validation et leur soumission. À terme, DeepMind envisage d’intégrer CodeMender à un niveau plus systématique, permettant ainsi une surveillance continue des repositories, en détectant et corrigeant les failles de sécurité de manière proactive.