Ein Sicherheitsforscher, der 24 Open-Source-MCP-Serverprojekte (Model-Control-Protocol) gescannt hat, deckte eine einzige, aber schwerwiegende Sandbox-Command-Injection-Schwachstelle auf, die auf der CVSS-Skala mit 9,8 bewertet wird. Der Fehler liegt in AgenticX, einem KI-Agenten-Framework der Mittelklasse, und ermöglicht es einem Angreifer, beliebige Shell-Befehle in den Docker-Container zu injizieren, in dem der Server läuft.

Warum MCP-Server wichtig sind

MCP ist der Klebstoff, der es autonomen KI-Agenten ermöglicht, mit externen Tools zu kommunizieren – Dateien, Datenbanken, Browsern und Ähnlichem. Entwickler betten einen MCP-Server in ihre Anwendungen ein, um einem Sprachmodell die Fähigkeit zu geben, auf reale Ressourcen zuzugreifen, diese zu lesen, zu beschreiben und darauf zu agieren. Das Protokoll selbst ist leichtgewichtig und weit verbreitet, aber die Maintainer der jeweiligen Projekte sind selbst dafür verantwortlich, den umgebenden Code abzusichern.

Groß angelegte MCP-Implementierungen wie Cline oder Aider erhalten bereits regelmäßige Audits und verfügen über ausgereifte Sicherheitsprozesse. Die hier untersuchten 24 Projekte liegen auf GitHub im „Mittelklasse“-Bereich mit zwischen 100 und 1.000 Sternen. Diese Repositories priorisieren oft die schnelle Bereitstellung von Funktionen gegenüber gehärtetem Code, was eine Schwachstelle für Nutzer schafft, die davon ausgehen, dass jeder Open-Source-MCP-Server standardmäßig sicher ist.

Der Scan

Der Forscher entwickelte einen Scanner, der nach fünf klassischen Angriffsmustern für Webanwendungen suchte:

  • Command Injection
  • Path Traversal
  • Server-Side Request Forgery (SSRF)
  • SQL-Injection
  • Sandbox-Escape

Das Durchlaufen des Scanners über 5.911 Quelldateien ergab 94 erste Warnmeldungen. Nach einer manuellen Triage erwies sich nur eine Meldung als echte Schwachstelle.

Der AgenticX-Bug im Detail

AgenticX erstellt Shell-Befehle, indem es vom Benutzer bereitgestellte Zeichenfolgen in Python-f-Strings interpoliert und das Ergebnis dann direkt an die Shell des Containers übergibt. Es erfolgt weder eine Validierung noch eine Maskierung (Quoting) von Dateipfaden. Ein bösartiger Prompt kann daher ein Semikolon oder andere Shell-Metazeichen injizieren, was dazu führt, dass der Container jeden vom Angreifer gewählten Befehl ausführt.

Der Forscher behob den Fehler im Code durch:

  1. Die Verwendung von shlex.quote(), um alle vom Sprachmodell bereitgestellten Pfade sicher zu maskieren.
  2. Das Hinzufügen expliziter Prüfungen auf Path-Traversal-Muster (../), bevor der Befehl konstruiert wird.

Ein erneuter Scan nach der Fehlerbehebung zeigte, dass das Risikoniveau drastisch sank, was bestätigte, dass die Maßnahme die Ursache behoben hat.

Gewinner und Verlierer

  • KI-Entwickler, die einen MCP-Server in ihre Produkte einbetten, haben nun ein konkretes Beispiel dafür, wie ein einziger fehlender Bereinigungsschritt eine gesamte Sicherheitskette unterbrechen kann. Behandeln Sie jeden Parameter, der von einem Sprachmodell kommt, als nicht vertrauenswürdige Eingabe, genau wie Sie es bei jedem externen API-Payload tun würden.

Die andere Seite der Medaille

Der Forscher betont, dass das MCP-Protokoll selbst solide bleibt. Der Fehler ist keine Designschwäche im Datenformat, sondern ein Programmierfehler in einer spezifischen Implementierung. Größere, gut geprüfte Projekte haben ähnliche Probleme bereits behoben, und die Open-Source-Community kann vom AgenticX-Patch lernen. Dennoch zeigt der Vorfall, dass „Mittelklasse“-Projekte trotz bescheidener Sternzahlen schwerwiegende Fehler enthalten können.

Fazit

Ein einziger ungeprüfter f-string in AgenticX verwandelte einen gesamten MCP-Server in eine Startrampe für die Ausführung beliebiger Codes. Dieser Vorfall beweist, dass die Sicherheit von KI-Agenten-Ökosystemen weniger vom Protokoll als vielmehr von einer disziplinierten Implementierung abhängt. Entwickler müssen jeden von einem LLM generierten Parameter als potenziell bösartig behandeln, Plattformen sollten Laufzeitschutzmaßnahmen erzwingen, und Sicherheitstools müssen sich weiterentwickeln, um die einzigartigen Vertrauenskette zu verstehen, die KI-Agenten erzeugen.

Quelle: dev.to/easterndev/i-scanned-24-mcp-server-projects-and-found-a-real-sandbox-command-injection-cvss-98-4k9h