Envenenamiento de herramientas MCP: instrucciones ocultas en las descripciones
Invariant Labs demostró que un servidor MCP puede ocultar instrucciones en las descripciones de las herramientas que lee un modelo, y describió variantes de shadowing de herramientas y rug pull.
Qué ocurrió
El 1 de abril de 2025, Invariant Labs publicó una alerta de seguridad sobre el envenenamiento de herramientas en Model Context Protocol. Un servidor MCP malicioso introduce instrucciones en la descripción de una herramienta. El usuario rara vez ve ese texto, pero el modelo lo lee como parte de su contexto y puede actuar en consecuencia.
La misma alerta describió dos ataques relacionados. En el shadowing de herramientas, la descripción de un servidor cambia la forma en que el agente usa las herramientas de otro servidor de confianza. En un ataque de rug pull, un servidor modifica las descripciones de sus herramientas después de que el usuario ya lo haya aprobado.
Por qué funcionó
Los clientes cargan en un mismo contexto las descripciones de las herramientas de todos los servidores conectados, y el modelo no puede distinguir la documentación del proveedor de las instrucciones de un atacante. Si un cliente aprueba un servidor una sola vez y nunca vuelve a comprobarlo, los cambios posteriores pasan inadvertidos.
Qué hacer
- Lee las descripciones completas de las herramientas de un servidor MCP antes de conectarlo; no te limites a los nombres de las herramientas.
- Fija las versiones de los servidores y calcula hashes de las descripciones de las herramientas; vuelve a solicitar aprobación o genera una alerta si cambia un hash.
- Conecta solo los servidores que necesite la tarea para evitar que el texto de un servidor dirija las herramientas de otro.
- Exige aprobación para las llamadas a herramientas que envíen datos o modifiquen archivos.
Verifica skills, plugins y servidores MCPExige aprobación para las acciones con consecuencias
Sigue la lista de comprobación de seguridad →