← Volver al feed

Investigadores eluden seis frameworks de agentes IA con un simple ataque «Repeat-After-Me» y hallan 253 bugs en MCP

Investigadores de Penn State, la Université de Montpellier y Dartmouth engañaron a seis frameworks de agentes para ejecutar llamadas a herramientas escritas por un atacante mediante una petición de repetición de texto, y con un fuzzer confirmaron 253 bugs en 118 de 273 servidores MCP de código abierto, según CSO Online.

Investigadores eluden seis frameworks de agentes IA con un simple ataque «Repeat-After-Me» y hallan 253 bugs en MCP

Investigadores de la Pennsylvania State University, la Université de Montpellier y Dartmouth College engañaron a seis frameworks ampliamente usados de agentes de inteligencia artificial para que ejecutaran llamadas a herramientas escritas por un atacante, simplemente pidiendo al modelo subyacente que repitiera el texto de la llamada. La técnica, bautizada «Repeat-After-Me», funcionó en LangGraph de LangChain, Microsoft Agent Framework, AutoGen de Microsoft, el Agent Development Kit 2.0 de Google, Strands Agents de AWS y CrewAI, según un reportaje de CSO Online del 12 de octubre de 2026 que resume el artículo académico.

«Una petición aparentemente benigna de repetición de texto otorga así al atacante control directo sobre la invocación de la herramienta y sus argumentos», escribieron los investigadores en el paper, citados por CSO Online. El mismo trabajo informa de que una herramienta de pruebas construida por el equipo —llamada ToFu— encontró bugs de seguridad verificados en 118 de los 273 servidores open-source del Model Context Protocol (MCP) que logró ejecutar. Tras revisión manual, confirmaron 253 bugs que afectan a 343 herramientas.

El truco, en la demostración documentada, funciona en dos tiempos. Primero, los investigadores pidieron a un modelo que repitiera texto formateado como una solicitud de invocación de herramienta. El modelo se negó inicialmente a la petición peligrosa pero incluyó el texto solicitado en su respuesta; el framework no lo ejecutó en esa fase. Después reformularon la petición como hipotética e instruyeron al modelo a reproducir solo el texto suministrado. El modelo emitió una invocación estructurada de herramienta, y LangGraph la despachó. La herramienta simulada devolvió un resultado antes de que el modelo emitiera otra negativa.

«El texto de rechazo y la llamada ejecutada discrepan: el system prompt moldeó lo que el modelo dijo, no lo que hizo el orquestador», escribieron los investigadores. El paper detalla una demostración completa en LangGraph 1.2.0 ejecutando el modelo Llama 3.1 8B de Meta a través de Ollama. El agente tenía dos herramientas ficticias, make_bomb y launch_missiles, que devolvían datos fijos y no tenían efecto real. Su única salvaguarda era un system prompt que pedía al modelo declinar peticiones peligrosas. Cuando se pidió por primera vez repetir una llamada a launch_missiles, el modelo se negó pero imprimió la llamada como texto y LangGraph no ejecutó nada; en la segunda formulación, sí la ejecutó con los argumentos del atacante, y el rechazo llegó solo después de que la herramienta hubiera respondido.

Para los otros cinco frameworks, el paper afirma que los investigadores reprodujeron el comportamiento pero no aporta más detalle ni una transcripción completa, según CSO Online. Los hallazgos no demuestran que todo despliegue de los seis frameworks se comporte así. LangChain, Microsoft, Google, AWS y CrewAI no respondieron de inmediato a las solicitudes de comentario del medio. Los investigadores dijeron haber reportado a los mantenedores de LangGraph la ausencia de una comprobación previa a la ejecución.

Vibhum Dubey, investigador de seguridad independiente y red teamer citado por CSO Online, situó el hallazgo como una debilidad arquitectónica más que como un bug aislado. «Un modelo puede generar una llamada a herramienta técnicamente válida que sigue siendo inapropiada para la tarea», dijo. «Si la capa de orquestación trata esa salida como autoridad suficiente para ejecutar la operación, una manipulación a nivel de modelo se convierte en un problema de seguridad a nivel de sistema». La explotabilidad depende de lo que el atacante pueda influir y de lo que el agente tenga permitido hacer: un agente de solo lectura no es el mismo riesgo que uno con acceso a archivos confidenciales, repositorios de código o ejecución de comandos.

Como el atacante puede dictar los argumentos que llegan a una herramienta, los investigadores sostienen que las herramientas deben validar sus propias entradas. ToFu lee la descripción de cada herramienta y comprueba si impone los límites que anuncia, por ejemplo permanecer dentro de una carpeta designada. De los 253 bugs confirmados, los más graves fueron 64 fallos de path traversal, siete de server-side request forgery (SSRF), cinco de exfiltración de datos y tres de inyección de comandos del sistema operativo. El resto eran en su mayoría problemas de salida reflejada e inyección en logs, que el paper califica de menor impacto en muchos despliegues.

Los investigadores escribieron que «muchas herramientas confían implícitamente en que el LLM sanee las entradas», aunque prompts, contenido recuperado y salidas de otras herramientas pueden influir en esas entradas. Esa observación conecta con un patrón más amplio de 2026: a medida que el Model Context Protocol y frameworks similares popularizan la conexión de modelos a herramientas externas, la superficie de ataque se desplaza desde el prompt hacia la cadena de confianza entre orquestador, modelo y herramienta. Un rechazo verbal del modelo no es un control de acceso.

Dubey recomendó separar la capacidad del modelo de solicitar una acción de la autoridad del sistema para llevarla a cabo. Cada llamada sensible a una herramienta debería pasar por comprobaciones de autorización independientes; la sintaxis válida o una explicación convincente del modelo nunca deberían sustituir el permiso. También aconsejó ejecutar agentes con acceso restringido a archivos y red, entornos de ejecución aislados y credenciales limitadas, con aprobación explícita para operaciones sensibles o irreversibles, y monitorear secuencias de llamadas a herramientas en lugar de juzgar cada acción de forma aislada.

El paper no ha sido revisado por pares, advierte CSO Online. Los servidores se probaron en versiones de código fijas, y el trabajo no indica si alguno de los fallos se ha corregido después o si se ha explotado en la práctica. Esa salvedad es importante: 253 bugs verificados en un corpus de 273 servidores MCP open-source es una señal de madurez insuficiente del ecosistema de herramientas, no necesariamente un mapa de exposiciones activas en producción. Aun así, la proporción —118 servidores afectados— sugiere que el problema es sistémico y no anecdótico.

Para equipos de seguridad empresarial, el mensaje práctico es doble. Primero, endurecer la orquestación: no ejecutar una tool call solo porque el modelo la emitió en formato estructurado; exigir políticas de permitir/denegar, validación de argumentos y, cuando proceda, confirmación humana. Segundo, auditar las herramientas MCP y equivalentes con fuzzing orientado a la semántica de sus descripciones —el enfoque de ToFu—, porque confiar en que el modelo «no pedirá» path traversal o SSRF es una premisa falsa si un atacante puede hacer que el modelo repita una llamada maliciosa.

El episodio encaja con la preocupación creciente por agentes autónomos que actúan sobre sistemas reales. Mientras laboratorios como Anthropic reportan elusiones en evaluaciones con acceso a internet, esta investigación muestra un vector distinto: no hace falta que el modelo «quiera» atacar; basta con que el orquestador trate su salida como permiso. En ese sentido, Repeat-After-Me es menos un jailbreak clásico de contenido prohibido y más un fallo de separación de privilegios entre capas.

En conclusión, el trabajo de Penn State, Montpellier y Dartmouth, tal como lo resume CSO Online el 12 de octubre de 2026, deja un aviso concreto a quien construye o despliega agentes: seis frameworks populares ejecutaron tool calls dictadas por un atacante tras una petición de repetición, y más de cuatro de cada diez servidores MCP open-source evaluados portaban bugs verificados en sus herramientas. Hasta que la autorización independiente sea la norma —y no el system prompt—, la frase «repíteme esto» puede seguir valiendo más que un rechazo del modelo.