Codepender vise à aider les développeurs à suivre le rythme de la découverte de vulnérabilité alimentée en AI en corrigeant automatiquement les défauts de sécurité.
Google Deepmind a introduit un agent d’IA qui a automatiquement trouvé et fixé des vulnérabilités logicielles dans des projets open source, soumettant 72 correctifs de sécurité au cours des six derniers mois aux bases de code, y compris certaines aussi importantes que 4,5 millions de lignes de code.
L’outil, appelé Codepender, utilise des modèles Gemini Deep Think pour créer un agent autonome capable de déboguer et de fixer des défauts de sécurité complexes, Raluca Ada Popa, chercheur principal en chercheur chez Google DeepMind, et Fionn Flynn, vice-président de la sécurité et de la confidentialité de Google DeepMind, dans un article de blog.
«Les vulnérabilités logicielles sont notoirement difficiles et qui prennent du temps à trouver et à corriger les développeurs, même avec des méthodes traditionnelles et automatisées comme le fuzzing», a écrit Popa et Flynn dans le post. «Alors que nous réalisons plus de percées dans la découverte de la vulnérabilité alimentée par l’IA, il deviendra de plus en plus difficile pour les seuls humains de suivre.»
Comment fonctionne Codeder
Codepender opère en tirant parti des capacités de raisonnement des modèles Gemini Deep Think pour produire un agent autonome qui peut déboguer et corriger les vulnérabilités. L’agent est équipé d’outils qui lui permettent de raisonner sur le code avant d’apporter des modifications et de valider automatiquement ces modifications pour s’assurer qu’ils sont corrects et ne provoquent pas de régressions, ont déclaré les chercheurs.
La société a déclaré avoir développé de nouvelles techniques et outils qui permettent à Codepender des raisons du code et de valider les changements plus efficacement. Ceux-ci incluent des outils d’analyse de programme avancés basés sur l’analyse statique, l’analyse dynamique, les tests différentiels, le fuzzing et les solveurs SMT qui examinent systématiquement les modèles de code, le flux de contrôle et le flux de données pour identifier les causes profondes des défauts de sécurité.
Codedern utilise également des systèmes multi-agents avec des agents à usage spécial qui abordent des aspects spécifiques des problèmes sous-jacents. Par exemple, l’outil utilise un outil de critique basé sur un modèle de langue large qui met en évidence les différences entre le code original et modifié pour vérifier que les modifications proposées n’introduisent pas les régressions, a déclaré la société.
« Alors que les modèles de grands langues s’améliorent rapidement, les erreurs dans la sécurité du code pourraient être coûteuses », ont écrit les chercheurs, ajoutant que le processus de validation automatique de Codender garantit que les modifications de code sont correctes à travers de nombreuses dimensions en faisant surface uniquement pour les correctifs de haute qualité de revue humaine qui corrigent les causes profondes, sont fonctionnellement corrects, ne provoquent pas de régressions et de suivi des directives de style.
Sécurité réactive et proactive
L’outil adopte à la fois des approches réactives et proactives de la sécurité du code, a déclaré Google Deepmind. Réactivement, il corrige instantanément de nouvelles vulnérabilités. Proactivement, il réécrit et sécurise le code existant pour éliminer les classes entières de vulnérabilités.
Dans un exemple proactif, Google DeepMind a déployé Codepender pour appliquer des annotations de sécurité -facles à des parties de LibWebp, une bibliothèque de compression d’image largement utilisée. Lorsque des annotations de sécurité -foues sont appliquées, le compilateur ajoute des vérifications de limites pour empêcher les attaquants d’exploiter le débordement de tampon ou les vulnérabilités sous-flux pour exécuter du code arbitraire.
La société a souligné le CVE-2023-4863, une vulnérabilité de débordement de tampon de tas dans LibWebp qui a été utilisée par un acteur de menace dans le cadre d’un exploit iOS zéro-clic. Avec des annotations de sécurité-fascioues, cette vulnérabilité aurait été rendu inexploquable, a déclaré Google Deepmind dans le billet de blog.
Une revue humaine est toujours requise
Alors que Google Deepmind a décrit les premiers résultats avec Codeder comme prometteur, la société a déclaré qu’elle adoptait une approche prudente axée sur la fiabilité. Actuellement, tous les correctifs générés par Codepender sont examinés par des chercheurs humains avant d’être soumis en amont, ont ajouté les chercheurs dans le poste.
À l’aide de Codeder, Google Deepmind a déclaré qu’il avait déjà commencé à soumettre des correctifs à diverses bibliothèques critiques open-source, dont beaucoup ont déjà été acceptées et amont. La société a déclaré qu’elle augmente progressivement le processus pour garantir la qualité et aborder systématiquement les commentaires de la communauté open-source.
Google Deepmind a déclaré qu’il contacterait progressivement les responsables intéressés des projets open source critiques avec des correctifs générés par Codeder. En outre, il espère publier CodeMender comme un outil qui peut être utilisé par tous les développeurs de logiciels pour assurer la sécurité de leurs bases de code, et prévoit de publier des articles techniques et des rapports détaillant les techniques et les résultats dans les prochains mois, a indiqué la société dans le billet de blog.



