Agentensicherheit: KI-Agenten absichern
Was dieser Artikel über Agentensicherheit behandelt
- Welche Gefahren von KI-Agenten ausgehen und wie Du sie minimierst
- Wie Sandbox-Umgebungen, Tool-Berechtigungen und Guardrails zusammenwirken
- Wann Human-in-the-Loop-Freigaben sinnvoll sind und wie Du sie umsetzt
- Wie Du alle Agenten-Aktionen über Audit Logs nachvollziehbar machst
- Ein vollständiges Praxisbeispiel, mit dem Du einen Agenten Schritt für Schritt absicherst
Einleitung: Agentensicherheit verständlich erklärt
KI-Agenten sind mächtig. Sie können Dateien lesen, API-Requests senden, Code ausführen und mit externen Systemen kommunizieren. Genau diese Macht bringt Risiken mit sich. Ein Agent, der selbstständig handelt, kann unbeabsichtigte Aktionen ausführen, Daten an die falsche Stelle senden oder in Endlosschleifen Kosten verursachen.
Agentensicherheit bedeutet, dass Du diese Risiken systematisch reduzierst. Du gibst dem Agenten nur die Werkzeuge, die er wirklich braucht. Du überwachst seine Aktionen. Du baust Freigabeprozesse ein, bevor kritische Operationen ausgeführt werden. So profitierst Du von der Autonomie des Agenten, ohne die Kontrolle abzugeben.
Dieser Artikel gehört zur Reihe Sicherer Betrieb und baut auf den Grundlagen aus Agentensysteme auf.
Warum brauche ich Agentensicherheit?
Stell Dir vor, Du hast einen KI-Agenten, der Dateien auf Deinem System verwalten soll. Seine Aufgabe: alte Log-Dateien aufräumen und archivieren. Du gibst ihm Zugriff auf das gesamte Dateisystem.
Der Agent interpretiert seine Aufgabe großzügig. Er erkennt Dateien mit dem Präfix log und löscht sie. Leider befand sich in einem Projektverzeichnis eine Datei namens logic.js, die der Agent für eine Log-Datei hielt. Sie ist weg. Oder der Agent sendet eine E-Mail an alle Kunden, weil er meint, das gehöre zur Archivierung.
Das sind keine theoretischen Szenarien. Agenten handeln nach Wahrscheinlichkeiten, nicht nach menschlichem Hausverstand. Wenn Du ihnen ungefilterten Zugriff gibst, passieren Fehler. Agentensicherheit ist der Schutzmechanismus, der verhindert, dass aus kleinen Fehlern große Katastrophen werden.
Agentensicherheit kurz erklärt
Agentensicherheit umfasst alle Maßnahmen, die einen KI-Agenten so einschränken, dass er seine Aufgabe erfüllen kann, ohne Schaden anzurichten. Der Kerngedanke lautet: minimale Berechtigungen, maximale Kontrolle.
Dazu gehören:
- Sandbox: Der Agent läuft in einer isolierten Umgebung, die keinen Zugriff auf Dein Hauptsystem hat.
- Tool-Berechtigungen: Jedes Werkzeug, das der Agent nutzt, wird explizit erlaubt und kann eingeschränkt werden.
- Human-in-the-Loop: Kritische Aktionen erfordern eine menschliche Freigabe, bevor sie ausgeführt werden.
- Guardrails: Regeln, die den Agenten daran hindern, unerwünschte oder gefährliche Aktionen auszuführen.
- Audit Logging: Jede Aktion des Agenten wird protokolliert und ist nachvollziehbar.
Für wen ist dieser Artikel gedacht?
Dieser Artikel richtet sich an Entwicklerinnen und Entwickler, die KI-Agenten produktiv einsetzen oder einsetzen wollen. Du solltest grundlegend verstehen, wie Tool-Calling funktioniert und was Agentensysteme ausmacht. Technische Vorkenntnisse im Bereich Sicherheit sind hilfreich, aber nicht zwingend erforderlich.
Wichtige Begriffe
| Begriff | Erklärung |
|---|---|
| Sandbox | Isolierte Laufzeitumgebung, in der der Agent keine Auswirkungen auf das Host-System hat |
| Guardrails | Sicherheitsregeln, die den Agenten innerhalb definierter Grenzen halten |
| Tool-Calling | Mechanismus, über den ein Agent externe Werkzeuge und Funktionen aufruft |
| Permission | Berechtigung, die festlegt, ob ein Agent ein bestimmtes Tool nutzen darf |
| Human-in-the-Loop | Prinzip, bei dem ein Mensch kritische Entscheidungen bestätigen muss |
| Rate Limiting | Begrenzung der Anzahl von Aktionen pro Zeiteinheit |
| Audit Log | Protokoll aller Aktionen, die ein Agent ausgeführt hat |
| Least Privilege | Prinzip, nach dem ein Agent nur die minimal nötigen Berechtigungen erhält |
| Veto | Möglichkeit, eine geplante Aktion des Agenten abzulehnen |
| Escalation | Weiterleitung einer Entscheidung an eine höhere Instanz, meist einen Menschen |
Gefahren durch KI-Agenten
Unerwünschte Aktionen
Agenten interpretieren Anweisungen nicht immer so, wie Du es erwartest. Ein Agent, der Code ausführen darf, könnte ein Skript starten, das Dein System verändert. Ein Agent mit Schreibzugriff auf eine Datenbank könnte Datensätze löschen, weil er das als Aufräum-Aktion einstuft.
Datenlecks
Wenn ein Agent Zugriff auf sensible Daten hat und gleichzeitig mit externen APIs kommuniziert, kann er Daten an Orte senden, an denen sie nicht hingehören. Ein Agent, der Kundendaten liest und einen Webhook aufruft, könnte diese Daten unbeabsichtigt an einen Drittservice übertragen.
Endlosschleifen
Agenten können in Schleifen geraten. Der Agent ruft ein Tool auf, erhält ein Ergebnis, das ihn dazu veranlasst, das Tool erneut aufzurufen. Ohne Abbruchbedingung läuft diese Schleife endlos. Das verbraucht Rechenleistung, API-Kontingente und Geld.
Kostenexplosion
Jeder Tool-Aufruf, jeder API-Request und jeder Inference-Schritt kostet Geld. Ein Agent, der ohne Begrenzung operiert, kann in kurzer Zeit erhebliche Kosten verursachen. Besonders bei Cloud-basierten Modellen wie GPT-4 summieren sich diese Kosten schnell.
Sicherheitsmaßnahmen
Sandbox
Eine Sandbox isoliert den Agenten vom Rest Deines Systems. Der Agent kann nur auf die Ressourcen zugreifen, die Du explizit in der Sandbox bereitstellst. Dateien außerhalb der Sandbox sind unsichtbar, Netzwerkzugriffe sind eingeschränkt, Systembefehle wirken sich nur innerhalb der Sandbox aus.
Tool-Berechtigungen
Nicht jedes Tool, das theoretisch verfügbar ist, sollte auch genutzt werden. Definiere für jeden Agenten genau, welche Tools er benötigt. Ein Agent, der nur Daten analysieren soll, braucht kein Tool zum Senden von E-Mails. Ein Agent, der Berichte erstellt, braucht keinen Löschzugriff auf die Datenbank.
Approval Gates
Approval Gates sind Freigabeprozesse für kritische Aktionen. Bevor der Agent eine Aktion ausführt, die als kritisch eingestuft ist, pausiert er und wartet auf Deine Bestätigung. Mehr dazu im Abschnitt Human-in-the-Loop.
Logging
Jede Aktion des Agenten wird protokolliert: welches Tool aufgerufen wurde, mit welchen Parametern, zu welchem Zeitpunkt und mit welchem Ergebnis. So kannst Du nachträglich nachvollziehen, was passiert ist, und bei Fehlern die Ursache finden.
Rate Limits
Rate Limits begrenzen, wie oft ein Agent eine Aktion in einem bestimmten Zeitraum ausführen darf. Zum Beispiel maximal 10 Tool-Aufrufe pro Minute oder maximal 100 API-Requests pro Stunde. Das verhindert Endlosschleifen und Kostenexplosionen.
Sandbox-Umgebungen
Docker
Docker ist die verbreitetste Methode, um Agenten zu isolieren. Du erstellst ein Container-Image mit genau den Tools und Berechtigungen, die der Agent braucht. Der Container hat keinen Zugriff auf Dein Host-Dateisystem, außer Du bindest explizit Volumes ein. Netzwerkzugriffe kannst Du über Docker-Netzwerkregeln steuern. Grundlagen dazu findest Du in Docker Grundlagen.
Virtuelle Maschinen
Für noch stärkere Isolation bieten sich virtuelle Maschinen an. Eine VM hat einen eigenen Kernel und ist vollständig vom Host-System getrennt. Das ist aufwendiger als Docker, bietet aber mehr Sicherheit, besonders wenn der Agent Code ausführt, der potenziell schädlich sein könnte.
Eingeschränktes Dateisystem
Unabhängig von Docker oder VM kannst Du das Dateisystem einschränken. Der Agent arbeitet in einem bestimmten Verzeichnis und kann nicht darüber hinaus navigieren. In Kombination mit Ollama und lokaler Ausführung reicht das für viele Anwendungsfälle aus.
Tool-Berechtigungen
Welche Tools Freigaben benötigen
Tools mit irreversiblen oder externen Wirkungen benötigen immer eine Freigabe:
- Dateien löschen oder überschreiben
- E-Mails senden
- API-Requests an externe Dienste
- Datenbank-Einträge verändern oder löschen
- Code ausführen
- Zahlungen auslösen
Welche Tools sicher sind
Tools, die nur lesen oder berechnen, gelten als sicher:
- Dateien lesen
- Datenbank-Abfragen (SELECT)
- Suchanfragen
- Berechnungen und Transformationen
- Zwischenspeichern von Informationen
Die Einteilung hängt vom Kontext ab. Ein Lesezugriff auf sensible Kundendaten ist nicht sicher, wenn der Agent gleichzeitig externe APIs aufrufen kann. Betrachte immer die Kombination aller Tools, nicht jedes Tool isoliert.
Human-in-the-Loop
Human-in-the-Loop bedeutet, dass ein Mensch kritische Entscheidungen bestätigt, bevor der Agent sie ausführt. Der Agent plant eine Aktion, stellt sie zur Freigabe und pausiert. Erst wenn Du zustimmst, wird die Aktion ausgeführt.
Das funktioniert auf mehreren Ebenen:
- Vollständige Freigabe: Jede Aktion muss bestätigt werden. Das ist sicher, aber langsam.
- Kategoriale Freigabe: Nur Aktionen bestimmter Kategorien, wie E-Mail-Versand oder Datei-Löschung, benötigen Freigabe.
- Schwellenwert-Freigabe: Aktionen unter einem bestimmten Risiko-Score laufen automatisch, darüber hinaus benötigen sie Freigabe.
Ausführliche Informationen dazu findest Du im Artikel Menschliche Freigaben.
Audit Logging
Ein Audit Log protokolliert jede Aktion des Agenten. Für jeden Eintrag werden mindestens erfasst:
- Zeitstempel
- Aufgerufenes Tool
- Parameter des Tool-Aufrufs
- Ergebnis der Aktion
- Status: erfolgreich, fehlgeschlagen, abgebrochen
Mit einem vollständigen Audit Log kannst Du nachträglich rekonstruieren, was der Agent getan hat, warum er es getan hat und wo etwas schiefgelaufen ist. Das ist nicht nur für die Fehlersuche wichtig, sondern auch für Compliance und Nachvollziehbarkeit.
Speichere Audit Logs an einem Ort, auf den der Agent selbst keinen Schreibzugriff hat. Sonst kann ein fehlerhafter Agent seine eigenen Spuren verwischen.
Beispiel: Einen Agenten absichern
Stell Dir vor, Du baust einen Agenten, der E-Mails zusammenfasst und wichtige Nachrichten an einen Slack-Channel weiterleitet. So sicherst Du ihn Schritt für Schritt ab.
Schritt 1: Sandbox einrichten
Der Agent läuft in einem Docker-Container. Das Container-Image enthält nur die notwendigen Tools: E-Mail-Client, Slack-API-Client und das KI-Modell. Kein Shell-Zugriff, keine weiteren Programme.
Schritt 2: Tools definieren
Der Agent erhält genau drei Tools:
read_emails: Liest E-Mails aus dem Posteingangsummarize_email: Fasst eine E-Mail zusammensend_slack_message: Sendet eine Nachricht an Slack
Keine weiteren Tools. Der Agent kann keine Dateien löschen, keinen Code ausführen, keine E-Mails senden.
Schritt 3: Berechtigungen setzen
read_emails und summarize_email laufen ohne Freigabe. send_slack_message benötigt eine Freigabe, bevor die Nachricht gesendet wird. Der Agent schlägt eine Nachricht vor, Du bestätigst sie, erst dann wird sie gesendet.
Schritt 4: Rate Limits festlegen
Maximal 20 E-Mails pro Stunde lesen, maximal 10 Slack-Nachrichten pro Stunde senden. Das verhindert, dass der Agent bei einer Schleife den Slack-Channel flutet.
Schritt 5: Audit Logging aktivieren
Jeder Tool-Aufruf wird in einer Datenbank protokolliert, auf die der Agent nur Lesezugriff hat. Du kannst jederzeit nachvollziehen, welche E-Mails gelesen und welche Slack-Nachrichten gesendet wurden.
Schritt 6: Guardrails definieren
Der Agent darf keine E-Mails zusammenfassen, die als vertraulich markiert sind. Er darf keine Slack-Nachrichten an Channels senden, die nicht in einer Whitelist stehen. Diese Regeln werden als Guardrails im System-Prompt und in der Tool-Logik hinterlegt.
Typische Stolpersteine
-
Zu viele Berechtigungen: Du gibst dem Agenten “alles”, weil es einfacher ist. Das funktioniert, bis es nicht mehr funktioniert. Starte mit minimalen Berechtigungen und erweitere nur, wenn nötig.
-
Keine Rate Limits: Ohne Rate Limits kann ein Agent in einer Schleife hunderte API-Aufrufe in wenigen Minuten ausführen. Setze immer Limits, auch wenn Du Dir sicher bist, dass keine Schleife entstehen kann.
-
Audit Logs im selben Verzeichnis: Wenn der Agent seine Logs selbst schreiben darf und Zugriff auf das Log-Verzeichnis hat, kann er bei einem Fehler seine Spuren löschen. Speichere Logs außerhalb der Reichweite des Agenten.
-
Freigaben umgehen: Wenn Freigaben zu oft angefordert werden, neigen Nutzer dazu, blind zu bestätigen. Das macht Human-in-the-Loop wirkungslos. Setze Freigaben gezielt ein, nur für Aktionen, die wirklich kritisch sind.
-
Guardrails nur im Prompt: Guardrails, die nur im System-Prompt stehen, sind keine echten Guardrails. Der Agent kann sie ignorieren. Setze technische Beschränkungen zusätzlich in der Tool-Logik um.
-
Keine Tests für Fehlerfälle: Teste, was passiert, wenn der Agent ein Tool falsch aufruft, wenn eine API nicht erreichbar ist oder wenn der Agent in eine Schleife gerät. Fehlerfälle sind genau die Situationen, in denen Sicherheit zählt.
-
Vergessene Cleanup-Aktionen: Ein Agent, der temporäre Dateien erstellt, sollte sie auch wieder entfernen. Wenn das nicht Teil seines Auftrags ist, sammeln sich über Zeit Datenmengen an, die die Sandbox füllen und das System verlangsamen.
Hardware, Kosten und Sicherheit
Sicherheit hat ihren Preis. Docker-Container verbrauchen zusätzlichen Arbeitsspeicher. VMs benötigen eigene Ressourcen. Audit Logs benötigen Speicherplatz. Rate Limits können Agenten verlangsamen, weil sie warten müssen.
Diese Kosten sind gering im Vergleich zu den Kosten, die entstehen, wenn ein ungesicherter Agent Schaden anrichtet. Eine gelöschte Datenbank, ein Datenleck oder eine Kostenexplosion bei einem Cloud-Provider sind deutlich teurer als die Infrastruktur für eine sichere Agenten-Ausführung.
Wenn Du lokal mit Ollama arbeitest, entfallen die API-Kosten, aber die Sicherheitsmaßnahmen bleiben gleich. Sandbox, Berechtigungen und Logging sind unabhängig davon, wo das Modell läuft.
Für die Planung, wann ein Agent welche Aktion ausführt und wie er seine eigenen Schritte reflektiert, findest Du weitere Grundlagen im Artikel Planung und Reflexion.
Weiterführende Links
- Sicherer Betrieb - Übersicht aller Artikel zum sicheren Betrieb von KI-Systemen
- Menschliche Freigabe in der Sicherheit - Approval Gates und Veto-Rechte
- Guardrails konfigurieren - Regeln und Filter für Agenten
- Prompt Injection Schutz - Angriffe abwehren
- Sandbox für KI-Agenten - Docker, VM und Filesystem-Isolation
- Audit-Logging - Agenten-Aktionen nachvollziehen
- Menschliche Freigaben - Detailguide zu Human-in-the-Loop
- Tool-Calling - Grundlagen zum Aufruf externer Werkzeuge
- Agentensysteme - Architektur von Agentensystemen
- Planung und Reflexion - Wie Agenten planen und reflektieren
- Docker Grundlagen - Isolierung mit Containern
- Ollama - Lokale KI-Modelle ausführen
FAQ
Was ist Agentensicherheit?
Agentensicherheit umfasst alle Maßnahmen, die einen KI-Agenten so einschränken, dass er seine Aufgabe erfüllen kann, ohne Schaden anzurichten. Dazu gehören Sandbox-Umgebungen, Tool-Berechtigungen, Guardrails, Human-in-the-Loop-Freigaben und Audit Logging.
Brauche ich eine Sandbox für jeden Agenten?
Ja. Auch ein einfacher Agent kann unbeabsichtigte Aktionen ausführen. Eine Sandbox kostet wenig Aufwand und verhindert, dass sich Fehler auf Dein Hauptsystem auswirken.
Was ist der Unterschied zwischen Guardrails und Tool-Berechtigungen?
Tool-Berechtigungen legen fest, ob ein Agent ein Tool nutzen darf. Guardrails legen fest, wie das Tool genutzt werden darf. Berechtigungen sind ein Ja/Nein-Schalter, Guardrails sind Regeln innerhalb dieses Schalters.
Wann brauche ich Human-in-the-Loop?
Human-in-the-Loop ist sinnvoll bei allen Aktionen, die irreversibel sind, externe Auswirkungen haben oder Kosten verursachen. E-Mail-Versand, Datei-Löschung, API-Aufrufe an externe Dienste und Zahlungen sind typische Kandidaten.
Wie verhindere ich Endlosschleifen?
Kombiniere Rate Limits mit einer maximalen Anzahl von Schritten pro Aufgabe. Der Agent bricht ab, wenn er eine bestimmte Anzahl von Tool-Aufrufen erreicht hat, unabhängig vom Ergebnis.
Wo speichere ich Audit Logs?
Audit Logs gehören an einen Ort, auf den der Agent keinen Schreibzugriff hat. Das kann eine separate Datenbank, ein externes Log-System oder ein schreibgeschütztes Verzeichnis sein.
Was kostet Agentensicherheit?
Die Infrastruktur für Sicherheit, wie Docker-Container und Logging, kostet Rechenleistung und Speicherplatz. Im Vergleich zu den Kosten eines ungesicherten Agenten, der Schaden anrichtet, sind diese Kosten vernachlässigbar.
Kann ich einen Agenten ohne Docker absichern?
Ja. Du kannst das Dateisystem einschränken, Tool-Berechtigungen definieren und Audit Logs aktivieren, auch ohne Docker. Docker bietet zusätzliche Isolation, ist aber nicht die einzige Möglichkeit.
Was ist Least Privilege?
Least Privilege ist das Prinzip, einem Agenten nur die minimal notwendigen Berechtigungen zu geben. Wenn der Agent nur lesen muss, bekommt er keinen Schreibzugriff. Wenn er nur eine Datei braucht, bekommt er keinen Zugriff auf das gesamte Verzeichnis.
Wie teste ich Agentensicherheit?
Simuliere Fehlerfälle. Lass den Agenten ein Tool falsch aufrufen, trenne die Verbindung zu einer API, provoziere eine Schleife. Prüfe, ob die Sicherheitsmaßnahmen greifen und der Agent sich kontrolliert verhält.
Sind lokale Modelle sicherer als Cloud-Modelle?
Lokale Modelle wie Ollama reduzieren das Risiko von Datenlecks, weil keine Daten an einen Cloud-Anbieter gesendet werden. Die Agentensicherheit, also die Kontrolle der Aktionen des Agenten, ist davon unabhängig und in beiden Fällen notwendig.
Quellen
- OWASP: Top 10 for Large Language Model Applications
- NIST: AI Risk Management Framework
- Docker: Container Security Documentation
- Anthropic: Responsible Scaling Policies


