Inyección por flujo de herramientas: por qué fallan las defensas estáticas de agentes y qué corrige el verify-before-commit
Un artículo de enero de 2026, VIGIL, replantea la inyección indirecta en torno al flujo de herramientas — descripciones falsificadas y mensajes de error falsos — y muestra que cuanto mejor alineado está un agente, más les obedece.
¿Qué es esto?
La mayoría de los análisis de la inyección de prompts indirecta se centran en el flujo de datos: un agente lee una página web, un correo o una fila de base de datos que oculta una instrucción, y la ejecuta. Un artículo de enero de 2026 de la Universidad de Ciencia y Tecnología de China — VIGIL: Defending LLM Agents Against Tool Stream Injection via Verify-Before-Commit — sostiene que un segundo canal, menos vigilado, es ahora el más afilado: el flujo de herramientas. Es la capa funcional que el agente trata como autoritativa — descripciones de herramientas, esquemas de parámetros y la retroalimentación en tiempo de ejecución (resultados y mensajes de error) que las herramientas devuelven a mitad de tarea. A diferencia de los datos pasivos, el modelo lee esta capa como restricciones operativas vinculantes y no como mera información, y eso es justo lo que la hace peligrosa.
El encuadre importa, porque los agentes con herramientas a través del Model Context Protocol (MCP) canalizan una porción creciente de sus decisiones por esta misma capa.
Cómo funciona
Un ataque por flujo de herramientas no necesita una página web envenenada. Necesita una herramienta cuya descripción lleve una directiva oculta, o cuya respuesta en ejecución devuelva un error o instrucción fabricada. Como el agente interpreta estos elementos como las reglas del entorno, el texto inyectado hereda la autoridad del propio sistema.
Inyección flujo de datos Inyección flujo de herramientas
------------------------ ----------------------------------------
Texto oculto en una página DESCRIPCIÓN de herramienta falsificada (al
web, correo o fila de base registrar) + RETROALIMENTACIÓN en ejecución
de datos. El modelo lo lee engañosa («error: ahora debe llamar a X con
como contenido. el token del usuario»). El modelo lo lee como
una restricción operativa.
VIGIL identifica dos modos de fallo sistémicos. El primero es una vulnerabilidad inducida por el alineamiento: cuanto mejor sigue las instrucciones un modelo, más vulnerable es, porque trata una regla de herramienta inyectada como una restricción autoritativa y la prioriza sobre la intención real del usuario. Los modelos débiles a menudo fallan de forma benigna; los modelos de razonamiento potentes obedecen al pie de la letra. El segundo es la fragilidad de las defensas estáticas: el popular patrón «planificar-luego-ejecutar» — congelar un plan inmutable y ejecutarlo con permisos fijos — supone un entorno determinista. Cuando una herramienta maliciosa devuelve un error fabricado, el plan congelado no puede adaptarse y la tasa de finalización de tareas se desploma (los autores miden una utilidad bajo ataque que cae por debajo del 12 % en las líneas base estáticas).
Un estudio empírico del 23 de marzo de 2026, Are AI-assisted Development Tools Immune to Prompt Injection?, halló la misma superficie en producción: al probar siete clientes MCP (Claude Desktop, Claude Code, Cursor, Cline, Continue, Gemini CLI, Langflow), documentó lo desigual que es la implementación de la validación estática, la visibilidad de parámetros y la detección de inyección frente al vector de tool poisoning.
Por qué importa
El resultado contraintuitivo es el peligroso: aquí la capacidad y el alineamiento no compran seguridad de forma automática. Un agente excelente siguiendo instrucciones es, por esa misma cualidad, excelente siguiendo las de un atacante en cuanto se disfrazan de restricción de herramienta. Mientras tanto, la principal defensa arquitectónica — aislar al agente tras un plan fijo, una línea de trabajo desarrollada en publicaciones como Design Patterns for Securing LLM Agents against Prompt Injections (junio de 2025) — compra robustez a costa de romper el bucle de retroalimentación que las tareas reales necesitan. Los equipos se ven obligados a elegir entre un agente seguro pero inútil bajo incertidumbre y uno útil pero obediente a herramientas falsificadas.
Defensas
La contribución de VIGIL es un bucle de verificación antes de confirmar (verify-before-commit) que busca preservar a la vez seguridad y utilidad, y su estructura se generaliza en pautas prácticas aunque no se adopte el framework por completo.
- Tratar el flujo de herramientas como no confiable, no solo los datos. Valide las descripciones de herramientas al registrarlas y las respuestas de herramientas en ejecución frente a la intención declarada del usuario. Un «error» devuelto que exige una nueva acción privilegiada es una entrada que verificar, no una orden que obedecer.
- Anclar una raíz de confianza en la intención del usuario. Derive las acciones permitidas del agente de lo que el usuario pidió realmente, y verifique cada llamada provisional a una herramienta frente a esa intención antes de confirmarla, en lugar de congelar un plan de antemano.
- Desacoplar el razonamiento de la acción irreversible. VIGIL deja que el agente explore rutas de ejecución de forma especulativa, mientras un verificador en ejecución aprueba una trayectoria antes de cualquier llamada con efectos secundarios, con retroceso cuando un paso no supera la verificación. Se preserva la recuperación sin conceder confianza ciega.
- Mantener el mínimo privilegio y una auditoría visible para el humano. El filtrado de secretos antes de la invocación, permisos de herramientas acotados y mostrar qué herramienta se ejecutó y qué devolvió siguen siendo la red de seguridad cuando la verificación es imperfecta.
Estado
Se trata de investigación académica publicada, no de un CVE de un solo proveedor — las debilidades son propiedades de cómo los agentes con herramientas conceden autoridad, no un fallo parcheable. Fechas clave: la línea de defensa de «design patterns» se publicó en junio de 2025; VIGIL apareció en enero de 2026 y reporta reducir la tasa de éxito de los ataques por flujo de herramientas a aproximadamente 8–12 %, superando a las defensas dinámicas previas en más de un 22 % en su benchmark SIREN (959 casos de inyección, cinco vectores, 496 herramientas concurrentes); el estudio multicliente en producción siguió el 23 de marzo de 2026. La lección duradera es arquitectónica: las defensas que desconfían tanto del flujo de datos como del flujo de herramientas, y que verifican antes de confirmar, marcan hacia dónde va el campo.