- Was ist eine MCP-Tool-Vergiftung? MCP-Tool-Poisoning ist ein Angriff, bei dem schädliche Anweisungen in der Beschreibung eines Tools versteckt werden, das über das Model Context Protocol (MCP) zugänglich gemacht wird. Der KI-Agent liest und befolgt diese Anweisungen; der Benutzer sieht sie nie.
- Warum es funktioniert: Ein Agent behandelt jede Werkzeugbeschreibung als vertrauenswürdigen Kontext. Werkzeugvergiftung wandelt dieses Vertrauen in eine indirekte Eingabeaufforderung um.
- Was es kann: SSH-Schlüssel und Anmeldeinformationen exfiltrieren, Nachrichten umleiten oder den Agenten dazu bringen, andere, legitime Tools zu missbrauchen.
- Hauptvarianten: versteckte Anweisungen in Werkzeugbeschreibungen, Rug Pulls (ein Werkzeug ändert sich, nachdem Sie es genehmigt haben) und Tool Shadowing (ein Server manipuliert die Art und Weise, wie der Agent die Werkzeuge eines anderen Servers verwendet).
- Erste Verteidigung: Machen Sie sich mit den MCP-Servern und -Tools vertraut, die Ihre Agenten und Repositories verwenden, prüfen Sie diese vor der Einführung, legen Sie Versionen fest und beschränken Sie den Zugriff jedes Agenten auf bestimmte Bereiche.
Werkzeugvergiftung erklärt #
MCP-Tool-Poisoning ist eine Angriffsart gegen KI-Agenten, die das MCP-Tool verwenden. Modellkontextprotokoll, das offene standard Dadurch können Agenten Verbindungen zu externen Tools und Datenquellen herstellen. Jeder MCP-Server veröffentlicht eine Liste von Tools mit Namen, Beschreibung und Parametern. Das Agentenmodell liest diese Beschreibungen, um zu entscheiden, wann und wie die einzelnen Tools aufgerufen werden.
Bei einem Tool-Poisoning-Angriff versteckt der Angreifer Anweisungen in den Metadaten. Ein Tool, das wie ein harmloser Taschenrechner aussieht, kann Text enthalten, der das Modell anweist, eine private Datei zu lesen und deren Inhalt als Parameter zu übergeben. Der Benutzer, der das Tool freigibt, sieht eine kurze, unauffällige Bezeichnung. Das Modell sieht die vollständige Beschreibung und befolgt sie.
Sicherheitsforscher benannten und veröffentlichten die Angriffsklasse im April 2025 und beschrieben sie als eine spezielle Form der indirekten Prompt-Injection. Ihr Proof-of-Concept exfiltrierte SSH-Schlüssel und MCP-Konfigurationsdateien mithilfe eines manipulierten „add“-Tools. Seitdem dokumentiert die OWASP-Community die MCPtool-Vergiftung als eigenständigen Angriff, und akademische Benchmarks wie beispielsweise … MCPTox haben es mit realen MCP-Servern getestet.
Warum funktioniert Werkzeugvergiftung? #
Tool-Poisoning nutzt eine Diskrepanz zwischen dem, was Menschen überprüfen, und dem, was Modelle lesen:
- Beschreibungen bilden einen vertrauenswürdigen Kontext. MCP-Clients übermitteln Werkzeugbeschreibungen an das Modell als Anweisungen zur Verwendung des Werkzeugs, daher hat der dort verborgene Text eine tatsächliche Autorität.
- Dem Benutzer wird eine Zusammenfassung angezeigt. Die meisten Benutzeroberflächen zeigen den Namen des Werkzeugs und eine kurze Bezeichnung an, nicht die vollständige Beschreibung oder das Parameterschema.
- Die Agenten handeln mit realem Zugriff. Ein Codierungsagent verfügt oft über Dateisystem-, Shell- und Netzwerkzugriff sowie über die Anmeldeinformationen des Entwicklers. Was auch immer die manipulierte Anweisung verlangt, der Agent kann es in der Regel ausführen.
- MCP-Server sind Drittanbietercode. Viele werden mit einem einzigen Befehl aus öffentlichen Registries installiert, ohne dass es zu einer gründlichen Überprüfung kommt.
Deshalb stellt die Werkzeugvergiftung einen Schnittpunkt zweier Risiken dar: prompte Injektion und die Software-Lieferkette.le?
Arten der MCP-Werkzeugvergiftung #
Tool-Poisoning tritt in verschiedenen Formen auf. Sie alle missbrauchen das Vertrauen des Agenten in die Tool-Metadaten.
MCP-Tool-Vergiftung und die OWASP-Frameworks #
MCP-Tool-Poisoning lässt sich direkt auf die OWASP-Risikolisten für KI-Anwendungen abbilden:
ASI04 Agentic Lieferkettenschwachstellen, ASI01 Agentenziel-Hijacking und Fehlgebrauch des Werkzeugs ASI02 in den OWASP Top 10 für agentenbasierte Anwendungen. Unser Leitfaden dazu OWASP Agentic AI Top 10 erklärt jedes Risiko mit pipeline Beispiele für Ausnutzbarkeit und KI-gestützte Abhilfe öffnen eine Lösung pull requests wo Entwickler arbeiten.
LLM01 Sofortige Injektion in England, OWASP Top 10 für LLM-BewerbungenDa Werkzeugvergiftung eine Form der indirekten Prompt-Injektion darstellt.
Wie kann man das verhindern? #
Werkzeugvergiftungen lassen sich durch keine einzelne Maßnahme vollständig verhindern. Folgende Praktiken reduzieren das Risiko und den Schaden:
- Inventarisieren Sie jeden MCP-Server und jedes Tool. Man kann Tools, von denen man nicht weiß, dass sie von den Agenten verwendet werden, nicht überprüfen, sperren oder einschränken.
- Tierärzte vor der Adoption prüfen. Bevorzugen Sie verifizierte Herausgeber, lesen Sie die vollständigen Tool-Beschreibungen und Parameter und überprüfen Sie das Paket selbst auf Schadcode.
- Versionen anpinnen und Änderungen erkennen. Sperren Sie die MCP-Serverversionen und überprüfen Sie diese erneut, wenn sich eine Werkzeugdefinition ändert, damit ein unbemerkter Datenverlust nicht passieren kann.
- Prinzip der minimalen Berechtigungen. Geben Sie jedem Agenten nur die Werkzeuge, Dateien und Zugangsdaten, die er für seine Aufgabe benötigt, und vermeiden Sie langlebige, allgemeine Token.
- Erreger isolieren. Führen Sie Agenten in Sandboxes mit eingeschränktem Netzwerkzugriff aus, damit eine manipulierte Anweisung nicht an Ihre Geheimnisse gelangen oder Daten nach außen senden kann.
- Für sensible Vorgänge ist eine Genehmigung erforderlich. Bei Aktionen, die Daten senden, Berechtigungen ändern oder die Produktion betreffen, muss immer ein Mensch in den Prozess eingebunden sein.
- Aufrufe des Protokollierungstools. Protokollieren Sie, welche Tools ein Agent aufruft und mit welchen Parametern, damit Sie Anomalien untersuchen können.
Wie trägt Xygeni zur Verringerung des Werkzeugvergiftungsrisikos bei? #
Xygeni befasst sich mit den Aspekten der MCP-Werkzeugvergiftung, die Spuren hinterlassen, bevor ein Agent losfährt:
- Inventar: Xygeni KI-Sicherheit Erkennt die MCP-Server, -Tools, -Agenten und -Modelle in Ihren Repositories, ordnet zu, welcher Agent welchen MCP-Server aufruft, und exportiert alles als AI-BOM.
- Überprivilegierte Agenten: Es kennzeichnet MCP- und Tool-Server mit erhöhten Berechtigungen und langlebigen Anmeldeinformationen in Agentenkonfigurationen, wodurch die Reichweite einer manipulierten Anweisung eingeschränkt wird.
- Bösartige Anweisungen: Es überprüft die Fähigkeiten- und Agentenanweisungsdateien die Agenten steuern und bösartige Anweisungen abfangen, die keine Signatur erkennen kann.
- Schadpakete: Viele MCP-Server werden als npm- oder PyPI-Pakete vertrieben. Frühwarnung vor Malware analysiert neue Paketversionen, sobald diese veröffentlicht werden, und Shield blockiert schädliche Pakete auf Entwickler-Workstations, bevor diese installiert werden können.
FAQ #
Bei einer MCP-Tool-Vergiftung versteckt ein Angreifer Anweisungen in der Beschreibung eines Tools, das ein KI-Agent verwenden kann. Der Agent liest den versteckten Text und folgt den Anweisungen, beispielsweise durch das Auslesen von Dateien, während der Benutzer lediglich einen harmlosen Tool-Namen sieht.
Tool-Poisoning ist eine Form der indirekten Prompt-Injektion. Der Unterschied liegt darin, wo die schädliche Anweisung enthalten ist: in den Metadaten des Tools, denen der Agent vertraut, anstatt in einem Dokument, einer Webseite oder einer Benutzernachricht.
Ein „Rug Pull“ tritt auf, wenn ein MCP-Server die Definition eines Tools ändert, nachdem Sie diese genehmigt haben. Das von Ihnen geprüfte Tool wird dann nicht mehr von Ihrem Agenten verwendet. Daher ist es unerlässlich, Versionen festzulegen und Änderungen erneut zu prüfen.
Erstellen Sie zunächst eine Bestandsaufnahme aller MCP-Server und -Tools, die Ihre Agenten und Repositories verwenden. Überprüfen Sie anschließend jedes Tool hinsichtlich seines Herausgebers, der benötigten Berechtigungen und der Installationsmethode. Tools wie Xygeni AI Security erstellen diese Bestandsaufnahme automatisch anhand Ihres Codes.
