IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Deepmind lance CodeMender, un agent IA permettant d'automatiser les correctifs de sécurité pour le code open source
CodeMender détecte, corrige et aide à prévenir les failles de sécurité des logiciels

Le , par Jade Emy

26PARTAGES

9  0 
Deepmind lance CodeMender, un agent IA permettant d'automatiser les correctifs de sécurité pour le code open source, CodeMender détecte, corrige et aide à prévenir les failles de sécurité des logiciels

Google Deepmind a présenté CodeMender, un agent IA qui détecte, corrige et aide à prévenir les failles de sécurité des logiciels. Il analyse le code source, identifie les failles et peut appliquer automatiquement des correctifs de sécurité. CodeMender utilise le modèle Gemini Deep Think ainsi que l'analyse statique et dynamique du code, les tests différentiels, le fuzzing et les solveurs SMT. Chaque correctif est automatiquement validé pour vérifier son exactitude fonctionnelle, puis examiné par des chercheurs humains avant d'être intégré.

Google DeepMind est une entreprise spécialisée dans l'intelligence artificielle (IA) appartenant à Google. L'entreprise s'est notamment faite connaitre par son programme de jeu de Go AlphaGo, son logiciel AlphaFold (qui permet de prédire la structure des protéines) puis par AlphaGenome (une IA spécialisée dans le génome humain). Google DeepMind est désormais responsable du développement de Gemini (la famille de grands modèles de langage de Google) et d'autres outils d'IA générative, tels que le modèle de conversion texte-image Imagen, le modèle de conversion texte-vidéo Veo et le modèle de conversion texte-musique Lyria.

Récemment, Google Deepmind a présenté CodeMender, un agent IA qui détecte, corrige et aide à prévenir les failles de sécurité des logiciels. Il analyse le code source, identifie les failles et peut appliquer automatiquement des correctifs de sécurité. Il a déjà contribué à plus de 70 correctifs vérifiés pour des projets open source. Le système vise à aller au-delà des méthodes traditionnelles telles que le fuzzing et l'analyse statique, qui peinent à faire face aux menaces modernes.

S'appuyant sur des recherches antérieures telles que Big Sleep et OSS-Fuzz, CodeMender utilise le modèle Gemini Deep Think ainsi que l'analyse statique et dynamique du code, les tests différentiels, le fuzzing et les solveurs SMT. Chaque correctif est automatiquement validé pour vérifier son exactitude fonctionnelle, puis examiné par des chercheurs humains avant d'être intégré.

CodeMender a résolu des problèmes complexes tels que les débordements de mémoire tampon dans le traitement XML et les erreurs de mémoire dans le code basé sur C. Deepmind teste également des protections au niveau du compilateur, telles que les annotations -fbounds-safety dans la bibliothèque libwebp, afin d'empêcher des exploits tels que CVE-2023-4863. La société travaille avec la communauté open source et prévoit de rendre CodeMender disponible en tant qu'outil de développement.


CodeMender en action

CodeMender fonctionne en exploitant les capacités de réflexion des derniers modèles Gemini Deep Think pour produire un agent autonome capable de déboguer et de corriger des vulnérabilités complexes.

Pour ce faire, l'agent CodeMender est équipé d'outils qui lui permettent d'analyser le code avant d'apporter des modifications, puis de valider automatiquement ces modifications afin de s'assurer qu'elles sont correctes et qu'elles n'entraînent pas de régressions.


Alors que les grands modèles de langage s'améliorent rapidement, les erreurs dans la sécurité du code peuvent coûter cher. Le processus de validation automatique de CodeMender garantit que les modifications du code sont correctes à plusieurs niveaux en ne soumettant à l'examen humain que des correctifs de haute qualité qui, par exemple, corrigent la cause profonde du problème, sont fonctionnellement corrects, ne provoquent pas de régressions et respectent les directives de style.

Google Deepmind a également développé de nouvelles techniques et de nouveaux outils qui permettent à CodeMender d'analyser le code et de valider les modifications plus efficacement. Cela comprend :

  • Analyse avancée des programmes : des outils basés sur l'analyse avancée des programmes, qui comprennent l'analyse statique, l'analyse dynamique, les tests différentiels, le fuzzing et les solveurs SMT. En utilisant ces outils pour examiner systématiquement les modèles de code, le flux de contrôle et le flux de données, CodeMender peut mieux identifier les causes profondes des failles de sécurité et des faiblesses architecturales.
  • Systèmes multi-agents :des agents spécialisés qui permettent à CodeMender de s'attaquer à des aspects spécifiques d'un problème sous-jacent. Par exemple, CodeMender utilise un outil de critique basé sur un modèle linguistique à grande échelle qui met en évidence les différences entre le code original et le code modifié afin de vérifier que les modifications proposées n'introduisent pas de régressions, et s'auto-corrige si nécessaire.

Pour corriger efficacement une vulnérabilité et empêcher sa réapparition, CodeMender utilise un débogueur, un navigateur de code source et d'autres outils pour identifier les causes profondes et concevoir des correctifs.

Un exemple partagé par Deepmind montre le raisonnement de l'agent concernant la cause profonde d'un correctif généré par CodeMender, après analyse des résultats du débogueur et d'un outil de recherche de code. Bien que le correctif final n'ait modifié que quelques lignes de code, la cause profonde de la vulnérabilité n'était pas immédiatement évidente. Puis, l'agent CodeMender a été capable de proposer un correctif non trivial qui traite un problème complexe lié à la durée de vie des objets. Lors du test, l'agent a été capable de déterminer la cause profonde de la vulnérabilité, mais il a également pu modifier un système entièrement personnalisé pour générer du code C au sein du projet.


CodeMender a également été conçu pour réécrire de manière proactive le code existant afin d'utiliser des structures de données et des API plus sécurisées. Par exemple, l'équipe de Deepmind a déployé CodeMender pour appliquer des annotations -fbounds-safety à certaines parties d'une bibliothèque de compression d'images largement utilisée appelée libwebp. Lorsque des annotations -fbounds-safety sont appliquées, le compilateur ajoute des vérifications de limites au code afin d'empêcher un attaquant d'exploiter un débordement ou un sous-débordement de tampon pour exécuter du code arbitraire.

Il y a quelques années, une vulnérabilité de débordement de tampon de pile dans libwebp (CVE-2023-4863) a été exploitée par un acteur malveillant dans le cadre d'une attaque iOS sans clic. Avec les annotations -fbounds-safety, cette vulnérabilité, ainsi que la plupart des autres débordements de tampon dans le projet où ils ont appliqué des annotations, auraient été rendus inexploitables à jamais.


Deepmind conclut :

Bien que nos premiers résultats avec CodeMender soient prometteurs, nous adoptons une approche prudente, en mettant l'accent sur la fiabilité. Actuellement, tous les correctifs générés par CodeMender sont examinés par des chercheurs humains avant d'être soumis en amont.

Grâce à CodeMender, nous avons déjà commencé à soumettre des correctifs à diverses bibliothèques open source critiques, dont beaucoup ont déjà été acceptés et intégrés en amont. Nous intensifions progressivement ce processus afin de garantir la qualité et de traiter systématiquement les commentaires de la communauté open source.

Nous contacterons également progressivement les responsables de projets open source critiques intéressés par les correctifs générés par CodeMender. En itérant sur les commentaires issus de ce processus, nous espérons commercialiser CodeMender comme un outil pouvant être utilisé par tous les développeurs de logiciels pour sécuriser leurs bases de code.

Nous aurons un certain nombre de techniques et de résultats à partager, que nous avons l'intention de publier sous forme d'articles techniques et de rapports dans les mois à venir. Avec CodeMender, nous commençons tout juste à explorer l'incroyable potentiel de l'IA pour améliorer la sécurité des logiciels pour tous.
Source : Deepmind

Et vous ?

Pensez-vous que cette annonce est crédible ou pertinente ?
Quel est votre avis sur le sujet ?

Voir aussi :

Google DeepMind présente l'IA super-avancée AlphaEvolve, un agent de codage alimenté par Gemini pour la conception d'algorithmes avancés

Peut-on laisser un agent IA coder sans supervision ? Six dépôts en une nuit grâce à un agent IA autonome : l'expérience repomirror comme miroir des défis de la programmation automatisée

État des lieux des outils de codage IA : Cursor et Windsurf sont-ils prêts à répondre aux exigences des développeurs ? Quel outil d'édition de code assisté par IA utilisez-vous ?
Vous avez lu gratuitement 455 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !