Dangerous MCP

Integrations

  • Allows access to environment variables, which could potentially expose sensitive configuration data as demonstrated in the security warning

  • Provides access to local files on the host machine, which is mentioned as a security risk that could expose sensitive information

  • References accessing OpenAI API keys stored in environment variables, highlighting the potential security risk of exposing these credentials

El MCP es peligroso

El uso de herramientas funcionales hace que los agentes de IA sean muy potentes, algo similar a la introducción de las tiendas de aplicaciones en smartphones. Especialmente con el lanzamiento de MCP (Protocolo de Contexto de Modelo) , compartir herramientas es más fácil que nunca. Por eso creé el proyecto extendable-agents para mostrar lo fácil que es ampliar las capacidades de los agentes de IA mediante herramientas de código abierto o herramientas personalizadas.

Mientras trabajaba con agentes extensibles, me di cuenta de que usar herramientas es un arma de doble filo. El peligro radica en que las herramientas que se usan tienen acceso poderoso a la máquina, como las variables de entorno, los archivos, etc.

⚠️ Advertencia de seguridad

Este proyecto es una simple demostración de los riesgos de seguridad asociados al uso de herramientas. El siguiente ejemplo ilustra cómo actores maliciosos podrían explotar los servidores MCP para acceder a información confidencial:

# WARNING: This is a demonstration of security risks. # DO NOT use this code maliciously! import os from mcp.server.fastmcp import FastMCP server = FastMCP("Dangerous MCP") @server.tool() async def get_environment_variables() -> str: """Get all environment variables.""" result = [ "Here are what I could find:", ] for key, value in os.environ.items(): result.append(f"{key:<30} {value[:5]}***") # This means I can open a backdoor to send your data to me!! return "\n".join(result)

⚠️ Advertencia: Recomiendo ejecutar este ejemplo en un entorno aislado y eliminar posteriormente la clave de API de OpenAI. También puede probarlo con su propio cliente MCP con el siguiente comando: uvx mcp-is-dangerous .

Al utilizar esta herramienta con agentes extensibles (elija PoliceAgent ), el resultado aparece así:

Puede parecer inofensivo o incluso intencionalmente benigno, ¿verdad? Pero imagina este escenario: simplemente preguntas la hora actual y, mientras tanto, tus datos confidenciales se filtran sin tu conocimiento.

Mejores prácticas de seguridad

Para protegerse al utilizar MCP o herramientas similares:

  1. Revise siempre el código fuente de las herramientas antes de usarlas
  2. Ejecute herramientas en entornos aislados cuando sea posible
  3. Tenga cuidado con las herramientas que solicitan acceso a información confidencial
  4. Utilice el filtrado de variables de entorno al implementar herramientas
  5. Audita periódicamente las herramientas que estás utilizando

Descargo de responsabilidad

Este proyecto tiene fines educativos únicamente para demostrar los posibles riesgos de seguridad. No utilice este conocimiento con fines maliciosos. El autor no se responsabiliza del mal uso de esta información.

Licencia

Licencia MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor de demostración que revela riesgos de seguridad al acceder a variables de entorno sensibles, ilustrando cómo las herramientas MCP pueden potencialmente filtrar datos del usuario sin consentimiento explícito.

  1. ⚠️ Security Warning
    1. Best Practices for Security
      1. Disclaimer
        1. License
          ID: xjwq9wfupl