Descripción general de CodeMender

El lanzamiento de modelos avanzados de IA generó una preocupación generalizada con respecto a las vulnerabilidades del código. A medida que los atacantes obtienen acceso a nuevas capacidades para generar exploits, los equipos de seguridad se ven sometidos a una inmensa presión para encontrar y corregir vulnerabilidades de forma proactiva antes de que se puedan aprovechar.

CodeMender es un agente de seguridad de código basado en IA que puede encontrar, verificar y corregir vulnerabilidades profundas en tu base de código. CodeMender incluye un arnés ajustado en torno a un LLM, que utiliza instrucciones, habilidades y lógica de organización diseñadas por Google DeepMind para convertir el modelo en un sistema basado en agentes especializado en seguridad del código.

Cómo funciona

CodeMender está diseñado para manejar la escala y la diversidad de los entornos corporativos modernos, en los que el código abarca numerosos lenguajes y tipos de sistemas:

  • Encuentra vulnerabilidades analizando tu base de código con un LLM guiado por el agente, aprovechando herramientas especializadas y la ingeniería de instrucciones para enfocar el modelo en las fallas de seguridad. Como alternativa, puedes importar una lista de vulnerabilidades desde herramientas externas de análisis de seguridad.
  • Verifica las vulnerabilidades compilando el código y tratando de explotar las vulnerabilidades encontradas para verificar si se pueden explotar. Esto ayuda a priorizar las vulnerabilidades confirmadas y reduce la tasa de falsos positivos.
  • Corrige vulnerabilidades generando y probando un parche que sea compatible con el lenguaje de tu base de código.

Durante las tres etapas, puedes proporcionar contexto a CodeMender para asegurarte de que tenga en cuenta los matices de tu aplicación y tu modelo de amenazas. Esta combinación de un LLM con el arnés ajustado de CodeMender proporciona resultados de mayor calidad en comparación con el uso de un LLM solo para encontrar y corregir vulnerabilidades.

Arquitectura del sistema

Desde la perspectiva del usuario, el sistema CodeMender consta de dos componentes:

  • Agente: Es un sistema multiagente alojado que ejecuta la lógica empresarial y el razonamiento principales.
  • Cliente: Es un cliente que se ejecuta en tu máquina y actúa como una CLI (para emitir comandos y ver resultados) y como un daemon (para ejecutar comandos en nombre del agente, como navegar por la base de código y verificar vulnerabilidades y parches).

Lenguajes y marcos de trabajo admitidos

CodeMender admite los principales tipos de vulnerabilidades en todos los lenguajes de programación más importantes: C/C++, Go, Java, Python, TypeScript / JavaScript, Rust y Ruby. Además, tiene una amplia compatibilidad con las bibliotecas estándar dentro de estos lenguajes, así como con los frameworks empresariales comunes (como HTML/CSS, Django, Flask, React, Spring Boot y Express).

Los tipos de vulnerabilidades admitidos abarcan un amplio espectro de fallas de seguridad del software en la lógica de la aplicación, el manejo de datos, la administración de memoria y los flujos de control de autenticación.

Modelos compatibles

CodeMender admite los siguientes modelos:

Haz clic para expandir los modelos compatibles

Para especificar un modelo cuando ejecutes comandos de la CLI de CodeMender, consulta Cómo especificar el modelo.

Seguridad y privacidad de los datos

En las siguientes secciones, se describen el modelo de seguridad, las políticas de retención de datos y los controles de acceso de CodeMender:

¿Qué datos se envían a la nube?

Cuando usas CodeMender, la herramienta de CLI local media el acceso a tu código, lo que garantiza que tus repositorios de código fuente completos nunca se suban a los servidores de Google y que el agente alojado no los clone de forma independiente.

En cambio, los datos que se envían al agente alojado en Google están estrictamente localizados y constan de lo siguiente:

  • Contenido de archivos o fragmentos de código específicos, información sobre vulnerabilidades, parches propuestos y resultados de la ejecución de comandos
  • Metadatos, diagnósticos, errores y telemetría de uso (como los tokens consumidos y la duración de los comandos)

Tu código fuente del cliente nunca se usa para entrenar los pesos del modelo subyacente.

¿Cuál es la política de retención?

CodeMender usa una política de retención de datos estricta y a corto plazo:

  • Retención máxima de 7 días: Los datos de sesión, incluidos los fragmentos de código y los estados de seguimiento, se retienen durante un máximo de 7 días en el almacenamiento de la Gemini Enterprise Agent Platform para permitir que los usuarios reanuden sin problemas los análisis interrumpidos. Después de 7 días, se borra automáticamente (consulta la Política de Retención Cero de Datos).
  • Borrado explícito: Los clientes no tienen que esperar 7 días, sino que pueden activar una limpieza inmediata de todos los datos de sesión llamando a DeleteInteraction.
  • Hallazgos efímeros: Los hallazgos de vulnerabilidades y los parches no se almacenan en bases de datos de larga duración, sino que se acumulan en la memoria durante la canalización.

¿Quién puede acceder a los datos?

CodeMender se diseñó con un enfoque de "cero acceso a los datos" en cuanto a la visibilidad humana:

  • Sin acceso humano: Ningún grupo de personas ni ingenieros de Google tienen acceso para leer los datos de los clientes en el entorno de producción.
  • Sin visibilidad del operador: Incluso para la depuración de producción y el seguimiento de errores, los operadores de Google están restringidos y no tienen visibilidad del contexto del código fuente del cliente ni de los estados de sesión transitorios.
  • Aislamiento estricto: Todos los datos están aislados de forma lógica y se controlan los accesos por organización y proyecto de facturación del cliente para proteger la privacidad del usuario dentro de nuestra infraestructura compartida.
  • Controles del servicio de VPC (VPC-SC): Para proteger aún más tu entorno, la arquitectura de CodeMender admite por completo los Controles del servicio de VPC (VPC-SC). Esto te permite definir un perímetro de seguridad alrededor de tus recursos de Google Cloud, lo que ayuda a mitigar los riesgos de robo de datos mientras se envían tus datos localizados al motor de inferencia en la nube.

Comienza a usar la CLI

Configura la herramienta de la CLI e inicializa tu espacio de trabajo para comenzar a realizar el análisis.

Requisitos previos

Antes de inicializar la CLI de CodeMender, asegúrate de que tu entorno esté preparado correctamente:

  • Descarga la CLI de CodeMender: Descarga e instala el objeto binario de la CLI de CodeMender para tu sistema operativo.
  • Configura las credenciales de Google Cloud: Configura las Google Cloud credenciales predeterminadas de la aplicación (ADC) para autenticar la CLI.
  • Aprovisiona tu código fuente: Clona o copia el código fuente del proyecto que deseas analizar en tu espacio de trabajo.

Cómo especificar el modelo

De forma predeterminada, CodeMender usa Gemini 3.5 Flash. Para anular el modelo predeterminado, pasa la marca --model con el identificador del modelo correspondiente:

  • Gemini 3.5 Flash (predeterminado): --model gemini-3.5-flash
  • Versión preliminar de Gemini 3.1 Pro: --model gemini-3.1-pro-preview
  • Versión preliminar de Gemini 3 Flash: --model gemini-3-flash-preview

Los siguientes comandos admiten la marca --model:

  • cm find
  • cm verify
  • cm fix

Para especificar un modelo cuando ejecutes cualquiera de estos comandos, usa la siguiente sintaxis:

cm COMMAND TARGET --model MODEL_NAME

¿Qué sigue?

Para obtener instrucciones detalladas, consulta las siguientes guías: