Codemender, l’IA de deepmind qui sécurise automatiquement le code

Codemender, l’IA de deepmind qui sécurise automatiquement le code

CodeMender : L'agent IA de DeepMind pour corriger automatiquement les failles de sécurité

Google DeepMind lance CodeMender, un agent IA pour corriger automatiquement les failles de sécurité informatique

Google DeepMind a dévoilé CodeMender, un nouvel agent d’intelligence artificielle conçu pour détecter et corriger de manière autonome les vulnérabilités critiques dans le code logiciel. En seulement six mois, cet outil a déjà apporté 72 correctifs de sécurité à des projets open-source établis.

Un défi majeur pour la cybersécurité logicielle

La détection et la correction des failles de sécurité restent des tâches complexes et chronophages, même avec l’aide de méthodes automatisées classiques telles que le fuzzing. Les recherches précédentes de Google DeepMind, avec des projets comme Big Sleep et OSS-Fuzz, ont permis d’identifier de nombreuses failles, mais cette efficacité crée une nouvelle problématique : un afflux de vulnérabilités dépasse la capacité humaine de correction.

CodeMender : une IA autonome pour sécuriser le code

CodeMender a été conçu pour rééquilibrer cette dynamique. Il agit à la fois de manière réactive en corrigeant instantanément les failles découvertes, et de façon proactive en réécrivant le code afin d’éliminer des catégories entières de vulnérabilités avant qu’elles ne soient exploitées. Cette autonomie permet aux développeurs de se concentrer davantage sur l’innovation et l’amélioration des fonctionnalités logicielles.

Des capacités d’analyse avancées grâce aux modèles Gemini de DeepMind

Le système repose sur les derniers modèles d’IA de Google, Gemini Deep Think, qui offrent des capacités de raisonnement avancées. Avant toute modification, CodeMender analyse le code source en profondeur, identifie les vulnérabilités, propose des correctifs, puis les valide automatiquement pour prévenir les régressions ou nouvelles erreurs.

Correction de code sécurisée et validée automatiquement

Avec les enjeux critiques liés à la sécurité du code, toute erreur peut avoir des conséquences désastreuses. C’est pourquoi CodeMender intègre un cadre de validation automatique rigoureux qui :

  • Vérifie que le correctif règle bien la faille initiale
  • Contrôle la conformité fonctionnelle et les tests existants
  • S’assure du respect des standards et du style de codage du projet
  • Ne propose que des correctifs validés pour revue humaine

Outils utilisés : analyse statique, test différentiel et fuzzing

CodeMender combine plusieurs techniques d’analyse, notamment l’analyse statique et dynamique, les tests différentiels, le fuzzing, et les solveurs SMT. Cela lui permet d’identifier les causes profondes des problèmes de sécurité, mais également de corriger les faiblesses architecturales de manière systématique.

Une architecture multi-agents pour une précision optimale

Le système emploie une architecture à multiples agents spécialisés. Par exemple, un agent critique basé sur un modèle de langage identifie les différences entre le code initial et le code modifié, aidant ainsi l’IA principale à valider ses propres solutions et à les corriger en cas de besoin.

Exemples concrets de réparation de failles

Dans un cas précis, CodeMender a corrigé un débordement de tampon détecté lors d’un crash report, identifiant comme cause véritable une mauvaise gestion de la pile lors du traitement d’éléments XML. Dans un autre scénario, l’IA a livré un correctif non trivial pour un problème de durée de vie d’objet, en modifiant un générateur de code C personnalisé.

Prévenir les failles avant leur apparition

CodeMender ne se contente pas de corriger les bugs existants. Il peut aussi durcir les logiciels contre les menaces futures. Ainsi, il a appliqué automatiquement des annotations -fbounds-safety à des sections critiques de la librairie libwebp, utilisée mondialement pour la compression d’images.

Ces annotations demandent au compilateur d’ajouter des contrôles de dépassement de tampon, empêchant ainsi l’exploitation de failles similaires à celle référencée CVE-2023-4863, utilisée par le passé dans une attaque « zero-click » ciblant iOS.

Une IA adaptative, capable d’auto-correction

CodeMender est capable d’ajuster ses solutions automatiquement. Si une modification entraîne une erreur de compilation ou des tests défaillants, l’agent adapte sa stratégie de correction en fonction des retours du système de validation intégré.

Déploiement progressif et supervision humaine

Malgré des résultats prometteurs, Google DeepMind adopte une approche rigoureuse. Chaque patch proposé par CodeMender fait l’objet d’une revue humaine avant soumission à un projet open-source. L’objectif est de garantir la qualité du code et d’incorporer les retours de la communauté en continu.

Vers une démocratisation future de CodeMender

À l’avenir, DeepMind prévoit d'étendre la portée de CodeMender en collaborant avec les responsables de projets open-source critiques. L’ambition est de rendre cet outil accessible publiquement à tous les développeurs pour renforcer la cybersécurité logicielle à grande échelle.

Des publications techniques détaillant la méthodologie et les résultats du projet sont également prévues pour les mois à venir, marquant une avancée majeure vers des agents IA capables d’améliorer fondamentalement la sécurité logicielle de manière proactive.

À lire aussi : Attaque CAMIA : ce que les modèles d’IA mémorisent sur les données

@ReservoirLive