KI-Agenten und Tool-Nutzung absichern
Aktionen autonomer Agenten begrenzen
KI-Agenten und Tool-Nutzung absichern ist eine kostenlose Cyber Security Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cyber Security Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Was Agenten riskant macht
Ein KI-Agent ist ein LLM, das mit Tools und einer Schleife verbunden ist: Es führt Überlegungen durch, ruft Funktionen auf (Suche, Codeausführung, APIs, Dateizugriff), verarbeitet Ergebnisse und wiederholt dies, bis ein Ziel erreicht ist. Diese Autonomie ist leistungsfähig und gefährlich.
Die wesentliche Veränderung aus Sicherheitssicht: Bei einem einfachen Chatbot ist eine fehlerhafte Ausgabe nur Text. Bei einem Agenten wird eine fehlerhafte Entscheidung zu einer echten Aktion: ein gelöschter Datensatz, eine gesendete E-Mail, ein ausgegebener Dollar, ein offengelegtes Geheimnis.
Da nicht vertrauenswürdige Inhalte in die Überlegungsschleife gelangen können, ist jedes Tool des Agenten eine Angriffsfläche für Prompt-Injection.
Prinzip der geringsten Berechtigungen für Tools
Die wichtigste einzelne Maßnahme ist das Prinzip der geringsten Berechtigungen. Geben Sie jedem Tool den engsten Umfang, mit dem es seine Aufgabe noch erfüllen kann.
- Bevorzugen Sie schreibgeschützten Zugriff gegenüber Lese- und Schreibzugriff; beschränken Sie Lesezugriffe auf die Daten der aktuellen Benutzerin oder des aktuellen Benutzers.
- Teilen Sie umfangreiche Tools in spezialisierte Tools auf (ein
get_invoice-Tool statt eines direkten SQL-Tools). - Verknüpfen Sie die Zugangsdaten des Tools mit der Identität des Endbenutzers, nicht mit einem gemeinsamen Dienstkonto, damit der Agent nur die Berechtigungen des Benutzers übernimmt.
# Scope queries to the authenticated user, never raw SQL
def get_invoice(invoice_id: str, *, user_id: str):
return db.query(
"SELECT * FROM invoices WHERE id=%s AND owner=%s",
(invoice_id, user_id),
)Kontrollpunkte mit menschlicher Beteiligung
Verlangen Sie für Aktionen mit großer Wirkung oder nicht umkehrbare Aktionen vor der Ausführung eine ausdrückliche menschliche Genehmigung. Der Agent macht einen Vorschlag; eine Person bestätigt ihn.
- Externe E-Mails oder Nachrichten senden.
- Finanztransaktionen oder Käufe.
- Daten löschen oder überschreiben.
- Code bereitstellen oder die Infrastruktur ändern.
Zeigen Sie der Benutzerin oder dem Benutzer die genaue Aktion und die Argumente in verständlicher Sprache, damit ein injizierter oder halluzinierter Befehl erkannt werden kann, bevor er ausgeführt wird.
Sandboxing von Code und Befehlen
Agenten, die Code oder Shell-Befehle ausführen, müssen dies in einer isolierten Sandbox tun, niemals auf dem Host.
- Verwenden Sie kurzlebige Container oder MicroVMs ohne Einbindungen des Hosts.
- Deaktivieren Sie den Netzwerkzugriff standardmäßig und erlauben Sie nur eine ausdrücklich freigegebene Egress-Allowlist.
- Setzen Sie Grenzen für CPU, Arbeitsspeicher und Laufzeit, um ausufernden oder schädlichen Code einzudämmen.
- Führen Sie den Code als Benutzer ohne Root-Rechte und ohne privilegierte Rechte mit einem schreibgeschützten Root-Dateisystem aus.
docker run --rm \
--network none \
--read-only \
--user 1000:1000 \
--memory 256m --cpus 0.5 \
--pids-limit 64 \
agent-sandbox:latest python /work/task.pyDie tödliche Dreierkombination aufbrechen
Ein Agent wird zu einem Werkzeug für Datenexfiltration, wenn er gleichzeitig Zugriff auf private Daten, Kontakt mit nicht vertrauenswürdigen Inhalten und die Möglichkeit zur externen Kommunikation hat. Diese Kombination ist die tödliche Dreierkombination.
Entwerfen Sie jeden Workflow so, dass mindestens eine Säule entfernt wird:
- Isolieren Sie Sitzungen, die mit nicht vertrauenswürdigen Inhalten umgehen, von Sitzungen mit Zugriff auf sensible Daten.
- Beschränken Sie den ausgehenden Netzwerkverkehr auf eine strenge Allowlist.
- Verlangen Sie vor jeder externen Übermittlung eine Genehmigung, wenn sich private Daten im Kontext befinden.
Nicht vertrauenswürdige Tool-Ausgaben
Tool-Ergebnisse gelangen erneut in den Kontext des Modells, daher sind Tool-Ausgaben nicht vertrauenswürdige Eingaben. Eine Webseite, eine abgerufene Datei oder eine API-Antwort kann eingeschleuste Anweisungen enthalten, die auf den nächsten Denkschritt abzielen.
- Schließen Sie Tool-Ausgaben in eindeutige Begrenzungen ein und kennzeichnen Sie sie als Daten, nicht als Befehle.
- Entfernen oder neutralisieren Sie versteckte Texte (HTML-Kommentare, Zeichen mit einer Breite von null, nicht sichtbares CSS).
- Begrenzen Sie die Größe eingeschleuster Inhalte, um den verfügbaren Platz für Payloads zu beschränken.
Lassen Sie niemals zu, dass rohe Tool-Ausgaben ohne Richtlinienprüfungen unbemerkt den nächsten Tool-Aufruf bestimmen.
Aktions-Allowlists und Durchsetzung von Richtlinien
Verlassen Sie sich nicht darauf, dass das Modell sich selbst überwacht. Setzen Sie zwischen dem Agenten und jedem Tool eine Richtlinienschicht im Code durch.
- Validieren Sie jeden Tool-Aufruf anhand einer Allowlist zulässiger Aktionen und Argumentstrukturen.
- Weisen Sie Aufrufe zurück, die außerhalb des Umfangs der aktuellen Aufgabe liegen.
- Wenden Sie Ratenbegrenzungen und Budgets pro Tool und Benutzer an.
Diese deterministische Schranke wird unabhängig von der Entscheidung des Modells ausgeführt, sodass eine erfolgreiche Injektion weiterhin auf eine unüberwindbare Hürde trifft.
def authorize(call):
if call.name not in ALLOWED_TOOLS:
raise PolicyError("tool not allowed")
if not SCHEMA[call.name].validate(call.args):
raise PolicyError("bad arguments")
if exceeds_budget(call):
raise PolicyError("rate limit")Die Schleife begrenzen
Autonome Schleifen können außer Kontrolle geraten: unendliche Wiederholungen, rekursive Tool-Aufrufe, ausufernde Kosten (Denial-of-Wallet). Begrenzen Sie sie.
- Begrenzen Sie die maximale Anzahl der Schritte und die Gesamtzahl der Tokens pro Aufgabe.
- Setzen Sie Echtzeit-Timeouts für den gesamten Ablauf.
- Verfolgen Sie die kumulierten Kosten und brechen Sie den Ablauf beim Überschreiten eines Schwellenwerts ab.
- Erkennen Sie Schleifen (wiederholte identische Aufrufe) und brechen Sie sie ab.
Diese Grenzen schwächen auch DoS- und Angriffe durch unbegrenzten Verbrauch ab (OWASP LLM10).
Risiken durch Speicher und mehrere Agenten
Permanenter Agentenspeicher und Multi-Agenten-Systeme schaffen neue Angriffsflächen:
- Speichervergiftung: Eine in einer Sitzung in den Langzeitspeicher geschriebene Injektion beeinflusst spätere Sitzungen. Validieren und beschränken Sie, welche Inhalte dauerhaft gespeichert werden.
- Vertrauen zwischen Agenten: Ein kompromittierter Agent kann einen anderen per Injektion beeinflussen. Behandeln Sie Nachrichten zwischen Agenten als nicht vertrauenswürdig.
- Verwirrter Stellvertreter: Ein privilegierter Agent handelt auf Anfrage eines Agenten mit geringerem Vertrauensniveau. Führen Sie die Autorisierung des ursprünglichen Principals durch die gesamte Kette mit.
Protokollierung und Beobachtbarkeit
Was Sie nicht sehen können, können Sie nicht absichern. Instrumentieren Sie die vollständige Ablaufspur des Agenten:
- Protokollieren Sie jeden Tool-Aufruf, seine Argumente und sein Ergebnis.
- Zeichnen Sie den Kontext der Überlegungen und alle abgerufenen Inhalte für die forensische Analyse auf.
- Lösen Sie bei Anomalien Warnungen aus: unerwarteter ausgehender Datenverkehr, Verwendung von Berechtigungen, wiederholte Ablehnungen, Kostenspitzen.
- Bewahren Sie eine unveränderliche Prüfspur auf, die mit der handelnden Benutzerin oder dem handelnden Benutzer verknüpft ist.
Gute Telemetrie macht aus einer unbemerkten Kompromittierung einen erkennbaren und untersuchbaren Sicherheitsvorfall.
Eine mehrschichtige Agentenarchitektur
Zusammengefasst sieht ein robust abgesicherter Agenten-Stack folgendermaßen aus:
- Identität: Aktionen werden als Endbenutzerin oder Endbenutzer mit Berechtigungen im geringstmöglichen Umfang ausgeführt.
- Richtlinienschranke: Deterministische Allowlist und Schemaprüfung für jeden Tool-Aufruf.
- Sandbox: Isolierte Ausführung mit eingeschränktem Netzwerk und begrenzten Ressourcen.
- Menschliche Kontrollpunkte: Genehmigung für nicht umkehrbare Aktionen.
- Begrenzungen: Budgets für Schritte, Tokens, Zeit und Kosten.
- Beobachtbarkeit: Vollständige Prüfprotokollierung und Warnungen bei Anomalien.
Gehen Sie davon aus, dass das Modell gekapert werden kann, und stellen Sie sicher, dass der Schadensradius auch dann klein bleibt.
Kurzer Wissenstest
Testen Sie Ihr Verständnis der Sicherheitskontrollen für Agenten.
Zusammenfassung
Absicherung von KI-Agenten und Tool-Nutzung:
- Agenten setzen fehlerhafte Ausgaben in echte Aktionen um, daher ist jedes Tool eine Angriffsfläche.
- Wenden Sie pro Tool das Prinzip der geringsten Rechte an und binden Sie Zugangsdaten an den jeweiligen Endbenutzer.
- Verlangen Sie für irreversible Aktionen eine menschliche Genehmigung und führen Sie Code in einer Sandbox aus.
- Durchbrechen Sie die lethal trifecta; behandeln Sie Tool-Ausgaben als nicht vertrauenswürdige Eingaben.
- Erzwingen Sie ein deterministisches Policy-Gate (Allowlists, Schema-Validierung) im Code und nicht im Prompt.
- Begrenzen Sie die Schleife (Schritte, Tokens, Zeit, Kosten) und protokollieren Sie jeden Tool-Aufruf zur Erkennung.
Häufig gestellte Fragen
Ist die Lektion „KI-Agenten und Tool-Nutzung absichern“ kostenlos?
Ja — der vollständige Text von „KI-Agenten und Tool-Nutzung absichern“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cyber Security Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „KI-Agenten und Tool-Nutzung absichern“?
Aktionen autonomer Agenten begrenzen Du übst Cyber Security Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Cyber Security Academy zu starten?
Keine Vorkenntnisse erforderlich. Cyber Security Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „KI-Agenten und Tool-Nutzung absichern“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Cyber Security Academy-Lektion Code schreiben und ausführen?
Ja. Jede Cyber Security Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Prompt Injection und Jailbreaks
- Die OWASP Top 10 für LLMs
- KI-Agenten und Tool-Nutzung absichern
- Risiken durch Modelle, Daten und Lieferketten