Recuerdo la primera semana que integré un asistente de codificación de IA en mi entorno de desarrollo local. Se sentía como un multiplicador de fuerza para mi flujo de trabajo. Podía pedirle que refactorizara una función desordenada o que explicara un rastreo de pila críptico de mis registros. Las ganancias de productividad fueron inmediatas. Nunca me detuve a cuestionar el modelo de confianza de los datos que consumía el agente. Como muchos profesionales de la seguridad, asumí que el agente operaba dentro de un entorno aislado (sandbox) que respetaba los límites de mi máquina. El descubrimiento del Agentjacking por parte de Tenet Security demuestra que esta suposición es un descuido peligroso en la ingeniería de software moderna.
El Agentjacking es una nueva clase de ataque que explota la forma en que los agentes de codificación de IA procesan la información de servicios externos. Permite a un atacante ejecutar código arbitrario en la máquina de un desarrollador al alimentar con datos maliciosos las herramientas en las que el agente confía. En este escenario específico, los investigadores utilizaron Sentry, una popular plataforma de seguimiento de errores. El exploit no requiere una brecha en los servidores de Sentry ni en la infraestructura del desarrollador. Se basa enteramente en la arquitectura de cómo los agentes de IA interpretan datos estructurados a través del Model Context Protocol (Protocolo de Contexto de Modelo).
En el centro de esta vulnerabilidad se encuentra una paradoja fundamental en el diseño de los agentes de IA. Estos agentes están diseñados para ser útiles, proactivos y capaces de tomar medidas basadas en el contexto técnico. Cuando le pides a una IA que solucione un error, a menudo busca fuentes de datos que proporcionen pistas sobre lo que salió mal. Sentry es una de esas fuentes. Recopila informes de errores de las aplicaciones y los presenta a los desarrolladores para su análisis. Para facilitar esto, muchos agentes de IA utilizan el Model Context Protocol para consultar Sentry y recuperar eventos de error recientes.
Desde una perspectiva de riesgo, el problema es que el agente de IA no tiene forma de verificar la fuente de un informe de error. Trata cada evento devuelto por el servidor de Sentry como una salida de sistema confiable. Un atacante puede explotar esto enviando un informe de error falso directamente al endpoint de Sentry de una empresa. Esto es posible porque Sentry utiliza un Nombre de Fuente de Datos, o DSN, que es una credencial pública de solo escritura. Puede encontrar estos DSN incrustados en el código fuente de millones de sitios web y aplicaciones del lado del cliente. Debido a que el DSN está destinado a ser público para que las aplicaciones frontend puedan informar errores, cualquier persona con la cadena de texto puede enviar datos a ese proyecto de Sentry.
Cuando el agente de IA consulta Sentry a través del protocolo, recibe el informe de error malicioso del atacante junto con los legítimos. El agente interpreta las instrucciones dentro de ese informe falso como pasos de diagnóstico o guía de resolución. Luego ejecuta esas instrucciones con los privilegios completos del desarrollador. Esto representa una ruptura de la tríada de la CIA (Confidencialidad, Integridad y Disponibilidad), impactando específicamente la integridad del sistema y la confidencialidad de los datos del desarrollador.
Para comprender la cadena de ataque, debemos observar cómo se mueven los datos desde el internet público hacia la terminal privada de un desarrollador. El proceso comienza cuando el atacante localiza el DSN de Sentry de un objetivo. Esta no es una tarea difícil. Muchas organizaciones exponen inadvertidamente estas claves en sus paquetes de JavaScript de producción o repositorios públicos. Una vez que el atacante tiene el DSN, utiliza una solicitud POST estándar para enviar un evento de error manipulado al endpoint de ingesta de Sentry.
Este evento no es una simple cadena de texto. Los investigadores descubrieron que el uso de un formato markdown específico dentro de los campos de mensaje y las claves de contexto es suficiente para engañar al agente de IA. El atacante formatea la carga útil para que se vea exactamente como una plantilla de sistema legítima de Sentry. Cuando un desarrollador le pide a su asistente de IA que resuelva problemas de Sentry no resueltos, el asistente extrae este evento malicioso.
El agente de IA ve un mensaje que parece un error técnico y un conjunto de instrucciones para solucionarlo. Estas instrucciones podrían decirle al agente que ejecute un script para verificar variables de entorno o para actualizar un archivo de configuración. Debido a que el agente cree que está leyendo un paso de resolución confiable de una herramienta de diagnóstico, ejecuta el comando. Entre bastidores, ese comando podría estar exfiltrando credenciales de Git, URLs de repositorios privados o variables de entorno sensibles. El ataque es sigiloso porque el desarrollador ve al agente haciendo exactamente lo que le pidió: solucionar un error.
Esta superficie de ataque es particularmente problemática porque elude casi todas las capas de la pila de seguridad moderna. Un EDR o un firewall buscan firmas maliciosas o conexiones no autorizadas. En un escenario de Agentjacking, cada acción en la cadena está autorizada. El servidor de Sentry está autorizado para recibir datos. El agente de IA está autorizado para consultar Sentry. El desarrollador ha autorizado al agente para ejecutar código en su máquina.
No hay malware que detectar en el sentido tradicional. La intención maliciosa está enterrada en la lógica de la instrucción, no en el binario de un archivo. Al evaluar la superficie de ataque se revela que el propio agente de IA es el eslabón más débil. Actúa como un caballo de Troya digital, trayendo datos no confiables del internet público a un entorno de altos privilegios. Hablando proactivamente, herramientas como los Firewalls de Aplicaciones Web o la Gestión de Identidad y Acceso no hacen nada para detener esto porque el atacante nunca toca la infraestructura interna de la víctima. Solo interactúan con un punto de ingesta público que está diseñado para aceptar datos de todo el mundo.
Cuando Tenet Security informó estos hallazgos a Sentry, la respuesta fue reveladora. Sentry reconoció el problema pero afirmó que técnicamente no es defendible. Esta es una situación común en el mundo del diseño de APIs y puntos de ingesta públicos. Si un servicio está diseñado para aceptar datos de cualquier cliente, no puede distinguir fácilmente entre un fallo real y una inyección maliciosa sin romper su función principal. Si bien Sentry ha implementado un filtro de contenido global para bloquear cadenas de carga útil específicas, esta es una medida reactiva. Es probable que los atacantes encuentren nuevas formas de formatear su markdown para eludir tales filtros.
Los investigadores probaron este ataque contra más de 100 organizaciones y lograron una tasa de éxito del 85%. Encontraron al menos 2,388 organizaciones con DSN expuestos e inyectables. Esto sugiere que la vulnerabilidad es generalizada en toda la industria. No se limita a una sola herramienta o a un modelo de IA específico. Es un problema sistémico de cómo estamos construyendo agentes autónomos que interactúan con fuentes de datos externas. Básicamente, estamos otorgando a estos agentes un pase VIP a nuestros sistemas más sensibles sin un portero en la puerta para verificar las identificaciones.
Como contramedida, las organizaciones deben repensar cómo permiten que los agentes de IA interactúen con servicios de terceros. Más allá de los parches, la defensa más eficaz es un cambio hacia un modelo de confianza cero (Zero Trust) para el contexto de la IA. El hecho de que los datos provengan de una API oficial no significa que sea seguro ejecutarlos.
Los desarrolladores deben desconfiar de cualquier agente de IA que solicite permiso para ejecutar código arbitrario sin supervisión manual. Si utiliza herramientas como Claude Code o Cursor, debe mantener un alto nivel de paranoia saludable. Revise los comandos que propone el agente antes de presionar la tecla Enter. Si un agente sugiere una resolución para un error de Sentry que implica ejecutar un script de shell que usted no escribió, deténgase y verifique primero el error en el panel de Sentry.
Para las organizaciones, la prioridad es auditar el código orientado al público en busca de DSN expuestos. Si bien los DSN de Sentry son de solo escritura, representan claramente un riesgo de misión crítica cuando los agentes de IA están involucrados. Tratar estas claves con el mismo nivel de cuidado que una clave de API privada es un paso necesario. En consecuencia, los equipos de seguridad deben actualizar sus modelos de amenazas para incluir a los agentes de IA como un vector de ejecución potencial para datos externos.
Para proteger su entorno de desarrollo contra el Agentjacking y ataques de inyección similares, considere los siguientes pasos:
Estamos en un período de rápida adopción de la IA donde la velocidad del desarrollo a menudo supera el desarrollo de marcos de seguridad. El Agentjacking es un recordatorio de que cada nueva integración crea una nueva ruta para un atacante. Los agentes en los que confiamos para hacernos la vida más fácil son solo tan seguros como los datos con los que los alimentamos.
Fuentes: Tenet Security Research Blog, Sentry Official Documentation, Model Context Protocol Specification, NIST AI Risk Management Framework.
Descargo de responsabilidad: Este artículo es solo para fines informativos y educativos y no reemplaza una auditoría de ciberseguridad profesional o un servicio de respuesta a incidentes.



Nuestra solución de correo electrónico cifrado y almacenamiento en la nube de extremo a extremo proporciona los medios más potentes para el intercambio seguro de datos, lo que garantiza la seguridad y la privacidad de sus datos.
/ Crear una cuenta gratuita