Wie sicherst du einen LLM-Agenten ab, der Tools und Function Calling nutzt?
Kurzantwort
Ein LLM-Agent verwandelt Text über Tools und Function Calls in Aktionen, sodass eine Prompt Injection zu einer realen Aktion wird — das Risiko übermäßiger Handlungsvollmacht. Sichere ihn ab, indem du jedem Tool das geringste benötigte Privileg und den engsten Geltungsbereich gibst, Tool-Argumente validierst und einschränkst, menschliche Bestätigung für sensible oder irreversible Aktionen verlangst, die Ausführung sandboxt, Aufrufe rate-limitierst und budgetierst und jeden Tool-Aufruf protokollierst. Lass niemals zu, dass die von nicht vertrauenswürdigen Daten beeinflusste Ausgabe des Modells direkt eine folgenschwere Aktion autorisiert.
Ein Agent ist ein LLM, das mit Tools verdrahtet ist — Funktionen, die es aufrufen kann, um E-Mails zu lesen, Datenbanken abzufragen, APIs anzusprechen, Code auszuführen oder Geld zu bewegen. Genau hier hört Prompt Injection auf, ein Inhaltsproblem zu sein, und wird zu einem Aktionsproblem. Kann ein Angreifer die Eingabe des Modells beeinflussen (direkt oder indirekt über ein abgerufenes Dokument oder eine Webseite), kann er es potenziell dazu bringen, Dinge zu tun. OWASP nennt die überbevollmächtigte Variante davon übermäßige Handlungsvollmacht (excessive agency).
Die Bedrohung
Übermäßige Handlungsvollmacht hat drei Ausprägungen: zu viele Tools (Funktionalität, die du nicht brauchst), zu viele Berechtigungen (ein Tool mit weiterem Geltungsbereich, als die Aufgabe erfordert) und zu viel Autonomie (irreversible Aktionen ohne Bestätigung). Kombiniere eine davon mit einer Injektion und du erhältst Datenexfiltration, zerstörerische Operationen oder Lateral Movement.
Kontrollmaßnahmen
- Least Privilege pro Tool. Jede Funktion erhält den engsten Geltungsbereich, den engsten Datenzugriff und die kurzlebigsten Credentials. Bevorzuge feingranulare Tools gegenüber einem generischen "alles ausführen"-Tool.
- Tool-Argumente validieren. Behandle vom Modell generierte Argumente als nicht vertrauenswürdig: Typprüfung, Allowlisting und serverseitige Begrenzung vor der Ausführung.
- Human-in-the-Loop für sensible oder irreversible Aktionen (Zahlungen, Löschungen, externer Versand).
- Sandboxing für jede Codeausführung; Netzwerk-Egress-Kontrollen, um Exfiltration und SSRF zu begrenzen.
- Budgets und Rate Limits, um Denial-of-Wallet und außer Kontrolle geratene Schleifen zu deckeln.
- Vollständiges Audit-Logging jedes Tool-Aufrufs mit seinen Argumenten und dem auslösenden Kontext.
Worauf Interviewer achten
Eine klare Kette — Injektion plus Tools ergibt reale Aktionen —, das Benennen übermäßiger Handlungsvollmacht und eine Antwort nach Least Privilege, Human-in-the-Loop und Defense in Depth, statt sich darauf zu verlassen, dass der System-Prompt den Agenten in Schach hält.
Wahrscheinliche Anschlussfragen
- Was ist 'übermäßige Handlungsvollmacht' und wie schränkst du sie ein?
- Wie wird indirekte Prompt Injection speziell in einem Agenten gefährlich?
- Wann sollte ein Tool-Aufruf eine Human-in-the-Loop-Freigabe erfordern?