En esta página
- ¿Qué es la seguridad de agentes de código IA?
- ¿Por qué un agente de código IA es una nueva superficie de ataque?
- ¿Por qué falla el escaneo posterior al PR con los agentes IA?
- ¿Qué es la seguridad agent-time?
- ¿Cuáles son los principales riesgos en los agentes de código IA?
- ¿Cómo aseguras un agente de código IA en la práctica?
- ¿Qué controles pertenecen al agent-time y cuáles a CI?
- Preguntas frecuentes
- ¿Qué es la seguridad agent-time?
- ¿En qué se diferencia la seguridad de agentes de código IA del entorno aislado?
- ¿Por qué falla el escaneo posterior al PR con los agentes IA?
- ¿La seguridad agent-time reemplaza al SAST y al escaneo en CI?
- ¿A qué agentes de código IA aplica esto?
- ¿Cuál es el mayor riesgo de seguridad de un agente de código IA?
- ¿Con qué rapidez puedo asegurar mi agente de código IA?

La revisión de seguridad se está rompiendo, y no porque los revisores hayan empeorado. Se rompe porque ningún humano lee 5.000 líneas de código al día, y eso es hoy una salida corriente para un solo desarrollador que usa un agente de código IA. El pull request se convirtió en el hogar de la AppSec cuando una persona todavía bajaba el ritmo para leer el diff. Cuando el agente entrega más rápido de lo que nadie puede revisar, el diff deja de ser un punto de control y se convierte en una transcripción de decisiones ya tomadas. El punto de control tiene que moverse.
¿Qué es la seguridad de agentes de código IA?
La seguridad de agentes de código IA es la disciplina de restringir lo que un agente de código autónomo produce y ejecuta, a través de la generación, la ejecución de comandos y las llamadas a herramientas, en lugar de asegurar solo la caja en la que corre. Abarca el código que el agente escribe, las dependencias que arrastra, los secretos que puede leer y las acciones que puede realizar en tu nombre.
La frase se interpreta a menudo de forma demasiado estrecha. La mayor parte de la orientación publicada la trata como un problema de infraestructura: pon el agente en un entorno aislado, acota su rol de IAM, limita su salida de red, controla sus permisos. Esos controles son necesarios y no estamos en contra de ellos. Pero responden a otra pregunta. El entorno aislado decide qué puede tocar el agente. No dice nada sobre si el SQL que el agente acaba de escribir concatena entrada de usuario en una cadena de consulta, o si la comprobación de autorización que se saltó filtrará los datos de otro tenant. El entorno de ejecución está contenido; el artefacto no. Asegurar un agente de código IA tiene que incluir asegurar lo que escribe, en el momento en que lo escribe.
¿Por qué un agente de código IA es una nueva superficie de ataque?
Un agente de código IA es una nueva superficie de ataque porque realiza acciones en lugar de sugerirlas. Un asistente de IDE tradicional propone un completado que una persona elige pegar. Un agente lee archivos que no nombraste, ejecuta comandos que no escribiste, edita código por todo el árbol y llama a herramientas que conectaste hace semanas. El radio de impacto ya no es un solo bloque de código.
Dos cambios agravan eso. El primero es la autonomía: al agente se le puede dirigir. Como un modelo de lenguaje no puede distinguir de forma fiable una instrucción de confianza de una hostil enterrada en datos, un atacante puede esconder instrucciones en un archivo, una página web, una incidencia o la respuesta de una herramienta, y el agente las sigue. Eso es inyección de prompts indirecta, y es el riesgo número uno de OWASP para aplicaciones LLM por tercer año consecutivo. Un asistente dirigido responde mal; un agente dirigido actúa.
El segundo cambio es la velocidad, y es el que la mayoría de los equipos subestima. El pull request funcionó como puerta de seguridad porque se situaba a ritmo humano. El agente no corre a ritmo humano. Cuando una sola sesión entrega más código en una tarde del que un revisor lee en una semana, cualquier control que solo viva en el PR ahora revisa historia en lugar de prevenirla.
inyección de prompts, el principal riesgo en el Top 10 de OWASP para Aplicaciones LLM (LLM01)
salida corriente para un solo desarrollador que usa un agente de código IA
coste de arreglar un fallo en producción frente a atraparlo en el prompt (IBM Systems Sciences Institute, economía de shift-left ampliamente citada)
¿Por qué falla el escaneo posterior al PR con los agentes IA?
El escaneo posterior al PR falla con los agentes IA porque se diseñó para un ritmo humano y el agente rompió ese ritmo. SAST, SCA y el revisor humano actúan todos sobre el mismo artefacto, el diff, y todos dan por hecho que una persona baja el ritmo para leerlo antes de fusionar. Cuando el agente supera al revisor, esa suposición ya no se sostiene.
El fallo no es que los escáneres dejen de encontrar errores. Los siguen encontrando. El fallo es el momento y el volumen. Para cuando un escáner marca una inyección en el diff fusionado, el agente escribió la línea, pasó a otra cosa, construyó tres funcionalidades encima y un desarrollador tiene una cola de hallazgos que triar que crece más rápido de lo que nadie puede vaciar. Los equipos responden de dos formas predecibles, ambas malas: unos fusionan la salida del agente con un vistazo, y otros la agrupan en un PR gigante que ningún humano lee de principio a fin. En cualquier caso el diff ha dejado de ser una puerta. Es un registro de lo que ya ocurrió.
Hay también un desajuste más profundo. Lo más dañino que un agente IA hace mal no son los patrones en los que los escáneres son buenos. Son los fallos de lógica de negocio: una comprobación de propiedad ausente, un descuento que se acumula cuando no debería, una transición de estado que nunca debió ser alcanzable. Un escáner que no conoce tu dominio no puede verlos, y un revisor ahogado en la salida del agente tampoco los atrapará. El control tiene que conocer tus reglas, y tiene que actuar antes de que se escriba la línea.
¿Qué es la seguridad agent-time?
La seguridad agent-time es la práctica de aplicar tus controles dentro del bucle del agente de código IA, antes de que se escriba la línea problemática, en lugar de después de que el código aterrice en un pull request. El punto de control pasa del diff al prompt. El agente lee las reglas pertinentes como parte de escribir el código, así que el requisito se vuelve parte de la salida en lugar de una casilla a marcar en auditoría.
Es la respuesta natural al problema del ritmo. Si el agente entrega más rápido de lo que puedes revisar, no ganas revisando con más ahínco. Ganas poniendo la regla en manos del agente antes de que actúe. En concreto, la seguridad agent-time engancha la sesión y las llamadas a herramientas del agente: antes de una edición, inyecta las convenciones y los requisitos de seguridad que aplican a los archivos que se tocan; antes de que se dispare un comando destructivo, lo intercepta. Nada espera a la fusión.
El pull request era un punto de control porque una persona lo leía. El prompt es el punto de control ahora porque el agente lo escucha. La seguridad agent-time es la capa que pone el oído del agente de tu lado.
Esto no reemplaza tus escáneres. SAST y SCA siguen perteneciendo a CI como red de seguridad para todo lo que se escape, y para el código que los humanos todavía escriben a mano. La seguridad agent-time es la capa por delante de ellos, la que iguala la velocidad de lo que realmente genera el código.
¿Cuáles son los principales riesgos en los agentes de código IA?
Los principales riesgos son consistentes a través de Claude Code, Cursor, GitHub Copilot, OpenAI Codex y Windsurf, porque comparten la misma forma agéntica. Las guías por agente cubren en detalle los controles nativos de cada herramienta; las clases de riesgo en sí riman.
- Código generado inseguro. El agente escribe consultas inyectables, criptografía débil, autorización ausente y deserialización insegura, porque esos patrones abundan en sus datos de entrenamiento. Este es el riesgo que el enfoque de infraestructura ignora por completo.
- Fallos de lógica de negocio. Comprobaciones de propiedad ausentes, control de acceso roto entre tenants, máquinas de estado que permiten transiciones ilegales. Invisibles para los escáneres genéricos, comunes en la salida del agente.
- Inyección de prompts, directa e indirecta. Instrucciones hostiles escondidas en un repo, una página web, una incidencia o una respuesta de herramienta MCP que el agente trata como un comando. OWASP LLM01.
- Herramientas y servidores MCP con permisos excesivos. Una herramienta de base de datos con alcance para leerlo todo, un servidor de sistema de archivos apuntado al directorio personal, una herramienta de despliegue con credenciales de producción. El envenenamiento de herramientas esconde instrucciones en las descripciones de las herramientas, de modo que el simple hecho de conectar un servidor puede dirigir al agente.
- Riesgo de cadena de suministro y de dependencias. El agente instala paquetes y ejecuta scripts de configuración como trabajo normal. El typosquatting y la alucinación de paquetes convierten un rutinario "configura este repo" en un robo de credenciales.
- Exposición de secretos y de contexto. Un contexto local amplio (archivos
.env, credenciales, endpoints internos) aflora en registros, código generado o un PR que sobrevive a la sesión. - Acciones destructivas. Un agente manipulado ejecuta
sudo rm -rf, reescribe una configuración de CI o altera infraestructura, con el acceso que le haya concedido el entorno.
¿Cómo aseguras un agente de código IA en la práctica?
Aseguras un agente de código IA combinando la contención del entorno de ejecución con el gobierno agent-time, y manteniendo luego CI como red de seguridad. El privilegio mínimo, el entorno aislado, la gestión de secretos y la revisión humana son lo mínimo exigible. La pieza que falta en la mayoría de los stacks es un control que viva en el prompt y gobierne lo que el agente escribe antes de escribirlo.
En la práctica eso significa una postura de defensa en profundidad con el punto de control adelantado. Acota los permisos del agente y aísla su entorno de ejecución para que un agente dirigido tenga un radio de impacto pequeño. Gestiona los secretos para que el contexto del agente no sea más amplio de lo que la tarea necesita. Mantén SAST y el análisis de dependencias en CI para todo lo que se escape y para el código escrito por humanos. Luego añade la capa que realmente iguala la velocidad del agente: gobierno dentro del bucle, donde el agente lee tus reglas de negocio y tus requisitos de seguridad mientras programa, y un guardián intercepta las llamadas destructivas antes de que se disparen. Las cuatro capas agent-time de abajo son el aspecto que tiene ese control.
Reglas de negocio
Las convenciones que son reales en tu repo pero que nunca se escribieron. El dinero usa Decimal128, nunca un float. La autorización pasa por requireOwner, no por una comprobación cruda de pertenencia. Los registros con borrado lógico nunca cruzan la frontera. Estas se extraen de cómo tu equipo ya programa y se cargan en el contexto del agente antes de la edición pertinente, de modo que el agente escribe la convención al primer intento.
Reglas de seguridad
OWASP, SOC 2, RGPD e ISO 27001, los marcos que tus auditores ya esperan, cargados el día que instalas y emparejados por edición. El agente lee el requisito aplicable antes de cada escritura, así el control se vuelve parte del código en lugar de un hallazgo a triar en la fusión.
Action Guard
sudo rm -rf, lecturas crudas de process.env sobre claves con forma de secreto, un psql improvisado contra un host con pinta de producción. El guardián intercepta la llamada del agente antes de que se dispare, bloquea o advierte según la regla y deja cada intercepción en un registro de auditoría. Esta es la capa que convierte una acción destructiva de nuevo en un borrador.
Live Findings
Las vulnerabilidades que ya tienes, no solo las que el agente está a punto de escribir. Cada resultado de sus escáneres de CybeDefend (SAST con alcanzabilidad, SCA, secretos, IaC y CI/CD) está en vivo en el contexto del agente, así que tría y arregla los hallazgos abiertos, cada arreglo un diff que apruebas. Esto es remediación de vulnerabilidades con IA dentro del bucle.
¿Qué controles pertenecen al agent-time y cuáles a CI?
Los controles pertenecen al agent-time cuando gobiernan una acción que el agente está a punto de realizar, y a CI cuando son una red de seguridad sobre el artefacto terminado. La regla práctica: si un humano revisando el diff llegaría demasiado tarde, el control tiene que correr dentro del bucle. Si es una puerta final antes de fusionar o desplegar, se queda en CI.
Lee las dos columnas como socios, no como rivales. El escaneo en CI sigue siendo el lugar adecuado para una comprobación final a nivel de artefacto, y deberías conservarlo. El agent-time es donde mueves los controles que pierden todo su valor en el momento en que el agente ha terminado y ha pasado a otra cosa. El error que comete la SERP es financiar solo el primo de infraestructura de la columna derecha (entorno aislado, IAM) mientras se deja el código real sin gobernar hasta la fusión.
VibeDefend es la capa agent-time, empaquetada como una CLI de npm gratuita que se instala en unos cinco segundos. Un solo comando detecta automáticamente Claude Code, Cursor, OpenAI Codex, Windsurf y VS Code Copilot en tu máquina y conecta cada uno en cuatro capas de gobierno que corren dentro del bucle del agente. Sin YAML, sin despliegue, sin contenedor que construir.

Las cuatro capas se corresponden exactamente con el modelo de arriba. Las reglas de negocio se extraen de cómo tu equipo ya programa y se proponen como reglas explícitas de una línea. Las reglas de seguridad cargan los marcos que tus auditores esperan y los emparejan por edición. El Action Guard intercepta las llamadas destructivas antes de que se disparen. Live Findings conecta el agente con la plataforma completa de AppSec de CybeDefend, sus escáneres (SAST con alcanzabilidad, SCA, secretos, IaC y CI/CD) corriendo de forma continua, así que el agente no solo escribe código seguro, también tría y arregla las vulnerabilidades que ya tienes. El modelo de privacidad es la parte que más importa a los equipos de seguridad: nada de tu código cruza la red. Las decisiones ocurren localmente, junto al agente, y solo metadatos de gobierno estructurados llegan al backend, la regla que se disparó, la ruta del archivo a la que apuntaba, la severidad, una marca de tiempo. Sin código fuente, sin contenidos del prompt. Los tenants de EU y US están físicamente separados y se eligen en el momento de la instalación, sin ruta entre regiones.
Preguntas frecuentes
¿Qué es la seguridad agent-time?
La seguridad agent-time es aplicar tus controles dentro del bucle del agente de código IA, antes de que se escriba la línea problemática, en lugar de después de que el código llegue a un pull request. El punto de control pasa del diff al prompt: el agente lee las reglas que aplican mientras escribe, así que el requisito se vuelve parte de la salida. Es la respuesta a que los agentes entregan código más rápido de lo que cualquier humano puede revisar.
¿En qué se diferencia la seguridad de agentes de código IA del entorno aislado?
El entorno aislado asegura dónde corre el agente; la seguridad de agentes de código IA también tiene que asegurar lo que el agente escribe. Un entorno aislado puede contener perfectamente el entorno de ejecución y aun así dejar que el agente escriba una consulta inyectable o se salte una comprobación de autorización, porque el artefacto inseguro no es una cuestión del entorno de ejecución. Necesitas ambos: contención para el radio de impacto, y gobierno agent-time para el código en sí.
¿Por qué falla el escaneo posterior al PR con los agentes IA?
Porque da por hecho que un humano baja el ritmo para leer el diff antes de fusionar, y el agente rompió ese ritmo. Los escáneres siguen encontrando errores, pero los hallazgos se acumulan más rápido de lo que los equipos pueden triar, así que la gente o bien fusiona con un vistazo o agrupa todo en un PR ilegible. El diff deja de ser una puerta. El control tiene que moverse al bucle, por delante de la fusión.
¿La seguridad agent-time reemplaza al SAST y al escaneo en CI?
No. SAST y el análisis de dependencias se quedan en CI como red de seguridad para todo lo que se escape y para el código escrito por humanos. La seguridad agent-time es la capa por delante de ellos, igualando la velocidad del agente que genera el código. Piénsalos como socios: el agent-time es el gobierno de primera línea de la salida del agente, CI es la puerta final a nivel de artefacto.
¿A qué agentes de código IA aplica esto?
Las mismas clases de riesgo y el mismo modelo agent-time aplican a Claude Code, Cursor, GitHub Copilot, OpenAI Codex y Windsurf, porque comparten una forma agéntica: leen, escriben, ejecutan y llaman a herramientas. Las guías por agente cubren los controles nativos de cada herramienta y dónde se quedan cortos.
¿Cuál es el mayor riesgo de seguridad de un agente de código IA?
Destacan dos. La inyección de prompts es el principal riesgo LLM de OWASP porque un modelo no puede separar de forma fiable una instrucción de confianza de una hostil escondida en datos, y un agente dirigido actúa en lugar de solo responder mal. El más silencioso son los fallos de lógica de negocio en el código generado: comprobaciones de propiedad ausentes y control de acceso roto que los escáneres genéricos no pueden ver y los revisores saturados pasan por alto.
¿Con qué rapidez puedo asegurar mi agente de código IA?
Unos cinco segundos para la instalación y alrededor de un minuto de principio a fin. Ejecuta npx -y @cybedefend/vibedefend@latest install, elige EU o US, confirma el agente que usas y coloca un .cybedefend/config.json de una línea en el repo. El siguiente prompt queda gobernado por las tres capas. El plan gratuito no necesita tarjeta, o puedes reservar una sesión para ejecutarlo en tu propio código.


