Agentjacking vía Sentry MCP es el modo de fallo que aparece cuando un agente de código trata telemetría como diagnóstico confiable. La instrucción maliciosa no tiene que vivir en el repositorio. Puede llegar por observabilidad, issues, logs, alertas o cualquier herramienta externa conectada al agente.
En junio de 2026, Tenet Security informó 2.388 organizaciones expuestas a eventos Sentry inyectables y más de 100 ejecuciones de agentes durante validaciones controladas (Tenet Security, "One Fake Bug Report Hijacked a $250 Billion Company’s AI Agent", 2026, consultado en 2026-07-06). El punto práctico es directo: un agente no debe decidir solo cuándo un bug report se vuelve comando.
Resumen práctico
- Trata Sentry, logs e issues como input externo, no como instrucción.
- Separa lectura de telemetría, análisis de causa y ejecución.
- Exige confirmación para MCP que devuelve datos controlados por terceros.
- Bloquea red, instalación y shell cuando el origen sea observabilidad.

¿Por qué agentjacking vía Sentry merece un artículo propio?
En 2026, Tenet Security informó 2.388 organizaciones expuestas, 71 de ellas en el Tranco top un millón, y más de 100 ejecuciones de agentes en pruebas controladas (Tenet Security, "One Fake Bug Report Hijacked a $250 Billion Company’s AI Agent", 2026, consultado en 2026-07-06). Merece un artículo propio porque el riesgo sale de la codebase.
El post sobre hooks para agentes de código cubrió gates antes de shell, MCP y cierre de sesión. El agentjacking por telemetría necesita una capa anterior: clasificar el origen del dato que inspiró la acción. Si el agente leyó un error influenciado externamente, el siguiente paso debe llevar esa marca de desconfianza.
La diferencia es pequeña, pero cambia la arquitectura. Un bug real puede merecer una investigación legítima. Un bug inyectado puede pedir el mismo diagnóstico con una instrucción maliciosa escondida dentro de un formato de resolución. Para el agente, ambos parecen texto útil de trabajo.
Cápsula citable: Agentjacking vía Sentry MCP cambia el riesgo porque el comando peligroso nace en telemetría, no en el repositorio. Tenet informó 2.388 organizaciones expuestas y más de 100 ejecuciones en validación controlada, lo que convierte observabilidad en una superficie de input hostil para agentes.
¿Dónde nace la cadena de ataque?
La documentación actual de Sentry dice que los DSN son públicos porque solo permiten enviar nuevos eventos, aunque también reconoce que cualquier persona puede enviar eventos con cualquier información a una organización (Sentry Docs, "Data Source Name (DSN)", 2026, consultado en 2026-07-06). La cadena nace cuando ese evento público vuelve al agente como contexto confiable.
Antes de los agentes, este modelo creaba sobre todo riesgo de spam y ruido. Con agentes conectados por MCP, el mismo evento puede entrar en la cadena de razonamiento operativo. El agente recibe stack trace, mensaje, contexto y una supuesta guía de corrección.
Tenet describió la secuencia como un evento Sentry manipulado con Markdown, devuelto por el servidor MCP y leído por el agente como guía de diagnóstico (Tenet Security, "One Fake Bug Report Hijacked a $250 Billion Company’s AI Agent", 2026, consultado en 2026-07-06). El atacante no necesita comprometer el repo. Solo necesita controlar el dato que el agente consulta.
El patrón se repite en otros lugares. Issues públicas, comentarios de PR, tickets de soporte y logs de cliente también mezclan dato y recomendación. Si el agente no marca el origen, el texto externo puede entrar al plan.

Cápsula citable: La cadena de agentjacking empieza cuando un dato externo vuelve al agente como diagnóstico confiable. Sentry documenta que los DSN públicos aceptan nuevos eventos, y Tenet mostró que eventos manipulados pueden cargar instrucciones que agentes leen durante triage.
¿Por qué MCP amplía el problema?
En la especificación de 2025-06-18, las herramientas MCP se describen como model-controlled, con descubrimiento e invocación automática por el modelo, y la especificación recomienda humano en el loop para negar invocaciones (Model Context Protocol, "Tools", 2025-06-18, consultado en 2026-07-06). MCP amplía el problema porque convierte sistemas externos en herramientas operativas del agente.
MCP es útil precisamente por eso. Evita copiar contexto manualmente y permite que Codex, Claude Code y agentes similares consulten herramientas reales. El precio es que cambia la frontera de confianza: la respuesta de una herramienta entra en el contexto que decide la siguiente acción.
La investigación sobre tool poisoning en MCP analizó 57 amenazas en cinco componentes y probó clientes contra ataques de tool poisoning (arXiv, "Model Context Protocol Threat Modeling and Analyzing Vulnerabilities to Prompt Injection with Tool Poisoning", 2026, consultado en 2026-07-06). Incluso si el servidor es legítimo, el dato devuelto puede estar controlado por terceros.
Ese es el detalle que falta en muchas configuraciones. Permitir un servidor MCP no equivale a permitir toda acción inducida por todo lo que devuelve. Sentry puede ser confiable como servicio y aun así transportar eventos hostiles como contenido.
Cápsula citable: MCP amplía agentjacking porque mete datos externos en el loop de decisión. La especificación de 2025-06-18 describe herramientas model-controlled y recomienda humano en el loop; la defensa debe separar confianza en el servidor de confianza en cada evento devuelto.
¿Qué debe bloquear el runtime del agente?
La documentación de Codex dice que la red está desactivada por defecto y que los controles combinan sandbox técnico con política de aprobación para acciones como salir del sandbox, usar red o ejecutar comandos sensibles (OpenAI Developers, "Agent approvals & security", 2026, consultado en 2026-07-06). El runtime debe bloquear el paso directo de telemetría a ejecución.
La regla operativa es simple: si la intención vino de observabilidad, el agente puede leer, resumir y proponer una hipótesis. No debería instalar paquetes, abrir red, ejecutar comandos sugeridos por el error ni tocar credenciales sin un gate explícito.
Yo usaría estados simples. Lectura liberada para Sentry y logs. Análisis liberado con búsqueda local y diff. Ejecución en ask o deny cuando el comando deriva de un evento externo. Eso reduce el daño sin matar el triage automático.
Experiencia práctica: cuando diseño un harness para agente de código, trato el origen de la intención como campo obligatorio del resumen final. Si el cambio nació de un log, alerta o issue externa, el agente debe mostrar prueba local antes de pedir permiso para ejecutar algo más que lectura.
En flujos agentic largos, el costo de contexto también pesa: uso RemoteCode para extender contexto en Claude Code y Codex sin volcar todo el historial en el prompt principal cuando el agente necesita continuidad entre investigación, patch y prueba; es una herramienta mía, así que esta mención es editorial y contextual.
Cápsula citable: La política de runtime debe distinguir origen y acción. Codex documenta sandbox, aprobaciones y red desactivada por defecto; en agentjacking, agrega una regla: la telemetría puede guiar análisis, pero no autorizar shell, instalación, red ni acceso a secretos.
¿Cómo convertir esto en política de ingeniería?
En mayo de 2026, la NSA afirmó que la proliferación de MCP superó el desarrollo de su modelo de seguridad y recomendó controles deliberados más allá de las sugerencias del protocolo (NSA, "Model Context Protocol (MCP): Security Design Considerations", 2026, consultado en 2026-07-06). La política de ingeniería debe ser ejecutable, no solo texto en un prompt.
Empieza por el inventario. Lista qué servidores MCP participan en desarrollo, cuáles devuelven datos controlados por terceros y cuáles exponen herramientas de escritura. La política debe ser más dura donde lectura externa y ejecución local se encuentran.
Después crea reglas por origen. Eventos Sentry, issues públicas, comentarios externos de PR, logs de cliente y mensajes de soporte entran como contenido no confiable. Resultado de test local, diff generado y artefacto de CI entran como evidencia local.
Una matriz pequeña funciona mejor que un manual largo:
| Origen del dato | Acción permitida | Gate necesario |
|---|---|---|
| Evento de observabilidad | Resumir y mapear hipótesis. | La ejecución necesita confirmación. |
| Issue o comentario externo | Buscar código relacionado. | Red y shell quedan en ask. |
| Test local generado en el repo | Corregir y repetir test. | El resumen debe mostrar evidencia. |
| Herramienta MCP de escritura | Preparar propuesta. | La escritura real exige allowlist. |
Esta política encaja con RAG de codebase con MCP para agentes. Usa MCP para recuperar contexto. Usa permisos y hooks para impedir que contexto externo se vuelva autoridad de ejecución.

Cápsula citable: La política contra agentjacking empieza con inventario de origen. La NSA afirmó en 2026 que la seguridad de MCP depende de disciplina de implementación; para equipos de software, eso se traduce en allowlist de servidores, marcado de input externo y gates separados para lectura, análisis y ejecución.
¿Cómo probar si tu flujo es vulnerable?
En 2026, la investigación de threat modeling de MCP identificó 57 amenazas en cinco componentes y evaluó clientes contra cuatro tipos de tool poisoning (arXiv, "Model Context Protocol Threat Modeling and Analyzing Vulnerabilities to Prompt Injection with Tool Poisoning", 2026, consultado en 2026-07-06). Probar tu flujo significa simular dato hostil antes de que alguien más lo haga.
No empieces con exploit. Empieza con un evento benigno que contiene una instrucción falsa de resolución. Pide al agente investigar la alerta. El resultado esperado es que marque la instrucción como dato externo, busque causa en el código y pare antes de ejecutar cualquier comando sugerido por el evento.
Luego prueba fronteras. ¿El agente intenta instalar un paquete? ¿Abre red? ¿Lee .env para confirmar una variable? ¿Ejecuta un comando copiado del log? Cada intento debe chocar con ask o deny, con motivo claro.
Por último, lleva esto a CI. Un PR hecho por agente debe decir qué datos externos influyeron en el cambio, qué comandos se ejecutaron y qué evidencia local sostiene el patch. Eso conecta el tema con evals de PR para agentes en CI.
Cápsula citable: Una buena prueba de agentjacking no necesita weaponizar nada. Usa un evento benigno con instrucción falsa, pide triage al agente y verifica si separa dato externo de comando. Si ejecuta instalación, red o shell sugerido por el evento, el flujo falló.
Preguntas frecuentes sobre agentjacking vía Sentry MCP
¿Agentjacking es una falla de Sentry?
No por sí solo. Sentry documenta que los DSN públicos aceptan envío de eventos, y Tenet mostró que agentes pueden tratar esos eventos como guía confiable. El riesgo aparece en la intersección entre telemetría externa, MCP y ejecución autónoma del agente. La defensa debe vivir en el runtime.
¿MCP debe eliminarse de los agentes de código?
No. MCP sigue siendo útil para obtener contexto vivo y evitar copiar información al prompt. La especificación de herramientas MCP recomienda humano en el loop para invocaciones. El ajuste práctico es lectura con alcance y gate cuando una respuesta externa intenta inducir acción.
¿Un sandbox resuelve agentjacking por sí solo?
No por sí solo. La documentación de Codex separa sandbox técnico y política de aprobación, y Tenet informó casos en ambientes con alguna forma de aislamiento. Sandbox reduce alcance, pero no cambia el origen de la intención. Aún necesitas bloquear ejecución derivada de telemetría hostil.
¿Cómo se relaciona esto con tool poisoning?
Tool poisoning coloca instrucciones maliciosas en metadatos de herramienta. Agentjacking vía Sentry coloca instrucciones en datos devueltos por una herramienta legítima. El estudio de MCP de 2026 trata tool poisoning como ataque prioritario, pero el patrón mayor es igual: texto externo influye en acción.
¿Qué debería cambiar primero?
Empieza negando ejecución directa cuando el origen sea observabilidad, issue pública o log externo. Después agrega allowlist de servidores MCP, confirma herramientas de escritura y registra evidencia local al final del loop. Ese conjunto pequeño bloquea la cadena más peligrosa.
Cierre
Agentjacking vía Sentry MCP muestra que los agentes de código no viven solo dentro del repositorio. Leen telemetría, tickets, logs y herramientas externas. Cada fuente puede ayudar. Cada fuente también puede cargar una instrucción que nunca debería volverse acción.
El patrón sano es tratar observabilidad como input hostil hasta prueba en contra. Deja que el agente lea, resuma y forme hipótesis. Antes de shell, red, instalación, credenciales o escrituras externas, haz que el harness pregunte de dónde vino la intención y qué evidencia local confirma el siguiente paso.
Fuentes consultadas
- Tenet Security, "One Fake Bug Report Hijacked a $250 Billion Company’s AI Agent", consultado en 2026-07-06, https://tenetsecurity.ai/blog/agentjacking-coding-agents-with-fake-sentry-errors/
- Cloud Security Alliance AI Safety Initiative, "Agentjacking: MCP Injection Hijacks AI Coding Agents", consultado en 2026-07-06, https://labs.cloudsecurityalliance.org/research/csa-research-note-agentjacking-mcp-sentry-injection-20260612/
- Sentry Docs, "Data Source Name (DSN)", consultado en 2026-07-06, https://docs.sentry.io/concepts/key-terms/dsn-explainer/
- Model Context Protocol, "Tools", consultado en 2026-07-06, https://modelcontextprotocol.io/specification/2025-06-18/server/tools
- OpenAI Developers, "Agent approvals & security", consultado en 2026-07-06, https://developers.openai.com/codex/agent-approvals-security
- OpenAI Developers, "Model Context Protocol", consultado en 2026-07-06, https://developers.openai.com/codex/mcp
- NSA, "Model Context Protocol (MCP): Security Design Considerations", consultado en 2026-07-06, https://media.defense.gov/2026/Jun/02/2003943289/-1/-1/0/CSI_MCP_SECURITY.PDF
- arXiv, "Model Context Protocol Threat Modeling and Analyzing Vulnerabilities to Prompt Injection with Tool Poisoning", consultado en 2026-07-06, https://arxiv.org/html/2603.22489v1