AI Personal Learning
und praktische Anleitung
讯飞绘镜

Open-Source-Tool zur Erkennung von Sicherheitsrisiken in MCP-Diensten

Allgemeine Einführung

mcp-is-dangerous ist ein Open-Source-Tool, das von Shaojie Jiang auf GitHub entwickelt wurde. Es hilft Benutzern, die Sicherheitsrisiken des MCP-Dienstes (Model Context Protocol) bei der Verwendung von KI-Tools durch einfachen Python-Code zu erkennen. Das Tool zeigt potenzielle Bedrohungen auf, bei denen externe Tools auf Umgebungsvariablen oder Dateien zugreifen können, und zielt darauf ab, Benutzer auf Sicherheitsprobleme hinzuweisen. Es ist kompatibel mit dem Programm des Autors erweiterbare Agenten Projektbezogen, wobei neben den Risiken auch die Einfachheit der gemeinsamen Nutzung von Tools hervorgehoben wird. Die Projekte sind nur für Lehr- und Testzwecke gedacht und unterstützen keine böswillige Nutzung.

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


 

Funktionsliste

  • Erkennung MCP ob der Dienst für böswillige Zwecke ausgenutzt werden kann.
  • Werkzeugfunktionen bereitstellen get_environment_variablesund zeigt den Zugriff auf Umgebungsvariablen an.
  • Aufzeigen der Sicherheitslücken des MCP-Dienstes anhand von Codebeispielen.
  • Unterstützung für den Anschluss benutzerdefinierter MCP-Clients zum Testen der Dienstsicherheit.
  • Erinnern Sie die Benutzer daran, in einer isolierten Umgebung zu arbeiten, um das Risiko zu überprüfen.

 

Hilfe verwenden

Installation und Ausführung

Dieses Tool erfordert eine grundlegende Python-Umgebung. Hier sind die detaillierten Schritte:

  1. Überprüfen der Python-Umgebung
    Stellen Sie sicher, dass Python 3.8 oder höher installiert ist. Geben Sie in das Terminal ein:
python --version

Wenn Sie es nicht installiert haben, können Sie es von der Python-Website herunterladen.

  1. Tools herunterladen
    Führen Sie den folgenden Befehl im Terminal aus, um lokal zu klonen:
git clone https://github.com/ShaojieJiang/mcp-is-dangerous.git

Rufen Sie dann den Katalog auf:

cd mcp-is-dangerous
  1. Installation von Abhängigkeiten
    brauchen fastmcp Bibliothek, um den MCP-Dienst auszuführen. Installationsmethode:
pip install fastmcp

Aus Sicherheitsgründen ist eine virtuelle Umgebung verfügbar:

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

dann laufen pip install fastmcp.

  1. Einsteigerpaket
    Führen Sie es in dem Verzeichnis aus:
python main.py

Wenn das Terminal "Server läuft..." anzeigt, wird das Tool gestartet. Wenn das Terminal "Server running..." anzeigt, ist das Tool gestartet.

  1. Testfunktion
    Erkennen mit Befehlszeile:
uvx mcp-is-dangerous

Beispielhafte Ausgabe:

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

Hauptfunktionen

  • Erkennung des Zugriffs auf Umgebungsvariablen
    Die wichtigsten Funktionen sind get_environment_variablesDieser Code wird verwendet, um zu prüfen, ob der MCP-Dienst die Umgebungsvariablen abrufen kann. Der Code lautet wie folgt:
@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)

Die Ausgabe zeigt den Variablennamen und einen Teil des Wertes (die ersten 5 Zeichen, die folgenden sind als "***" versteckt). Sie können den Code ändern, um die vollständigen Daten anzuzeigen, müssen aber in einer sicheren Umgebung arbeiten.

  • Kombiniert mit der Erkennung erweiterbarer Agenten
    Bei Verwendung von erweiterbare AgentenAuswahl PoliceAgent Modus, um dieses Tool zu verbinden. Nach der Ausführung können Sie die Ausgabe beobachten und mögliche Risiken erkennen.
  • Benutzerdefinierte Client-Tests
    Wenn Sie mit Ihrem eigenen MCP-Client ermitteln, konfigurieren Sie ihn wie folgt:

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

    Speichern Sie sie als JSON-Datei und starten Sie den Client, um sie zu erkennen.

Empfehlungen für Sicherheitstests

  • Betrieb in isolierter Umgebung
    Das Testen von Docker-Containern wird empfohlen:

    docker run -it --rm python:3.8 bash
    

    Installation und Ausführung im Container, um Auswirkungen auf das lokale System zu vermeiden.

  • Bereinigung sensibler Daten
    Entfernen Sie beispielsweise sensible Informationen aus Umgebungsvariablen, bevor Sie das Programm ausführen:

    unset OPENAI_API_KEY
    
  • Überprüfung des Quellcodes
    Inspektion vor Gebrauch main.pyDer Code ist kurz und eignet sich zur Überprüfung der Sicherheit des MCP-Dienstes.

zusätzlicher Hinweis

Dieses Tool hilft den Benutzern, potenzielle Schwachstellen zu erkennen, indem es den Zugriff des MCP-Dienstes auf Umgebungsvariablen simuliert. Die Beamten betonen, dass es sich um ein Erkennungswerkzeug handelt, das in Verbindung mit Sicherheitspraktiken wie der Überprüfung von Code und der isolierten Ausführung verwendet werden muss.

 

Anwendungsszenario

  1. MCP Service Security Detection
    Entwickler können damit den MCP-Dienst auf Leckage-Risiken testen.
  2. Tool Sicherheitsvalidierung
    Sicherheitsteams nutzen es, um das Zugriffsverhalten zu simulieren und Schutzmaßnahmen zu validieren.
  3. Demonstration der Lehre
    Bildungseinrichtungen nutzen es, um die Risiken von MCP-Diensten aufzuzeigen und das Sicherheitsbewusstsein zu fördern.

 

QA

  1. Wozu dient dieses Tool?
    Es erkennt, ob der MCP-Dienst für den Zugriff auf Umgebungsvariablen ausgenutzt werden kann, und hilft den Benutzern, Sicherheitsrisiken zu erkennen.
  2. Ist es sicher zu laufen?
    Das Tool selbst wird zu Testzwecken verwendet und ist nicht bösartig. Wenn es jedoch in einer realen Umgebung ausgeführt wird, können Daten offengelegt werden, daher wird eine isolierte Umgebung empfohlen.
  3. Wie kann ich sie zur Verbesserung der Sicherheit einsetzen?
    Überprüfen des Quellcodes, Isolieren von Läufen, Bereinigen sensibler Daten, Überprüfen des Toolverhaltens.
Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " Open-Source-Tool zur Erkennung von Sicherheitsrisiken in MCP-Diensten
de_DEDeutsch