Herramienta de código abierto para detectar riesgos de seguridad en los servicios MCP

Introducción general

mcp-is-dangerous es una herramienta de código abierto desarrollada por Shaojie Jiang en GitHub. Ayuda a los usuarios a detectar riesgos de seguridad en el uso de servicios MCP (Model Context Protocol) para herramientas de IA mediante un sencillo código Python. La herramienta muestra las amenazas potenciales cuando herramientas externas pueden acceder a variables de entorno o archivos, y pretende alertar a los usuarios sobre problemas de seguridad. Es compatible con la aplicación del autor agentes extensibles Proyectos relacionados, que ponen de relieve la facilidad de compartir herramientas junto con los riesgos. Los proyectos tienen fines educativos y de prueba y no admiten usos malintencionados.

检测MCP服务安全风险的开源工具

 

Lista de funciones

  • detección MCP Si el servicio puede ser explotado con fines maliciosos.
  • Funciones de la herramienta get_environment_variablesmostrando el acceso a las variables de entorno.
  • Revelar la vulnerabilidad de seguridad del servicio MCP con ejemplos de código.
  • Soporte para conectar clientes MCP personalizados para probar la seguridad del servicio.
  • Recuerde a los usuarios que deben ejecutarlo en un entorno aislado para verificar el riesgo.

 

Utilizar la ayuda

Cómo instalar y ejecutar

Esta herramienta requiere un entorno básico de Python. Aquí están los pasos detallados:

  1. Comprobación del entorno Python
    Asegúrese de que Python 3.8 o posterior está instalado. Escriba en el terminal:
python --version

Si no lo tiene instalado, puede descargarlo del sitio web de Python.

  1. Descargar herramientas
    Ejecute el siguiente comando en el terminal para clonar localmente:
git clone https://github.com/ShaojieJiang/mcp-is-dangerous.git

A continuación, vaya al catálogo:

cd mcp-is-dangerous
  1. Instalación de dependencias
    necesita fastmcp para ejecutar el servicio MCP. Método de instalación:
pip install fastmcp

Por razones de seguridad, se dispone de un entorno virtual:

python -m venv venv
source venv/bin/activate  # Windows 用 venv\Scripts\activate

a continuación, ejecute pip install fastmcp.

  1. kit de inicio
    Ejecútalo en el directorio:
python main.py

Cuando el terminal muestra "Servidor en ejecución...", se inicia la herramienta. Cuando el terminal muestra "Servidor en ejecución...", se inicia la herramienta.

  1. función de prueba
    Detectar con línea de comandos:
uvx mcp-is-dangerous

Ejemplo de salida:

Here are what I could find:
PATH                          /usr/***
HOME                          /home/***

Funciones principales

  • Detección del acceso a variables de entorno
    Las funciones básicas son get_environment_variablesEste código se utiliza para comprobar si el servicio MCP puede obtener las variables de entorno. El código es el siguiente:
@server.tool()
async def get_environment_variables() -> str:
result = ["Here are what I could find:"]
for key, value in os.environ.items():
result.append(f"{key:<30} {value[:5]}***")
return "\n".join(result)

La salida muestra el nombre de la variable y parte del valor (los 5 primeros caracteres, los siguientes ocultos como "***"), puede modificar el código para ver los datos completos, pero necesita operar en un entorno seguro.

  • Combinado con la detección de agentes extensibles
    Si utiliza agentes extensiblesSelección PoliceAgent para conectar esta herramienta. Después de ejecutarlo, puede observar la salida y detectar posibles riesgos.
  • Pruebas de cliente personalizadas
    Si realiza la detección con su propio cliente MCP, configúrelo del siguiente modo:

    {
    "mcpServers": {
    "dangerous-mcp": {
    "command": "python",
    "args": ["main.py"]
    }
    }
    }
    

    Guárdelo como un archivo JSON y ejecute el cliente para detectarlo.

Recomendaciones para las pruebas de seguridad

  • Funcionamiento en entornos aislados
    Se recomienda probar los contenedores Docker:

    docker run -it --rm python:3.8 bash
    

    Instalar y ejecutar dentro del contenedor para evitar el impacto en el sistema local.

  • Limpieza de datos sensibles
    Elimine la información sensible de las variables de entorno antes de ejecutar, por ejemplo:

    unset OPENAI_API_KEY
    
  • Revisión del código fuente
    Inspección previa al uso main.pyEl código es corto y adecuado para verificar la seguridad de los servicios MCP.

nota complementaria

Esta herramienta ayuda a los usuarios a detectar posibles vulnerabilidades simulando el acceso del servicio MCP a variables de entorno. Las autoridades subrayan que se trata de una herramienta de detección y que debe utilizarse junto con prácticas de seguridad como la revisión del código y la ejecución aislada.

 

escenario de aplicación

  1. Detección de seguridad de servicios MCP
    Los desarrolladores pueden utilizarlo para probar el servicio MCP en busca de riesgos de fuga.
  2. Validación de la seguridad de las herramientas
    Los equipos de seguridad lo utilizan para simular comportamientos de acceso y validar medidas de protección.
  3. Demostración didáctica
    Las organizaciones educativas lo utilizan para demostrar los riesgos de los servicios de MCP y promover la concienciación sobre la seguridad.

 

CONTROL DE CALIDAD

  1. ¿Qué hace esta herramienta?
    Detecta si el servicio MCP puede ser explotado para acceder a variables de entorno y ayuda a los usuarios a identificar riesgos de seguridad.
  2. ¿Es seguro correr?
    La herramienta en sí se utiliza para pruebas y no es maliciosa. Sin embargo, ejecutarla en un entorno real puede exponer datos, por lo que se recomienda un entorno aislado.
  3. ¿Cómo puedo utilizarlo para mejorar la seguridad?
    Comprobar el código fuente, aislar las ejecuciones, limpiar los datos sensibles, verificar el comportamiento de las herramientas.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...