Confused Deputy: wenn dein Agent fremde Befehle mit deinen Rechten ausführt
Von Jochen Maurer
Vektor 3 der Serie Fable 5 — war es da, ist es weg. Zurück zum Hub.
Der Confused Deputy ist kein neues Konzept aus der AI-Welt — der Begriff stammt aus der klassischen Sicherheitsliteratur. In agentischen LLM-Systemen bekommt er nur eine besonders scharfe Schneide, weil die „Verwirrung” des Stellvertreters trivial auslösbar ist.
Was es ist
Ein Agent mit Tool-Zugriff ist ein verwirrbarer Stellvertreter: Er handelt mit seinen Rechten im Auftrag von jemandem, der diese Rechte nicht hat. Kombiniert mit indirekter Prompt Injection wird das gefährlich. Eine injizierte Anweisung in einem Dokument bringt den Agenten dazu, ein Tool aufzurufen, für das der eigentliche Nutzer nie autorisiert war — eine Datenbank zu leeren, eine Zahlung auszulösen, an einen externen Endpunkt zu posten. OWASP führt das als LLM06 „Excessive Agency”: zu viele Berechtigungen, zu wenig Bestätigung.
Warum es funktioniert
Das Modell kann nicht zuverlässig unterscheiden, ob ein Tool-Call aus einer legitimen Nutzerabsicht stammt oder aus einer Anweisung, die ein Angreifer in die verarbeiteten Daten geschmuggelt hat. Beides erreicht es als Text im selben Kontext. Der Agent prüft nicht, wer die Aktion eigentlich will — er prüft nur, ob sie plausibel zur Aufgabe passt. Genau diese fehlende Herkunftsprüfung ist die Lücke.
Über das Model Context Protocol verschärft sich das, weil jeder angebundene MCP-Server die Angriffsfläche und die Menge der erreichbaren Tools vergrößert. Das Spannungsfeld zwischen Reichweite und Risiko ist in Das MCP-Paradox ausführlich beschrieben. Die Aufsichtslücke, die daraus entsteht, ist das Thema von AI-Agenten brauchen Aufsicht.
Wenn du KI in dein Produkt einbaust
Sobald dein Feature mehr ist als Text-rein-Text-raus — sobald es Aktionen ausführt — gilt jede Berechtigung des Agenten als potenziell von außen steuerbar. Ein Agent mit Schreibrechten auf die Produktivdatenbank, mit einem Mail-Tool, mit Zugriff auf Zahlungs-APIs ist so gefährlich wie die Summe seiner Tools mal die Wahrscheinlichkeit einer erfolgreichen Injection.
Der teure Fall ist selten der spektakuläre Angriff eines Spezialisten. Es ist der Agent, der auf eine Injection in einem Support-Ticket hin eine echte Mail an einen echten Kunden schickt. Oder der Service-Account mit Allmacht-Rechten, über den ein einziger durchgekommener Prompt den halben Datenbestand anfasst.
Selbst ausprobieren
Den Confused Deputy versteht man am schnellsten, wenn man einen Chatbot dazu bringt, eine Aktion auszuführen, für die man selbst nie Rechte hatte. PortSwigger hat dafür ein absichtlich verwundbares Lab.
Hands-on (≈20 Min, Sandbox):
- Leg dir einen kostenlosen Account in der PortSwigger Web Security Academy an und öffne das Lab „Exploiting LLM APIs with excessive agency”.
- Frag den Support-Chatbot zuerst, welche APIs und Funktionen ihm zur Verfügung stehen. Er verrät bereitwillig seinen eigenen Werkzeugkasten.
- Eine der Funktionen löscht Nutzerkonten. Bring den Bot dazu, sie aufzurufen — er handelt mit seinen Rechten, du brauchst nie selbst Zugriff auf die API.
Genau so lief der reale Fall: Invariant Labs zeigte im Mai 2025, dass ein präpariertes GitHub-Issue einen angebundenen Coding-Agenten kapert und über dessen breit gesetzten Token Daten aus privaten Repositories zieht. Der Agent handelte mit den Rechten des Entwicklers, der das Issue nie geschrieben hatte. Architektur-Problem, kein Bug im MCP-Server — und ohne einfachen Patch.
Verteidigung
Least Privilege ist hier die Überlebensbedingung, nicht eine Best Practice unter vielen:
- Minimale Berechtigung pro Tool — read-only, wo nichts geschrieben werden muss. Jedes Tool bekommt nur, was der konkrete Use Case braucht.
- Identität durchreichen: Der Agent handelt mit den Rechten des Nutzers, nicht mit einem Service-Account, der alles darf.
- Verpflichtendes Human-in-the-Loop für alle irreversiblen oder teuren Aktionen — Löschen, Zahlen, Versenden an Externe.
- Egress-Allowlist: der Agent kontaktiert nur bekannte Domains.
- Rate-Limits und Anomalie-Erkennung auf Tool-Ebene fangen den Fall, in dem ein Agent plötzlich 400 Mails verschickt.
- Vollständiges Logging jedes Tool-Calls mit Kontext, damit ein Vorfall rekonstruierbar ist.
Der Kern: Stell dir vor, dein Agent bekommt eine perfekt formulierte Injection. Wenn sein Mail-Tool nur an verifizierte interne Adressen sendet und Löschungen einen menschlichen Klick brauchen, ist der Schaden begrenzt, egal wie gut der Angriff war. Architektur schlägt Prompt-Engineering, weil sie nicht überredbar ist. Die Umsetzung steht in der Referenzarchitektur, Layer 3 (Tool- und Aktions-Layer).
Teil der Serie
Hub · Prompt Injection · Jailbreaks · Confused Deputy · Datenexfiltration · Capability-Extraction · Referenzarchitektur