Verdammt verwundbarer MCP-Server
Dieses Dokument gibt einen Überblick über die Aktualisierungen am Projekt Damn Vulnerable Model Context Protocol (DVMCP), um es mit der Server-Sent-Events-Implementierung (SSE) von Cursor kompatibel zu machen.
Das ursprüngliche DVMCP-Projekt wurde erweitert, um Cursors SSE-Implementierung zu unterstützen, sodass die Challenge-Server direkt über Cursor aufgerufen werden können. Dadurch werden die Challenges zugänglicher und realistischer, da sie mit einem praxisnahen MCP-Client getestet werden können.
Jeder Challenge-Server besitzt jetzt eine SSE-kompatible Version (server_sse.py), die Folgendes implementiert:
SseServerTransport-Klasse der MCP-Bibliothek/sse-Endpunktsdamn-vulnerable-mcs/
├── challenges/
│ ├── easy/
│ │ ├── challenge1/
│ │ │ ├── server.py # Original server
│ │ │ └── server_sse.py # SSE-compatible server
│ │ ├── challenge2/
│ │ │ ├── server.py
│ │ │ └── server_sse.py
│ │ └── challenge3/
│ │ ├── server.py
│ │ └── server_sse.py
│ ├── medium/
│ │ ├── challenge4/
│ │ │ ├── server.py
│ │ │ └── server_sse.py
│ │ ├── challenge5/
│ │ │ ├── server.py
│ │ │ └── server_sse.py
│ │ ├── challenge6/
│ │ │ ├── server.py
│ │ │ └── server_sse.py
│ │ └── challenge7/
│ │ ├── server.py
│ │ └── server_sse.py
│ └── hard/
│ ├── challenge8/
│ │ ├── server.py
│ │ └── server_sse.py
│ ├── challenge9/
│ │ ├── server.py
│ │ └── server_sse.py
│ └── challenge10/
│ ├── server.py
│ └── server_sse.py
├── docs/
│ ├── cursor_sse_compatibility.md # This document
│ └── ... (other documentation)
├── start_sse_servers.sh # Script to start all SSE servers
└── requirements.txt # Updated dependencies
Sie können einzelne Server ausführen:
python3 challenges/easy/challenge1/server_sse.py
Oder Sie verwenden das bereitgestellte Skript, um alle Server zu starten:
./start_sse_servers.sh
So verbinden Sie sich über Cursor mit einem SSE-kompatiblen Server:
http://localhost:9001/sse)Die folgenden Abhängigkeiten wurden hinzugefügt, um die SSE-Kompatibilität zu unterstützen:
fastapi>=0.95.0
uvicorn>=0.21.1
httpx>=0.24.0
mcp[cli]>=0.5.0
starlette>=0.27.0
Jeder Challenge-Server verwendet einen eindeutigen Port:
Die SSE-Implementierung weist weiterhin alle Schwachstellen der ursprünglichen Implementierung auf, wodurch die Challenges für Sicherheitsforscher lehrreich bleiben.
Detaillierte Implementierungsinformationen finden Sie im Cursor-SSE-Kompatibilitätshandbuch.