Skip to content
BotServBotServ
AgentensicherheitSandboxGuardrailsHuman-in-the-LoopTool-CallingSicherheitKI-Agent

Agentensicherheit: KI-Agenten absichern

Wie sicherst Du KI-Agenten ab? Sandbox, Tool-Berechtigungen, Human-in-the-Loop und Guardrails. Praxisguide für sichere KI-Agenten.

S

schutzgeist

11 min read
Agentensicherheit: KI-Agenten absichern

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

BegriffErklärung
SandboxIsolierte Laufzeitumgebung, in der der Agent keine Auswirkungen auf das Host-System hat
GuardrailsSicherheitsregeln, die den Agenten innerhalb definierter Grenzen halten
Tool-CallingMechanismus, über den ein Agent externe Werkzeuge und Funktionen aufruft
PermissionBerechtigung, die festlegt, ob ein Agent ein bestimmtes Tool nutzen darf
Human-in-the-LoopPrinzip, bei dem ein Mensch kritische Entscheidungen bestätigen muss
Rate LimitingBegrenzung der Anzahl von Aktionen pro Zeiteinheit
Audit LogProtokoll aller Aktionen, die ein Agent ausgeführt hat
Least PrivilegePrinzip, nach dem ein Agent nur die minimal nötigen Berechtigungen erhält
VetoMöglichkeit, eine geplante Aktion des Agenten abzulehnen
EscalationWeiterleitung 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 Posteingang
  • summarize_email: Fasst eine E-Mail zusammen
  • send_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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

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
Zurück zum KI Blog
Share:

Ähnliche Beiträge