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 trouver, vérifier et corriger les failles profondes de votre base de code. CodeMender enveloppe un harnais affiné autour d'un LLM, en utilisant des invites, des compétences et une logique d'orchestration conçues 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 couvre de nombreux langages et types de systèmes :

  • Trouvez 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 prompt engineering 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érifiez les failles en créant le code et en tentant d'exploiter les failles trouvé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.
  • Corrigez les failles en générant et en testant un correctif compatible avec le langage de votre base de code.

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 trouver et corriger les failles.

Architecture du système

Du point de vue de l'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 les sorties) et comme un daemon (pour exécuter des commandes au nom de l'agent, par exemple pour parcourir la base de code, 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.

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 dans le 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 7 jours : les données de session, y compris les extraits de code et les états de suivi, sont conservées pendant 7 jours maximum dans le stockage de la 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.

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é :

  • **Téléchargez la CLI CodeMender**: téléchargez et installez le binaire de la CLI CodeMender pour votre système d'exploitation.
  • Configurez les identifiants Google Cloud: configurez les identifiants par défaut de l'application (ADC) pour authentifier la CLI. Google Cloud
  • Provisionnez votre code source : clonez ou copiez le code source du projet que vous souhaitez analyser dans votre espace de travail.

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
  • Gemini 3.1 Pro (version Preview) : --model gemini-3.1-pro-preview
  • Gemini 3 Flash (version Preview) : --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

Étape suivante

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