Sicherheit von AI Agents: Berechtigungen, Sandboxes und Freigaben
Automatische Übersetzung
Dieser Artikel wurde automatisch aus der englischen Originalversion übersetzt.
Die Sicherheit von AI Agents kontrolliert, was die Anwendung lesen, ändern und senden darf. Ein Agent, der Tools verwendet, kann private Daten verarbeiten, Zugangsdaten nutzen und externe Systeme ändern. Seine erlaubten Aktionen müssen im Code geprüft werden, auch wenn die Antwort des Models sicher aussieht.
Stellen Sie nur die Tools bereit, die die Aufgabe erfordert. Prüfen Sie vor jedem Tool Call die Berechtigungen, isolieren Sie die Ausführung, begrenzen Sie Zugangsdaten und erfassen Sie das Ergebnis. Verlangen Sie eine Freigabe für Aktionen mit weitreichenden Folgen. Textfilter können unsichere Inhalte erkennen helfen, ersetzen diese Kontrollen aber nicht.
Diese Checkliste setzt voraus, dass der Agent nicht vertrauenswürdige Eingaben liest und auf private Daten zugreifen oder externe Systeme ändern kann. Prompt Injection bezeichnet eine Anweisung in dieser Eingabe, die den Agenten zu anderen Handlungen bewegen soll. Ein abgerufenes Dokument könnte ihn beispielsweise auffordern, private Dateien hochzuladen. Einschränkungen für Tools und ausgehende Anfragen begrenzen die Folgen einer solchen Anweisung.
Kontrollen nach Fähigkeit
| Fähigkeit | Kontrolle | Was durchzusetzen ist |
|---|---|---|
| Jegliche Tool-Nutzung | Minimale Berechtigungen | Stellen Sie nur notwendige Tools bereit, wie es die OWASP-Empfehlungen zu MCP vorsehen. |
| Lesen privater Daten oder externe Änderungen | Berechtigungsprüfungen | Prüfen Sie unmittelbar vor der Ausführung den Benutzer, die Argumente, das Ziel und die erlaubte Aktion. |
| Code, Dateien oder Browserautomatisierung | Sandbox | Begrenzen Sie zugängliche Dateien, Prozesse, Browserzustände und ausgehende Verbindungsziele. |
| Aktionen mit weitreichenden Folgen | Menschliche Freigabe | Zeigen Sie vor einem Deployment in Produktion, einer Zahlung, einer Löschung oder einem externen Versand das genaue Ziel und die Änderung. |
| Dienste mit Authentifizierung | Begrenzte Zugangsdaten | Beschränken Sie jede Integration auf die notwendigen Ressourcen und Aktionen. |
| Nicht vertrauenswürdige MCP-Server | Serverisolation | Prüfen Sie Tool-Definitionen und verhindern Sie, dass von einem Server zurückgegebene Anweisungen Zugriff auf ein anderes Tool gewähren. |
| Tool-Ausführung | Audit Traces | Erfassen Sie Identität, Ziel, Berechtigungsentscheidung, Freigabe und Ergebnis; entfernen Sie private Inhalte aus den Nutzdaten. |
| Verarbeitung von Ein- und Ausgaben | Guardrails | Prüfen Sie die Abdeckung für jedes Tool. Ein Textfilter gewährt keine Berechtigung und macht eine abgeschlossene Aktion nicht rückgängig. |
| Release- und Regressionstests | Angriffstests | Testen Sie Prompt Injection, irreführende Tool-Definitionen, die Offenlegung privater Daten und die Umgehung von Berechtigungen. |
Was zuerst zu implementieren ist
Entfernen Sie zuerst unnötige Fähigkeiten. Wenn der Agent nicht in GitHub schreiben muss, geben Sie ihm keinen Token mit Schreibrechten. Wenn er nur freie Kalenderzeiten benötigt, gewähren Sie keinen vollständigen Zugriff auf das Postfach.
Prüfen Sie anschließend vor jedem Tool Call die Richtlinie. Untersuchen Sie Tool-Name, Argumente, Zielressource, Benutzer, Umgebung und Nebenwirkung. Eine harmlos wirkende Anfrage kann trotzdem einen gefährlichen Shell-Befehl erzeugen.
Fügen Sie Sandboxes für Codeausführung, Browserautomatisierung, Dateizugriff und die Verarbeitung nicht vertrauenswürdiger Dokumente hinzu. Eine Sandbox macht die Aktion nicht korrekt, reduziert aber den Schaden durch ein kompromittiertes Tool Result oder ein verwirrtes Model.
Kontrollieren Sie neben der Ausführung auch den Datenfluss. Beschränken Sie ausgehende Netzwerkziele, entfernen Sie Geheimnisse aus Tool Results, trennen Sie nicht vertrauenswürdige Inhalte von Zugangsdaten und protokollieren Sie ausgehende Verbindungsversuche. Eine Dateisystem-Sandbox, die weiterhin beliebigen Netzwerkzugriff erlaubt, ermöglicht eine direkte Datenexfiltration.
Verwenden Sie menschliche Freigaben für unumkehrbare Aktionen. Genehmigen Sie nicht jeden Schritt. Genehmigen Sie konkrete Aktionen mit weitreichenden Folgen: Deployments in Produktion, Datenlöschungen, E-Mail-Versand, Geldtransfers, Berechtigungsänderungen und Entscheidungen in regulierten Bereichen.
MCP-spezifische Risiken
MCP ist nützlich, weil es den Tool-Zugriff standardisiert. Es ist riskant, weil Tool-Beschreibungen, Schemas, Serveridentitäten, OAuth-Berechtigungsbereiche und Tool-Ausgaben alle zum Entscheidungskontext des Models gehören.
Für MCP würde ich diese Regeln bei der Codeprüfung beibehalten:
- Tool-Beschreibungen und Schemas vor der Freigabe prüfen
- Zugangsdaten mit engen Berechtigungsbereichen pro Server bevorzugen
- nicht vertrauenswürdige MCP-Server von sensiblen Tools isolieren
- Änderungen an Tool-Definitionen nach der Installation beobachten
- Tool-Ausgaben als nicht vertrauenswürdige Eingaben behandeln
- Server- und Tool-Identitäten, Richtlinienentscheidungen und Ergebnisse protokollieren; Argumente und Ergebnisse vor dem Speichern minimieren und sensible Inhalte entfernen
Guardrails reichen nicht aus
Guardrails können Text und Tool Calls prüfen. Im OpenAI Agents SDK können Eingabe-Guardrails für Tools ein geschütztes Funktionstool blockieren, bevor es ausgeführt wird. Gehostete Tools und integrierte Ausführungstools verwenden nicht dieselbe Pipeline. Prüfen Sie daher die Abdeckung für jedes bereitgestellte Tool. Ausgabeprüfungen finden nach der Ausführung statt und können eine Nebenwirkung nicht rückgängig machen.
Setzen Sie Berechtigungen vor der Ausführung durch, zusätzlich zu etwaigen Guardrail-Prüfungen. Begrenzen Sie Zugangsdaten und isolieren Sie Tools auch dann, wenn ihre Eingaben die Validierung bestehen.
Befolgen Sie die OWASP-Empfehlungen zur Protokollierung: Schließen Sie Geheimnisse und unnötige personenbezogene Daten aus Traces aus. Beschränken Sie den Lesezugriff auf Protokolle und legen Sie eine Aufbewahrungsdauer fest. Ein Audit-Protokoll sollte helfen, eine Aktion zu rekonstruieren, ohne alle privaten Nutzdaten zu kopieren.
Weiterführende Lektüre
- Sicherheit von AI Agents ist der vollständige Architekturleitfaden.
- Tool Use bei AI Agents erläutert MCP, Tools, CLI, Skills und Codeausführung.
- Agent Runtime für langfristig laufende AI Agents behandelt Runtime-Grenzen für langfristig laufende Agents.