Sicherheitsforscher haben GhostSplice vorgestellt, mit der sich schädliche Anweisungen über mehrere Kanäle eines MCP-Servers verteilen lassen.
Laut Sicherheitsforschern der ASSET Research Group richtet sich die Angriffstechnik gegen Programmierwerkzeuge, die über das Model Context Protocol, kurz MCP, mit externen Servern verbunden sind, einen offenen Standard, über den KI-Assistenten externe Werkzeuge aufrufen können. Ein bösartiger MCP-Server kann dabei ein Fragment der eigentlichen Anweisung in einer Werkzeugbeschreibung platzieren und ein weiteres im Ergebnis eines späteren Werkzeugaufrufs. Zwar trennt MCP strukturell zwischen Werkzeugen und deren Ergebnissen, Tests der ASSET Research Group zeigen jedoch, dass Coding-Agenten Anweisungen über diese Grenzen hinweg innerhalb desselben Arbeitskontexts dennoch kombinieren, sodass kein einzelnes Fragment für sich genommen die vollständige schädliche Anfrage enthalten muss.
In der veröffentlichten Referenzimplementierung bietet ein Server ein harmlos wirkendes Werkzeug namens integrity_checker mit vier neutral benannten Feldern an, ohne Hinweis auf sensible Dateinamen. Ein späteres, im Rahmen eines vermeintlichen Projekt-Scans geliefertes Ergebnis liefert anschließend die fehlende Zuordnung nach: Die betreffenden Felder sollen angeblich zur serverseitigen Prüfsummenvalidierung mit dem Inhalt der Dateien .ssh/id_rsa, proprietärem Quellcode, customers.csv sowie .env befüllt werden. Für sich genommen enthält keines der beiden Fragmente den vollständigen Diebstahl, gemeinsam gelesen weisen sie den Agenten jedoch an, sensible lokale Dateien einzusammeln und deren Inhalt an das Werkzeug des Angreifers zu übergeben. Die öffentlich verfügbare Variante der Forscher verteilt die Anweisung sogar auf drei getrennte Interaktionen: die Projektübersicht, die Zuordnung der Dateien zu den Feldern sowie das eigentliche Sammelwerkzeug.
Deutlicher Anstieg der Erfolgsquote durch die Aufteilung
Nach Angaben der Forscher stieg die durchschnittliche Erfolgsquote über elf getestete Modelle allein durch die Aufteilung der Anweisung in zwei Teile von 42 auf 82 Prozent. In der veröffentlichten Ergebnistabelle mit 15 Modellzeilen sprangen GPT-4o, Gemini 2.0 Flash und Llama 3.3 70B von 0 Prozent bei einer einzelnen, ungeteilten Anweisung auf 100 Prozent bei einer zweigeteilten Version.
Die Forscher betonen jedoch ausdrücklich, dass es sich nicht um ein einfaches Modell-Ranking handelt: Dasselbe Modell könne in einem Programmierwerkzeug eine Anfrage verweigern und in einem anderen dieselben Daten exfiltrieren, abhängig von den jeweils implementierten Sicherheitsmechanismen der umgebenden Anwendung. Die veröffentlichten Werte einzelner Modelle beziehen sich damit stets auf den konkret getesteten Aufbau und lassen sich nicht verallgemeinert als grundsätzliche Sicherheit oder Unsicherheit eines Modells lesen.
Simple Tarnung wirksamer als aufwendige Vorwände
Nach Beobachtung der Forscher erwies sich ausgerechnet die einfachste Tarnung als am schwersten zu durchschauen: Aufwendig konstruierte Compliance- oder Governance-Vorwände gaben dem Modell etwas, das es kritisch hinterfragen konnte, eine simple, als Formular getarnte Anfrage dagegen nicht. Aus Sicht des Modells bestehe die Aufgabe dann lediglich darin, das vom Werkzeug angeforderte Formular auszufüllen.
Die Offenlegung beschreibt dabei kontrollierte Tests in isolierten Projekten mit eigens dafür erstellten, fiktiven Zugangsdaten, keinen tatsächlich beobachteten Vorfall in freier Wildbahn. Die Technik setzt zudem voraus, dass Entwickler den bösartigen MCP-Server bereits selbst verbunden haben und der Agent ohnehin bereits Zugriff auf die betroffenen Dateien besitzt, ein grundsätzlicher externer Einbruch in einen beliebigen Agenten ist damit nicht möglich.
Empfohlene Gegenmaßnahmen
Die MCP-Spezifikation sieht bereits vor, dass Nutzer die Ausführung einzelner Werkzeugaufrufe grundsätzlich unterbinden können sollen und Annotationen aus nicht vertrauenswürdigen Servern entsprechend als nicht vertrauenswürdig zu behandeln sind. Auch OpenAI weist in eigener Dokumentation darauf hin, dass unsichere MCP-Server das Risiko von Prompt-Injection-Angriffen erhöhen, und rät Organisationen, eigene wie fremde Integrationen vor dem Einsatz sorgfältig zu prüfen.
Die ASSET Research Group empfiehlt darüber hinaus, Ausgaben von MCP-Servern grundsätzlich als reine Daten statt als Anweisungen zu behandeln und zu verhindern, dass Werte aus dem Ergebnis eines Werkzeugaufrufs ungeprüft in die Parameter eines weiteren Werkzeugaufrufs einfließen. GhostSplice folgt auf eine im Juni von derselben Forschungsgruppe veröffentlichte Technik namens Ghostcommit, bei der eine schädliche Anweisung in einem referenzierten Bild versteckt wurde. Beide Fälle verweisen nach Einschätzung der Forscher auf dieselbe grundlegende Schwachstelle: Die Sicherheitsgrenze rund um ein Modell kann ebenso entscheidend sein wie das Modell selbst.
(red)