El lanzamiento de modelos de IA avanzados generó una preocupación generalizada sobre 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 de tiempo para encontrar y corregir vulnerabilidades de forma proactiva antes de que los atacantes las exploten.
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 envuelve un agente optimizado alrededor de un LLM, con instrucciones, habilidades y lógica de organización diseñadas por Google DeepMind para convertir el modelo en un sistema de agentes especializado en la seguridad del 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 de análisis de seguridad externas.
- 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 el modelo de amenazas. Esta combinación de un LLM con el agente 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 de 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, con aislamiento opcional dentro de una zona de pruebas local a nivel de proceso para compilar código, ejecutar pruebas y verificar vulnerabilidades de forma segura).
Lenguajes y marcos de trabajo admitidos
CodeMender admite los siguientes lenguajes de forma predeterminada: C/C++, C# / .NET, Go, Java, JavaScript y TypeScript, Kotlin, Python, Ruby, Rust y PHP. Además, proporciona una amplia compatibilidad con bibliotecas estándar en estos lenguajes, así como con frameworks empresariales comunes (como HTML/CSS, Django, Flask, React, Spring Boot, ASP.NET y Express).
Los lenguajes de programación que se indican no son un límite estricto. Como CodeMender es un agente de seguridad de código de IA, puede analizar y corregir código en cualquier lenguaje que entienda el modelo subyacente. La asistencia suele estar disponible para cualquier lenguaje no propietario.
Análisis de lenguajes de programación adicionales
Puedes configurar CodeMender para que analice lenguajes de programación que no estén en su conjunto predeterminado de las siguientes maneras:
- Configuración global: Agrega la extensión de archivo del lenguaje de programación a
la sección
scan.extensions.includedel archivo de configuración global de CodeMender~/.codemender/config.yaml. - Configuración por repositorio: Agrega la extensión de archivo del lenguaje de programación a la sección
scan.extensions.includedel archivo de configuraciónconfig.yamlde CodeMender en el repositorio.
Por ejemplo, para analizar idiomas o formatos de secuencias de comandos adicionales, haz lo siguiente:
scan:
extensions:
include:
# Default languages
- .py
- .java
- .go
- .js
- .jsx
- .mjs
- .cjs
- .ts
- .tsx
- .c
- .cc
- .cpp
- .cxx
- .h
- .hpp
- .cs
- .rs
- .kt
- .kts
- .rb
- .php
# Additional / custom languages
- .swift
- .scala
- .sh
# Exclude build, dependency, cache, and artifact directories
exclude_dirs:
- node_modules
- vendor
- dist
- bin
- target
- obj
- build
- .gradle
Para obtener más información sobre cómo configurar las opciones de análisis, consulta Parámetros de configuración (config.yaml).
Nota sobre la calidad
CodeMender no publica evaluaciones formales por lenguaje. Los idiomas predeterminados reflejan dónde tenemos la mayor cobertura de comparativas; los resultados en otros idiomas variarán. Si tu organización necesita que se priorice un idioma específico para una evaluación más profunda o una inclusión predeterminada, comunícate con tu equipo de cuentas de Google.
Modelos compatibles
CodeMender admite los siguientes modelos:
Haz clic para expandir los modelos compatibles
CodeMender también admite Gemini 3.8 Flash Cyber y Gemini 4 Argon Cyber Permissive para los clientes que tienen acceso a través del programa Fairwind.
Gemini 4 Argon (gemini-4-argon) incluye funciones de seguridad cibernética integradas que
pueden bloquear las solicitudes que impliquen la generación de exploits o la verificación de vulnerabilidades.
Cualquier bloqueo de seguridad en gemini-4-argon activa automáticamente un reintento con
Gemini 3.8 Flash Cyber (gemini-3.8-flash-cyber) y,
luego, recurre a Gemini 3.8 Flash
(gemini-3.8-flash) si tu proyecto no tiene acceso a
Gemini 3.8 Flash Cyber.
Para especificar un modelo cuando ejecutes comandos de la CLI de CodeMender, consulta Especifica el modelo.
Regiones admitidas
CodeMender está disponible a nivel mundial.
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 que se actualiza a medida que el agente trabaja:
cm find ./src/auth/ --compact
La línea de estado informa los totales de sesiones acumuladas:
Tokens: 40k in / 12k out / 60k total
Las sesiones reanudadas continúan contando desde donde se detuvo la ejecución anterior. El recuento de total puede incluir los tokens de razonamiento interno del modelo, por lo que puede superar 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 proyecto de Google Cloud , consulta Visualiza los informes de facturación y las tendencias de costos en la 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 proyecto de Google Cloud 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 y el proyecto de Google Cloud : Configura las credenciales predeterminadas de la aplicación (ADC) de Google Cloud y establece tu proyecto de destino 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 las activaciones de directorios, los perfiles de acceso a la red y las excepciones de seguridad para el entorno de la zona de pruebas.
Especifica el modelo
De forma predeterminada, CodeMender usa Gemini 3.8 Flash. Para anular el modelo predeterminado, pasa la marca --model con el identificador de modelo correspondiente:
- Gemini 3.8 Flash (predeterminado):
--model gemini-3.8-flash - Gemini 3.8 Flash Cyber:
--model gemini-3.8-flash-cyber - Gemini 4 Argon:
--model gemini-4-argon - Gemini 4 Argon Cyber Permissive:
--model gemini-4-argon-cyber-permissive - Gemini 3.7 Flash:
--model gemini-3.7-flash(dejará de estar disponible el 28 de enero de 2027) - Gemini 3.6 Flash:
--model gemini-3.6-flash(obsoleto; dejará de estar disponible el 19 de noviembre de 2026) - Gemini 3.5 Flash:
--model gemini-3.5-flash - Versión preliminar de Gemini 3.1 Pro:
--model gemini-3.1-pro-preview
Los modelos obsoletos siguen funcionando hasta su fecha de retiro, y la CLI imprime una advertencia cuando usas uno. Después de que se retira un modelo, las solicitudes que lo usan fallan. Cambia a Gemini 3.8 Flash antes de la fecha de retiro.
Los siguientes comandos admiten la marca --model:
cm findcm verifycm fix
Para especificar un modelo cuando ejecutes 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 describen 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 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 consiste en 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).
Nunca usamos el código fuente de tus clientes para entrenar los pesos del modelo subyacente.
¿Cuál es la política de retención?
CodeMender usa una política estricta de retención de datos a corto plazo:
- Retención máxima de 7 días: Retenemos 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 Gemini Enterprise Agent Platform para permitir que los usuarios reanuden sin problemas los análisis interrumpidos. Después de 7 días, el sistema lo borra automáticamente (consulta Retención de datos cero).
- Borrado explícito: Los clientes no tienen que esperar 7 días, sino que 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, sino que 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 lo que respecta 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 para los operadores: Incluso para la depuración de producción y el seguimiento de errores, los operadores de Google tienen restricciones 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 de los usuarios dentro de nuestra infraestructura compartida.
- Controles del servicio de VPC (VPC-SC): Para proteger aún más tu entorno, la arquitectura de CodeMender es totalmente compatible con los VPC-SC. Esto te permite definir un perímetro de seguridad seguro alrededor de tus recursos de Google Cloud , lo que ayuda a mitigar cualquier riesgo de robo de datos cuando tus datos localizados se envían al motor de razonamiento en la nube.
¿Qué sigue?
Para obtener instrucciones detalladas, consulta las siguientes guías: