Eine neue Studie wirft ein dringliches Schlaglicht auf die Sicherheit agentischer KI-Systeme – und zeigt, wie leicht selbst erfahrene Entwickler unbewusst gefährliche Muster in ihre Tools einbauen.
Das Forschungsteam hinter Bawbel analysierte kürzlich die 100 meistgenutzten Modellen für agentische Komponenten (MCP) auf Smithery, eine der beliebtesten Plattformen für diese Technologien. Das Ergebnis: 22 Server wiesen mindestens eine Sicherheitslücke auf, insgesamt wurden 28 Befunde dokumentiert – davon vier als kritisch und 24 als hoch eingestuft.
Was genau wurde untersucht?
MCP-Server sind technische Schnittstellen, die agentischen KI-Systemen (wie Modellen von Anthropic oder Mistral) Zugriff auf externe Tools, Datenbanken oder APIs gewähren. Der Smithery-Registrierungsdienst stellt eine öffentliche API bereit, über die Entwickler Server-Details, Tool-Beschreibungen und Konfigurationsschemata abrufen können – sogar mit einem kostenlosen API-Schlüssel.
Das Bawbel-Team entwickelte dazu einen schlanken Python-Scanner namens smithery_scan.py, der folgende Schritte durchführt:
- Abrufen der Server-Tool-Beschreibungen über die Smithery-API
- Speichern der Beschreibungen in temporären Dateien
- Ausführen des Scanners
bawbelgegen diese Dateien
Der Scan-Prozess nutzt dabei eine Sandbox-Umgebung mit aktivierter Sicherheitsschicht, um potenzielle Angriffe zu simulieren. Alle relevanten Einstellungen und Abhängigkeiten wurden in einer kurzen Konfigurationsanleitung zusammengefasst:
pip install "bawbel-scanner[sandbox]"
export BAWBEL_SANDBOX_ENABLED=true
export SMITHERY_API_KEY=dein_kostenloser_api_key
bawbel version --showMit diesen Vorbereitungen startete das Team den Scan gegen die Top 100 Server auf Smithery. Jeder Server wurde systematisch auf typische Angriffsvektoren überprüft, darunter Tool-Beschreibungs-Injektionen, Datenexfiltrations-Muster und Inhaltsfehlanpassungen.
Die häufigsten Sicherheitsbefunde im Detail
Die Mehrzahl der entdeckten Muster ließ sich auf Tool-Beschreibungs-Injektionen zurückführen. Dabei enthalten die Beschreibungen von Tools (die normalerweise die Funktionsweise erklären sollten) Anweisungen, die gezielt den Agent beeinflussen – etwa Warnungen vor Missbrauch oder Instruktionen wie „Do not call without authentication“.
Besonders auffällig waren Beispiele aus den untersuchten Servern:
- Context7: „IMPORTANT: Do not...“ in der Tool-Beschreibung
- Google Sheets: „WARNING: Do not...“ als Anweisung für den Agent
- cultural-intelligence: „IMPORTANT: Always...“ als Instruktionsmuster
- Senzing: „Before calling this tool...“ als scheinbare Dokumentation
- Gantta: „before calling this tool...“ mit ähnlichem Muster
- Brave Search: „before using this tool...“ als scheinbar harmlose Dokumentation
Die Forscher betonen jedoch, dass viele dieser Muster wahrscheinlich auf übervorsichtige Entwickler zurückzuführen sind, die etwa in der Tool-Beschreibung schreiben: „Do not call this without proper authentication“. Der entscheidende Unterschied liegt darin, dass ein Agent diese Anweisungen wortwörtlich interpretiert – während ein menschlicher Nutzer die Absicht dahinter erkennt.
Ein weiteres häufiges Muster war die Datenexfiltration durch Kodierungsmuster in Tool-Antworten. Dabei nutzen Angreifer Kodierungsmethoden wie Base64 oder URL-Encoding, um sensible Daten durch die normalen Tool-Antworten zu schmuggeln. Der Scanner Bawbel verwendet konservative YARA-Regeln, die bereits bei der Erwähnung von „encode“ oder ähnlichen Mustern anschlagen.
Zu den betroffenen Servern zählten unter anderem:
- Jina AI
- troystack
- Name Whisper
Ein Server blieb in der Analyse anonym, da die Daten nicht öffentlich zugänglich sind.
Seltene, aber besonders interessante Befunde
Neben den häufigen Mustern entdeckte der Scanner auch einige ungewöhnliche Sicherheitslücken, die besondere Aufmerksamkeit verdienen:
- Blockscout MCP Server: Enthielt den Ausdruck „exhaust the context“ in einer Tool-Beschreibung. Dieser spezifische Ausdruck könnte auf eine Manipulation des Kontextfensters hindeuten – etwa darauf, dass der Agent dazu aufgefordert wird, den verfügbaren Speicher für Tools gezielt zu reduzieren.
- AWS Docs und Regions: Enthielt das Muster „Call this tool with“ in einer Tool-Beschreibung. Dieses Muster könnte auf eine dynamische Tool-Aufruf-Injektion hindeuten, bei der Angreifer kontrollierte Parameter in Tool-Aufrufe einbauen.
- Clear Thought 1.5 und Slack: Beide Server wiesen Muster mit dem Wort „retain“ auf, die auf Mehrfachangriffe durch Persistenz hindeuten könnten. Allerdings räumen die Forscher ein, dass dieser Scanner eine hohe Rate an False Positives aufweisen könnte.
- Exa Websets: Enthielt eine Tool-Beschreibung, die den Agent dazu aufforderte, gezielt den „Namen des CEO“ aus Webseiten zu extrahieren.
- sbb-mcp: Enthielt ein Muster mit der Anfrage nach „Geburtsdatum“ in Tool-Beschreibungen.
- strale: Enthielt eine Tool-Beschreibung, die auf die Extraktion von Daten aus URLs abzielte.
Die Forscher weisen darauf hin, dass viele dieser Muster wahrscheinlich auf legitime Tools zurückzuführen sind, die legitime Funktionen ausführen. Der Scanner Bawbel erkennt dabei lediglich Muster und keine Absichten der Entwickler.
Ein Blick auf die untersuchten MCP-Server
Die Smithery-Plattform bietet eine öffentliche API, über die Entwickler Server-Details und Tool-Beschreibungen abrufen können – selbst mit einem kostenlosen API-Schlüssel. Das Bawbel-Team nutzte diese Möglichkeit, um einen automatisierten Scan-Prozess zu entwickeln.
Der Scan-Algorithmus durchläuft dabei folgende Schritte:
- Abrufen der Server-Listen und Tool-Beschreibungen über die Smithery-API
- Speichern der Beschreibungen in temporären Dateien
- Ausführen des Scanners
bawbelgegen diese Dateien
Ein Beispiel für die Konfiguration des Scanners sah wie folgt aus:
import requests
from bawbel_scanner import Scanner
# API-Konfiguration
SMITHERY_API_KEY =KI-Zusammenfassung
Smithery'deki 100 MCP sunucusunun 22'sinde güvenlik açığı bulundu. Kritik ve yüksek riskli tehditler neler? Geliştiriciler için acil önlemler ve tarama yöntemleri.