Présentation de CodeMender

Le lancement de modèles d'IA avancés a suscité une inquiétude généralisée concernant les failles de code. Les pirates informatiques ayant accès à de nouvelles fonctionnalités pour générer des exploits, les équipes de sécurité sont soumises à une pression énorme pour trouver et corriger de manière proactive les failles avant qu'elles ne puissent être exploitées.

CodeMender est un agent de sécurité de code IA qui peut détecter, vérifier et corriger les failles profondes de votre codebase. CodeMender enveloppe un harnais affiné autour d'un LLM, en utilisant des prompts, des compétences et une logique d'orchestration conçus par Google DeepMind pour transformer le modèle en un système agentique spécialisé dans la sécurité du code.

Fonctionnement

CodeMender est conçu pour gérer l'échelle et la diversité des environnements d'entreprise modernes, où le code s'étend sur de nombreux langages et types de systèmes :

  • Détecter les failles en analysant votre codebase à l'aide d'un LLM guidé par l'agent, en tirant parti d'outils spécialisés et de l'ingénierie de prompt pour concentrer le modèle sur les failles de sécurité. Vous pouvez également importer une liste de failles à partir d'outils d'analyse de sécurité externes.
  • Vérifier les failles en compilant le code et en tentant d'exploiter les failles détectées pour vérifier si elles sont exploitables. Cela permet de hiérarchiser les failles confirmées et de réduire le taux de faux positifs.
  • Corriger les failles en générant et en testant un correctif compatible avec le langage de votre codebase.

Au cours des trois étapes, vous pouvez fournir un contexte à CodeMender pour vous assurer qu'il tient compte des nuances de votre application et de votre modèle de menace. Cette combinaison d'un LLM avec le harnais affiné de CodeMender fournit des résultats de meilleure qualité que l'utilisation d'un LLM seul pour détecter et corriger les failles.

Architecture du système

Du point de vue d'un utilisateur, le système CodeMender comprend deux composants :

  • Agent : système multi-agent hébergé qui exécute la logique métier et le raisonnement de base.
  • Client : client exécuté sur votre machine, agissant à la fois comme une CLI (pour émettre des commandes et afficher des sorties) et comme un daemon (pour exécuter des commandes au nom de l'agent, par exemple pour parcourir la codebase et vérifier les failles et les correctifs).

Langages et frameworks pris en charge

CodeMender est compatible avec les principaux types de failles dans tous les principaux langages de programmation : C/C++, Go, Java, Python, TypeScript / JavaScript, Rust et Ruby. De plus, il est largement compatible avec les bibliothèques standards de ces langages, ainsi qu'avec les frameworks d'entreprise courants (tels que HTML/CSS, Django, Flask, React, Spring Boot et Express).

Les types de failles compatibles couvrent un large éventail de failles de sécurité logicielle dans la logique applicative, la gestion des données, la gestion de la mémoire et les flux de contrôle de l'authentification.

Modèles compatibles

CodeMender est compatible avec les modèles suivants :

Cliquez pour développer les modèles compatibles

Pour spécifier un modèle lors de l'exécution des commandes CodeMender CLI, consultez Spécifier le modèle.

Régions où le service est disponible

CodeMender est disponible dans le monde entier.

Suivre l'utilisation des jetons

CodeMender affiche la consommation de jetons à deux endroits : une ligne d'état en direct pendant l'exécution d'une commande et un résumé d'une ligne lorsqu'une commande s'exécute correctement. Les nombres couvrent les jetons d'entrée, de sortie et totaux pour la session en cours.

Ligne d'état en direct

Lors de l'exécution de cm find, cm fix, cm verify ou cm session resume, transmettez l'option --compact pour afficher une ligne d'état continue qui se met à jour au fur et à mesure que l'agent fonctionne :

cm find ./src/auth/ --compact

La ligne d'état indique les totaux cumulés de la session :

Tokens: 40k in / 12k out / 60k total

Les sessions reprises continuent de compter à partir de l'endroit où l'exécution précédente s'est arrêtée. Le nombre total peut inclure les jetons de raisonnement interne du modèle. Il peut donc dépasser in + out.

Résumé de sortie

Lorsqu'une commande se termine correctement et qu'au moins une étape d'outil a été exécutée, CodeMender affiche un résumé d'une ligne avec le temps écoulé et le nombre total de jetons :

 Completed 14 tool steps in 3m 42s | Tokens: 40k in / 12k out / 60k total

Utilisation des jetons facturée

Pour afficher l'utilisation cumulée des jetons facturés et les tendances des coûts dans votre Google Cloud projet, consultez Afficher les rapports de facturation et l'évolution des coûts dans Cloud Billing.

Premiers pas avec la CLI

Configurez l'outil CLI et initialisez votre espace de travail pour commencer l'analyse.

Prérequis

Avant d'initialiser la CLI CodeMender, assurez-vous que votre environnement est correctement préparé :

Spécifier le modèle

Par défaut, CodeMender utilise Gemini 3.5 Flash. Pour remplacer le modèle par défaut, transmettez l'option --model avec l'identifiant de modèle correspondant :

  • Gemini 3.5 Flash (par défaut) : --model gemini-3.5-flash
  • Preview Gemini 3.1 Pro : --model gemini-3.1-pro-preview
  • Preview Gemini 3 Flash : --model gemini-3-flash-preview

L'option --model est compatible avec les commandes suivantes :

  • cm find
  • cm verify
  • cm fix

Pour spécifier un modèle lors de l'exécution de l'une de ces commandes, utilisez la syntaxe suivante :

cm COMMAND TARGET --model MODEL_NAME

Sécurité et confidentialité des données

Les sections suivantes décrivent le modèle de sécurité, les règles de conservation des données et les contrôles d'accès de CodeMender :

Quelles données sont envoyées au cloud ?

Lorsque vous utilisez CodeMender, l'outil CLI local sert d'intermédiaire pour accéder à votre code, ce qui garantit que vos dépôts de code source complets ne sont jamais importés sur les serveurs de Google et ne sont pas clonés indépendamment par l'agent hébergé.

Au lieu de cela, les données envoyées à l'agent hébergé par Google sont strictement localisées et se composent des éléments suivants :

  • Contenu de fichiers ou extraits de code ciblés, informations sur les failles, correctifs proposés et résultats d'exécution des commandes.
  • Métadonnées, diagnostics, erreurs et télémétrie d'utilisation (tels que les jetons consommés et la durée des commandes).

Le code source de votre client n'est jamais utilisé pour entraîner les pondérations du modèle sous-jacent.

Quelles sont les conditions de conservation ?

CodeMender utilise une règle de conservation des données stricte et à court terme :

  • Durée de conservation maximale de sept jours : les données de session, y compris les extraits de code et les états de suivi, sont conservées pendant sept jours maximum dans le stockage de Gemini Enterprise Agent Platform pour permettre aux utilisateurs de reprendre facilement les analyses interrompues. Au bout de sept jours, elles sont automatiquement supprimées (voir Conservation nulle des données).
  • Suppression explicite : les clients n'ont pas à attendre sept jours. Ils peuvent déclencher un nettoyage immédiat de toutes les données de session en appelant DeleteInteraction.
  • Résultats éphémères : les résultats et les correctifs des failles ne sont pas stockés dans des bases de données à long terme, mais s'accumulent en mémoire pendant le pipeline.

Qui peut accéder aux données ?

CodeMender est conçu selon une approche "Zéro accès aux données" en ce qui concerne la visibilité humaine :

  • Aucun accès humain : aucun groupe humain ni aucun ingénieur Google n'a accès aux données client dans l'environnement de production.
  • Aucune visibilité de l'opérateur : même pour le débogage et le suivi des erreurs en production, les opérateurs Google sont limités et n'ont aucune visibilité sur le contexte du code source client ni sur les états de session temporaires.
  • Isolation stricte : toutes les données sont isolées logiquement et l'accès est contrôlé par l'organisation et le projet de facturation du client afin de protéger la confidentialité des locataires dans notre infrastructure partagée.
  • VPC Service Controls (VPC-SC) : pour mieux protéger votre environnement, l'architecture de CodeMender est entièrement compatible avec VPC Service Controls (VPC-SC). Cela vous permet de définir un périmètre de sécurité autour de vos ressources Google Cloud, ce qui contribue à réduire les risques d'exfiltration de données lorsque vos données localisées sont envoyées au moteur de raisonnement cloud.

Étape suivante

Pour obtenir des instructions détaillées, consultez les guides suivants :