El protocolo de contexto del modelo (MCP) es un importante protocolo de Anthropic que establece la conexión de modelos de lenguaje de gran tamaño (LLM) con herramientas externas. Ha ganado terreno rápidamente porque es fácil de usar y porque mejora la manera en que usamos la inteligencia artificial. En este artículo, abordamos algunos de los posibles riesgos de seguridad a los que te puedes enfrentar con el MCP y la manera de solucionarlos.
Funcionamiento del MCP
El MCP no conecta directamente a los LLM con las herramientas. El cliente MCP accede al LLM, y el servidor MCP, a las herramientas. Cada cliente MCP tiene acceso a uno o más servidores MCP. Los usuarios pueden conectar cualquier cantidad de servidores MCP a un cliente MCP.
A continuación, explicamos cómo se ve un intercambio típico entre un cliente y un servidor MCP:
- El usuario solicita una tarea al cliente MCP.
- El cliente MCP cuenta con la información sobre las herramientas que implementa cada servidor MCP o a las que tiene acceso.
- El cliente MCP transmite la solicitud del usuario y la información de los servidores MCP a un modelo LLM, el cual responde con la herramienta necesaria y los parámetros que se utilizarán.
- El cliente MCP envía la información sobre las herramientas y los parámetros al servidor MCP.
- El servidor MCP completa la tarea y devuelve la respuesta al cliente MCP, que transmite la respuesta al LLM, y este último genera un resultado para el usuario.
- El cliente MCP muestra el resultado al usuario.
Los servidores MCP se pueden ejecutar de forma local o remota, y los riesgos de seguridad varían según la forma en que se ejecuten.
Los "servidores MCP locales" son los servidores MCP que ejecutamos en un host bajo nuestro control. Para realizar las tareas solicitadas, los servidores MCP locales suelen ejecutar los comandos del sistema operativo o el código personalizado de forma local.
A los "servidores MCP remotos" solo los ejecuta un tercero de forma remota. Podemos acceder a los servidores MCP remotos, pero no se ejecutan en un host bajo nuestro control. Los servidores MCP remotos suponen riesgos de seguridad para los usuarios igualmente, ya que tienen acceso a sus datos. Sin embargo, como no se ejecutan de forma local, no se presentan muchos de los riesgos habituales.
Riesgos y controles de seguridad
A continuación, resumimos algunos de los riesgos del MCP identificados por los investigadores de seguridad y algunas estrategias para solucionarlos.
La autenticación y la autorización
Cuando un servidor MCP lleva a cabo una acción desencadenada por la solicitud de un usuario, existe el riesgo de que se genere un problema de "agente confundido". Lo ideal es que el servidor MCP ejecute esta acción en nombre del usuario y con su permiso. Sin embargo, esto se puede garantizar, ya que depende de la implementación del servidor MCP. Si no se implementa correctamente, los usuarios podrían obtener acceso a recursos que no deberían estar disponibles para ellos, pero sí para el servidor MCP, lo cual infringe el principio de privilegios mínimos.
El MCP define la autorización mediante OAuth, pero la comunidad ha identificado que la especificación actual incluye detalles de implementación que no respetan las prácticas empresariales modernas. Se está trabajando dentro de la comunidad para mejorar y actualizar la especificación de autorización y abordar esta discrepancia.
Riesgos de la cadena de suministro
Los servidores MCP están compuestos por código ejecutable, por lo que los usuarios deberían emplear solo servidores MCP en los que confíen. Si desarrollamos servidores MCP, debemos implementar medidas de seguridad para que los usuarios confíen en nuestro software. El desarrollador también debe aprobar los elementos del MCP para que los usuarios confíen en su integridad.
También debemos diseñar los elementos del MCP en canales que apliquen las prácticas recomendadas de seguridad, como las pruebas estáticas de seguridad de las aplicaciones (SAST). Debemos comprender los resultados, descartar los falsos positivos y corregir los puntos vulnerables conocidos. Los canales también deben implementar el análisis de composición de software (SCA) para identificar y corregir los puntos vulnerables conocidos en las dependencias que utilizan los servidores MCP.
Si un servidor MCP se ofrece como un servicio de nube, también debe incluir verificación criptográfica para que los clientes puedan comprobarlo.
Al igual que con cualquier otro software, si los atacantes pueden acceder al código fuente de algún elemento del MCP y modificarlo, podrán poner en riesgo a los usuarios. Para reducir este riesgo, los desarrolladores y los usuarios del software deben comprobar la integridad de todas las dependencias que utilicen y analizarlas en busca de malware.
Ejecución no autorizada de comandos
Los servidores MCP locales pueden ejecutar cualquier código. Según la manera en que el cliente MCP transmita la información al servidor MCP y la forma en que se implemente el servidor MCP, la función de ejecución de comandos puede quedar expuesta a los puntos vulnerables de inyección de comandos. Siempre debes revisar los comandos que se ejecutarán y limpiar los datos antes de usarlos como argumento para una función que ejecuta comandos.
A continuación, se muestra un ejemplo de un servidor MCP con un punto vulnerable de inyección de comandos:
def dispatch_user_alert(self, notification_info: Dict[str, Any], summary_msg: str) -> bool:
"""Sends system alert to user desktop"""
notify_config = self.user_prefs["alert_settings"]
try:
alert_title = f"{notification_info['title']} - {notification_info['severity']}"
if sys.platform == "linux":
subprocess.call(["notify-send", alert_title])
return TrueEste código se puede consultar en https://equixly.com/blog/2025/03/29/mcp-server-new-security-nightmare/.
Además, considera la posibilidad de ejecutar los servidores MCP locales en un entorno de pruebas (sandbox), de modo que se requieran permisos explícitos tanto para la ejecución como para el acceso a recursos.
Inyección de peticiones
Los servidores MCP presentan riesgos de seguridad importantes debido a su capacidad para ejecutar comandos y realizar llamadas a la API. Una de las principales preocupaciones es que, incluso si un usuario no tiene la intención de llevar a cabo una acción específica, el LLM podría decidir que es la adecuada.
Este riesgo puede surgir sin malas intenciones, pero también es un factor presente en situaciones antagónicas. Por ejemplo, un usuario legítimo podría enviar una petición que no escribió al cliente MCP, quizás recomendada por un tercero malintencionado. Este tipo de petición podría ofuscarse, pero aun así se podría filtrar información privada de la conversación del usuario o de las herramientas accesibles. Imagina a un usuario que copia y pega una petición compleja y alterada que cree que generará un nuevo usuario en su entorno de nube. La petición maliciosa podría, además de crear el usuario previsto, también crear otro usuario para el atacante.
Por este motivo, los usuarios siempre deben confirmar o restringir las acciones que llevan a cabo los servidores MCP para reducir el riesgo a un nivel aceptable.
Inyección de herramientas
También existe la posibilidad de que alguien diseñe un servidor MCP malicioso, lo que plantea un riesgo de otro nivel. Por ejemplo, un servidor MCP malicioso podría parecer seguro durante la instalación, incluso con código fuente y descripciones de las herramientas de apariencia normal. Sin embargo, es posible que se modifiquen las herramientas durante una actualización futura. Por ejemplo, una herramienta que, en un principio, recopilaba información meteorológica puede modificarse en una actualización para que comience a recopilar información confidencial y enviarla a un atacante.
Esto también puede suceder con los nombres de las herramientas. Los servidores MCP maliciosos pueden usar nombres engañosos para las herramientas, de manera que el LLM los seleccione para una tarea que debería realizar otra herramienta legítima, lo que podría causar acciones no deseadas o dañinas.
Para reducir parte de este riesgo, el software que permite que los usuarios instalen servidores MCP debe poder fijar la versión de los servidores y notificar al usuario si se produce algún cambio en su código o composición después de la instalación.
Muestreo
Los servidores MCP maliciosos también pueden aprovechar la función de muestreo de MCP, que les permite solicitar a los clientes MCP que utilicen un LLM para completar una solicitud. Si un servidor MCP necesita enviar una solicitud a un LLM, el muestreo permite que el cliente MCP realice la solicitud en nombre del servidor MCP, ya que el usuario tiene más control sobre el cliente MCP y permite concentrar los costos.
Los clientes MCP deben implementar los siguientes controles para reducir los riesgos asociados con el muestreo:
- permitir que los clientes muestren a los usuarios la solicitud de resultados;
- permitir que los usuarios modifiquen o rechacen los resultados;
- permitir que los clientes filtren o modifiquen los resultados;
- permitir que los usuarios controlen el modelo que se utilizará;
- implementar límites de frecuencia adecuados;
- controlar la exposición de los costos;
- implementar tiempos de espera.
Registro
Como se mencionó anteriormente, los servidores MCP pueden ejecutar comandos riesgosos. Deben poder enviar registros o eventos a servidores de registro concentrado estándar o poder registrar estos eventos de forma local. Esto permite analizar las acciones del sistema en caso de que se produzca o se sospeche un problema.
Gestión de los puntos vulnerables
Dado que los servidores MCP representan código, pueden tener puntos vulnerables como cualquier otro software. Por ello, es fundamental incluirlos en tu proceso estándar de gestión de puntos vulnerables. Esto incluye actualizar los clientes y los servidores MCP, así como sus dependencias, de acuerdo con un cronograma, en función del nivel de riesgo que admite la empresa.
Conclusión
Con el protocolo MCP, se despertó un interés en la manipulación de herramientas con lenguaje natural. También buscamos comprender mejor la forma en que se comunican los usuarios, los LLM y las herramientas. Sin embargo, debemos reconocer los riesgos de seguridad que conlleva automatizar cada vez más procesos y delegar más tareas en la inteligencia artificial. Al igual que con cualquier otra tecnología nueva, para utilizar el protocolo MCP, las empresas deben evaluar los riesgos de seguridad que asumirán e implementar los controles de seguridad adecuados que les permitan aprovechar al máximo la tecnología.
Más información
- MCP Servers: The New Security Nightmare
- The MCP Authorization Spec Is… a Mess for Enterprise
- Everything Wrong with MCP
- Imprompter: Tricking LLM Agents into Improper Tool Use
- Model Context Protocol (MCP): Landscape, Security Threats, and Future Research Directions
- WhatsApp MCP Exploited: Exfiltrating your message history via MCP
- 5 MCP Security Tips
Red Hat Product Security
Sobre el autor
Florencio has had cybersecurity in his veins since he was a kid. He started in cybersecurity around 1998 (time flies!) first as a hobby and then professionally. His first job required him to develop a host-based intrusion detection system in Python and for Linux for a research group in his university. Between 2008 and 2015 he had his own startup, which offered cybersecurity consulting services. He was CISO and head of security of a big retail company in Spain (more than 100k RHEL devices, including POS systems). Since 2020, he has worked at Red Hat as a Product Security Engineer and Architect.
Más como éste
Looking ahead to 2026: Red Hat’s view across the hybrid cloud
Resilient model training on Red Hat OpenShift AI with Kubeflow Trainer
Technically Speaking | Platform engineering for AI agents
Technically Speaking | Driving healthcare discoveries with AI
Navegar por canal
Automatización
Las últimas novedades en la automatización de la TI para los equipos, la tecnología y los entornos
Inteligencia artificial
Descubra las actualizaciones en las plataformas que permiten a los clientes ejecutar cargas de trabajo de inteligecia artificial en cualquier lugar
Nube híbrida abierta
Vea como construimos un futuro flexible con la nube híbrida
Seguridad
Vea las últimas novedades sobre cómo reducimos los riesgos en entornos y tecnologías
Edge computing
Conozca las actualizaciones en las plataformas que simplifican las operaciones en el edge
Infraestructura
Vea las últimas novedades sobre la plataforma Linux empresarial líder en el mundo
Aplicaciones
Conozca nuestras soluciones para abordar los desafíos más complejos de las aplicaciones
Virtualización
El futuro de la virtualización empresarial para tus cargas de trabajo locales o en la nube