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.
Funktionsliste
- Erkennung MCP ob der Dienst für böswillige Zwecke ausgenutzt werden kann.
- Werkzeugfunktionen bereitstellen
get_environment_variables
und 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:
- Ü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.
- 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
- Installation von Abhängigkeiten
brauchenfastmcp
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
.
- 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.
- 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 sindget_environment_variables
Dieser 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 AgentenAuswahlPoliceAgent
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 Gebrauchmain.py
Der 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
- MCP Service Security Detection
Entwickler können damit den MCP-Dienst auf Leckage-Risiken testen. - Tool Sicherheitsvalidierung
Sicherheitsteams nutzen es, um das Zugriffsverhalten zu simulieren und Schutzmaßnahmen zu validieren. - Demonstration der Lehre
Bildungseinrichtungen nutzen es, um die Risiken von MCP-Diensten aufzuzeigen und das Sicherheitsbewusstsein zu fördern.
QA
- 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. - 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. - Wie kann ich sie zur Verbesserung der Sicherheit einsetzen?
Überprüfen des Quellcodes, Isolieren von Läufen, Bereinigen sensibler Daten, Überprüfen des Toolverhaltens.