Seguridad de MCP: conoce los riesgos de los servidores de herramientas
MCP conecta a los agentes de IA con herramientas potentes, y con ello abre nuevas superficies de ataque. Deberías conocer estos riesgos antes de conectar un servidor.
Por qué MCP crea una superficie de ataque propia
Un servidor MCP le da a un agente capacidad de actuación real: leer archivos, enviar correos, consultar bases de datos. Al conectar un servidor, no solo confías en su código, sino en todo el texto que le muestra al modelo, incluidas las descripciones que una persona a menudo ni siquiera lee al conectarlo.
Tool poisoning
La descripción de una herramienta se entrega al modelo como texto. Un servidor malicioso puede introducir ahí instrucciones ocultas que son invisibles para ti, pero que el modelo sigue igualmente; por ejemplo, leer también la configuración SSH e incluirla de forma discreta en un parámetro. El modelo lo interpreta como una instrucción normal de uso de la herramienta.
Prompt injection a través de los resultados de una herramienta
El resultado de una llamada a una herramienta también puede contener texto manipulado, por ejemplo cuando una herramienta entrega una página web o un documento preparado para ello. Este contenido llega al modelo como contexto normal y puede malinterpretarse como una instrucción.
Riesgo de cadena de suministro
Los servidores MCP suelen ser código de terceros, a menudo de proyectos pequeños e independientes. Un paquete comprometido o un mantenedor malintencionado puede introducir a posteriori, a través de una actualización, un comportamiento dañino, igual que con cualquier otra dependencia de software.
La regla del mínimo privilegio
Conecta solo servidores en los que confíes, dales solo los permisos que su tarea realmente necesita, y confirma manualmente las acciones arriesgadas en lugar de hacerlo de forma automática.
EJEMPLO
Antes de conectar un servidor MCP nuevo: abre el repositorio de código fuente, busca las descripciones reales de las herramientas en el código y comprueba si hay formulaciones ocultas como 'IMPORTANT', 'ignore previous' u otras instrucciones inusuales, en lugar de confiar ciegamente en el servidor solo porque aparezca en una lista de servidores recomendados.
🛠️ EJERCICIO — PRUÉBALO TÚ
Revisa un servidor MCP que uses (o quieras usar) contra la lista de comprobación de mínimo privilegio.
- Abre el código fuente (si está disponible) y lee las descripciones reales de las herramientas, no solo el resumen breve de la lista de servidores.
- Comprueba qué permisos o recursos solicita realmente el servidor: ¿coinciden con lo que exige su tarea?
- Comprueba si las acciones arriesgadas (escribir, borrar, acceso a red) requieren confirmación o se ejecutan automáticamente.
- Decide de forma consciente si confías en el servidor a partir de esta revisión, o limita sus permisos.
✅ AUTOEVALUACIÓN
- ☐ ¿Leíste las descripciones reales de las herramientas, no solo el resumen breve?
- ☐ ¿Coinciden los permisos que solicita el servidor con lo que exige realmente su tarea?
- ☐ ¿Requieren confirmación las acciones arriesgadas como escribir o borrar?
QUIZ RÁPIDO
¿Qué es un 'tool poisoning attack' en los servidores MCP?
FUENTES
- MCP-Spezifikation: Tools (Security Considerations) ↗ modelcontextprotocol.io
- Invariant Labs: MCP Security Notification – Tool Poisoning Attacks ↗ invariantlabs.ai
- Claude Code Doku: MCP verbinden ↗ code.claude.com
- Model Context Protocol: Security Best Practices ↗ modelcontextprotocol.io
- Simon Willison: MCP Prompt Injection Risks ↗ simonwillison.net