01Tool Poisoning
Las descripciones de herramientas o los metadatos manipulados pueden contener instrucciones ocultas que inducen al modelo a acciones no intencionadas o a la exfiltración de datos. Como contramedida sirven manifiestos de herramientas firmados, un proceso formal de aprobación y el cotejo de la función anunciada frente al comportamiento real en tiempo de ejecución. Al modelo solo se le exponen los campos mínimos necesarios.
02Dynamic Tool Instability («Rug Pulls»)
Dado que las definiciones de herramientas se cargan de forma dinámica y rara vez se versionan de manera estricta, una definición previamente verificada puede sustituirse posteriormente por un comportamiento malicioso. Las firmas criptográficas y el Version-Pinning con verificación de firma y hash en el momento de la carga evitan tales cambios inadvertidos.
03Code Injection y ejecución insegura
Si las entradas proporcionadas por el modelo se transfieren sin verificar a comandos de sistema, APIs o consultas de base de datos, existe el riesgo de inyección y de ejecución de código no deseada. Imponga la validación por JSON-Schema para entradas y salidas, invocaciones de herramientas estructuradas en JSON en lugar de texto libre, así como saneamiento y límites de tamaño. Para acciones de alto riesgo rigen además las aprobaciones Human-in-the-Loop.
04Abuso de credenciales y tokens
Los MCP-Server gestionan a menudo claves de API y tokens OAuth; el almacenamiento inseguro, el logging en texto plano o un caching demasiado prolongado posibilitan el robo y la usurpación de identidad. Los secretos deben residir en Secrets-Vaults, nunca en variables de entorno, logs o en el ámbito de acceso del LLM. De forma complementaria rigen tokens de vida corta y con scope reducido, así como la renuncia al Token Passthrough hacia servicios posteriores.
05Excessive Permissions
Las herramientas sobreprivilegiadas y los scopes de acceso amplios aumentan el daño de una sola herramienta comprometida y vulneran el principio de Least Privilege. La guía exige OAuth 2.1/OIDC con tokens de vida corta y scope reducido, delegación de tokens (RFC 8693) en lugar de passthrough, así como una aplicación central de políticas a través de una capa de gateway dedicada.
06Aislamiento insuficiente
Las sesiones comunes, las identidades compartidas o un entorno de ejecución común conducen a Cross-Tenant-Leaks, confusión de identidades y conflictos de recursos. Aísle estrictamente los contextos de usuario, de sesión y de cómputo, renuncie al estado compartido para los datos de usuario e imponga Per-Session-Quotas con un cleanup determinista. La operación se realiza de forma containerizada, como Non-Root y con segmentación de red.