Descripción general de CodeMender

El lanzamiento de modelos avanzados de IA generó una gran preocupación con respecto a las vulnerabilidades del código. A medida que los atacantes obtienen acceso a nuevas capacidades para generar vulnerabilidades, los equipos de seguridad están bajo una inmensa presión de tiempo para encontrar y corregir de forma proactiva las vulnerabilidades antes de que los atacantes las aprovechen.

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

Cómo funciona

CodeMender controla 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 aprovechar las vulnerabilidades encontradas para verificar si se pueden aprovechar. Esto ayuda a priorizar las vulnerabilidades confirmadas y reduce la tasa de falsos positivos.
  • Corrige las 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 modelo de amenazas. Esta combinación de un LLM con el arnés optimizado 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: Un sistema multiagente alojado que ejecuta la lógica empresarial y el razonamiento principales.
  • Cliente: Un cliente que se ejecuta en tu máquina y que actúa como una CLI (para emitir comandos y ver resultados) y un daemon (para ejecutar comandos en nombre del agente, con aislamiento opcional dentro de una zona de pruebas local a nivel de proceso para compilar código de forma segura, ejecutar pruebas y verificar vulnerabilidades).

Lenguajes y marcos de trabajo admitidos

CodeMender admite los principales tipos de vulnerabilidades en todos los lenguajes de programación principales: 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 de 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 ejecutas comandos de la CLI de CodeMender, consulta Cómo especificar el modelo.

Regiones admitidas

CodeMender está disponible a nivel mundial.

Haz un seguimiento del uso de tokens

CodeMender muestra el consumo de tokens en dos lugares: una línea de estado en vivo mientras se ejecuta un comando y un resumen de una línea cuando un comando se completa correctamente. Los recuentos abarcan los tokens de entrada, salida y totales de la sesión actual.

Línea de estado en vivo

Mientras se ejecuta cm find, cm fix, cm verify o cm session resume, pasa la marca --compact para mostrar una línea de estado continua que se actualiza a medida que funciona el agente:

cm find ./src/auth/ --compact

La línea de estado informa los totales acumulados de la sesión:

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

Las sesiones reanudadas continúan contando desde donde se detuvo la ejecución anterior. El recuento total puede incluir los tokens de razonamiento interno del modelo, por lo que puede exceder in + out.

Resumen de salida

Cuando un comando finaliza correctamente y se ejecutó al menos un paso de la herramienta, CodeMender imprime un resumen de una línea con el tiempo transcurrido y los totales de tokens:

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

Uso de tokens facturado

Para ver el uso acumulado de tokens facturados y las tendencias de costos en tu Google Cloud proyecto, consulta Visualiza los informes de facturación y las tendencias de costos en Facturación de Cloud.

Comienza a usar la CLI

Configura la herramienta de la CLI e inicializa tu espacio de trabajo para comenzar a analizar.

Requisitos previos

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

  • Configura el proyecto de Google Cloud: Configura tu Google Cloud proyecto con las APIs y los roles de IAM necesarios.
  • 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 Google Cloud las 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.
  • Configura la zona de pruebas: Define los puntos de montaje de directorios, los perfiles de acceso a la red y las excepciones de seguridad para el entorno de zona de pruebas.

Especifica el modelo

De forma predeterminada, CodeMender usa Gemini 3.5 Flash. Para anular el modelo predeterminado, pasa la marca --model con el identificador de 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 ejecutas cualquiera de estos comandos, usa la siguiente sintaxis:

cm COMMAND TARGET --model MODEL_NAME

Seguridad y privacidad de los datos

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

¿Qué datos envía CodeMender a la nube?

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

En cambio, la CLI localiza estrictamente los datos que envía al agente alojado en Google, que consta de lo siguiente:

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

Nunca usamos tu código fuente de cliente 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: Conservamos los datos de la sesión, incluidos los fragmentos de código y los estados de seguimiento, durante un máximo de 7 días en el almacenamiento de la plataforma de agentes de Gemini Enterprise para permitir que los usuarios reanuden sin problemas los análisis interrumpidos. Después de 7 días, el sistema los borra automáticamente (consulta Retención de datos cero).
  • Borrado explícito: Los clientes no tienen que esperar 7 días. Pueden activar una limpieza inmediata de todos los datos de la sesión llamando a DeleteInteraction.
  • Hallazgos efímeros: No almacenamos los hallazgos de vulnerabilidades ni los parches en bases de datos de larga duración. Se acumulan en la memoria durante la canalización.

¿Quién puede acceder a los datos?

CodeMender usa un enfoque de "acceso cero a los datos" en relación con la visibilidad humana:

  • Sin acceso humano: Ningún grupo humano ni ingeniero de Google tiene acceso para leer datos de 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: Aislamos de forma lógica y controlamos el acceso a todos los datos por organización y proyecto de facturación del cliente para proteger la privacidad del arrendatario 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 seguro 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 razonamiento de la nube.

¿Qué sigue?

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