/pattern/sandbox-execution/

04 · ProductionGovernance & SafetyIsolated ExecutionCode SandboxSecure Runtime

Sandbox Execution.
Code dort ausführen, wo er nicht entkommen kann.

Vom Modell generierter oder vom Agenten ausgewählter Code läuft in einer isolierten Umgebung — einem Container, einer MicroVM (z. B. Firecracker) oder einer gehosteten Code-Sandbox — ohne Zugriff auf Host-Dateisystem, Netzwerk oder Anmeldedaten über das hinaus, was die Aufgabe ausdrücklich benötigt.

In der PraxisEin Datenanalyse-Agent führt vom Nutzer bereitgestellte Python-Snippets in einem gVisor-Container aus, sodass ein bösartiges Skript nicht das Host-Dateisystem lesen kann.

Ohne esOhne Sandbox läuft vom Modell generierter Code mit den vollen Host-Berechtigungen des Agenten und macht eine Prompt-Injektion zu einem beliebigen Codeausführungspfad. Zum Anti-Pattern →

Wann man dazu greift

  • Agenten Code, Shell-Befehle oder Browser-Aktionen ausführen.
  • Nicht vertrauenswürdige Eingaben verarbeitet werden.
  • Nebeneffekte eingedämmt werden müssen.

Wann es nach hinten losgeht

  • Keine dynamische Ausführung stattfindet.
  • Sandbox-Ausbrüche nicht kontrolliert werden können.
  • Externe Aktionen besser über verifizierte Tools abgewickelt werden.

Die Abwägung

Sichere Ausführung wird auf Kosten von Infrastruktur- und Performance-Overhead erreicht.

Die Wirkung

Was es tatsächlich tut.

Nicht vertrauenswürdiger Code läuft in einer isolierenden Sandbox.

codesandboxresultcontained
Fallstricke

Zwei Wege, wie dieses Pattern Probleme verursachen kann.

Sandbox-Ausbrüche über Seitenkanal-Tool-Aufrufe

Die Sandbox blockiert Dateizugriff, aber der generierte Code nutzt ein Web-Request-Tool zum Exfiltrieren von Daten.

Lösung · Den innerhalb der Sandbox verfügbaren Tool-Satz prüfen. Netzwerkfähige Tools entfernen, sofern sie nicht ausdrücklich benötigt und überwacht werden.

Ressourcenerschöpfung

Eine unkontrollierte Schleife innerhalb der Sandbox verbraucht die gesamte CPU oder den gesamten Arbeitsspeicher. Der Host-Prozess verschlechtert sich oder stürzt ab.

Lösung · cgroup-Limits für CPU, Arbeitsspeicher und reale Laufzeit (Wall-Clock-Zeit) erzwingen. Die Sandbox beenden, wenn ein Limit überschritten wird.

Framework-Unterstützung

Wo Sandbox Execution nativ ist.

OpenAI Agents SDKCode InterpreterNativ
AutoGen / AG2Docker-Code-ExecutorNativ
Microsoft Agent Frameworkgehosteter Code-InterpreterNativ
LangGraphgesandboxter Tool-NodeNativ

Suche

Patterns, Frameworks und Seiten durchsuchen.