Anthropic veröffentlicht sandbox-runtime: Sandbox für KI-Agenten ohne Container

Anthropic hat die Sandbox hinter dem Bash-Werkzeug von Claude Code als Open Source bereitgestellt. Das Tool „srt“ schränkt Dateizugriffe und Netzwerkverbindungen beliebiger Prozesse ein, ohne einen Container zu starten. Laut Anthropic sank die Zahl der Rückfragen in Claude Code dadurch um 84 Prozent.

Tools 24. Okt. 2026 4 Min. Lesezeit Quelle: MarkTechPost
Symbolbild, KI-generiert

Worum es geht

Anthropic hat mit dem sandbox-runtime (Kurzname srt) die Sandbox als Open Source veröffentlicht, die hinter dem sandboxed Bash-Tool von Claude Code steckt. Das Werkzeug begrenzt, welche Dateien ein Prozess anfassen und welche Hosts er im Netzwerk erreichen darf. Es braucht dafür keinen Container. Es ist auch nicht an Claude Code gebunden: Eigene Agenten, lokale MCP-Server (Schnittstellen, über die KI-Agenten externe Werkzeuge ansprechen) und normale Kommandozeilenprogramme lassen sich darin ausführen.

Installiert wird es mit npm install -g @anthropic-ai/sandbox-runtime. Danach stellt man einem Befehl einfach srt voran. Das Paket ist laut Quelle etwa 11,4 MB groß, steht unter Apache-2.0 und verlangt Node.js 22.12 oder neuer. Aktuell ist Version 0.0.81; der Status ist ein Beta-Research-Preview.

Wie die Sandbox funktioniert

srt nutzt die Isolationsfunktionen des jeweiligen Betriebssystems. Die Einschränkungen gelten für den gesamten Prozessbaum, also auch für Skripte und Unterprozesse.

  • macOS: sandbox-exec mit dynamisch erzeugten Seatbelt-Profilen (das sind Regelwerke des Systems, die Zugriffe erlauben oder verbieten). Nötig ist nur ripgrep.
  • Linux: bubblewrap, wobei der Netzwerk-Namespace entfernt wird – der Prozess hat also keinen direkten Weg ins Netz. Zusätzlich werden socat und ripgrep gebraucht. Auf Ubuntu 24.04+ ist laut Quelle eine AppArmor-Änderung für User-Namespaces nötig.
  • Windows (Alpha): ein eigenes Konto namens srt-sandbox, ein Egress-Filter der Windows Filtering Platform und explizite Datei-ACLs. Die Einrichtung braucht einmalig erhöhte Rechte.

Der Netzwerkverkehr verlässt die Sandbox nur über HTTP- und SOCKS5-Proxys, die auf dem Host laufen. Unter Linux sind diese über Unix-Sockets in die Sandbox eingebunden, unter macOS erlaubt das Profil nur einen einzigen localhost-Port. Die Proxys wenden dann deine Domain-Erlaubnis- und Sperrliste an.

Warum Dateisystem und Netzwerk zusammengehören

Das Anthropic-Team argumentiert, dass eine Grenze ohne die andere scheitert. Ohne Netzwerkisolation könnte ein per Prompt Injection (eingeschleuste Anweisungen in Texten, die der Agent liest) manipulierter Agent etwa SSH-Schlüssel nach außen schicken. Ohne Dateisystemisolation könnte er aus der Sandbox ausbrechen und Netzzugang erlangen.

Die Standardwerte folgen dieser Logik:

Bereich Standard
Lesen überall erlaubt, außer explizit verboten
Schreiben überall verboten, außer explizit erlaubt
Netzwerk verboten, außer die Domain steht auf der Erlaubnisliste

Konfiguration für MCP-Server und eigene Agenten

Bei einem MCP-Server ersetzt man in der .mcp.json den Befehl npx durch srt und übergibt den ursprünglichen Befehl als Argumente. Die Regeln stehen in ~/.srt-settings.json, zum Beispiel:

{
  "network": {
    "allowedDomains": ["api.github.com", "*.npmjs.org"],
    "deniedDomains": []
  },
  "filesystem": {
    "denyRead": ["~/.ssh"],
    "allowWrite": ["."],
    "denyWrite": [".env"]
  }
}

Für eigene Agenten gibt es die Bibliothek mit SandboxManager. initialize(config) startet die Proxys, wrapWithSandbox() liefert einen umhüllten Befehlsstring, den man dann startet.

Der Kompromiss: strenge Listen gegen arbeitsfähige Agenten

Coding-Agenten installieren Abhängigkeiten, holen Dokumentation und rufen APIs auf. Ist die Liste zu streng, scheitert schon npm install; ist sie zu locker, schützt die Sandbox kaum. Dafür gibt es mehrere Stellschrauben:

  • Wildcards und Ports, etwa *.npmjs.org oder api.example.com:443.
  • Ein Ask-Callback, der über Hosts entscheidet, die keine Regel abdeckt, und dem Modell einen Grund zurückgeben kann.
  • Erlaubnislisten pro Befehl, die ein Register nur für einen Aufruf öffnen.
  • Live-Updates der Netzwerklisten per --control-fd, während ein Befehl läuft.
  • Eine Prüfung der aufgelösten Adresse, die erlaubte Namen blockiert, wenn sie auf Loopback- oder Cloud-Metadaten-IPs zeigen.
  • Begründungen bei gesperrten Domains, die dem Agenten eine erlaubte Alternative nennen, etwa ein HTTPS-Git-Remote.

Die 84-Prozent-Zahl

Anthropic gibt an, dass die Sandbox die Berechtigungsabfragen in der internen Claude-Code-Nutzung um 84 Prozent reduziert hat. Das ist eine Eigenangabe, kein externer Benchmark. Gemeint ist die „Genehmigungsmüdigkeit“: Wer den ganzen Tag „Zulassen“ klickt, liest irgendwann nicht mehr, was er genehmigt. Mit einer festen Grenze kann der Agent innerhalb frei arbeiten und fragt nur am Rand.

Vergleich mit anderen Agenten-Sandboxes

Anthropic srt OpenAI Codex CLI Docker Sandboxes E2B
Isolation OS-Mittel OS-Mittel microVM Firecracker-microVM
Läuft lokal lokal lokal Cloud/BYOC
Container/VM nötig nein nein ja ja
Netzwerk-Standard alles gesperrt im Workspace-Modus aus (umschaltbar) gewählte Richtlinie an
Domain-Liste Wildcards + Ports nicht offengelegt Wildcards + Ports allowOut mit Wildcards
Lizenz Apache-2.0 Apache-2.0 nicht offengelegt Apache-2.0 (SDK)

Einordnung

srt ist interessant für alle, die Agenten oder MCP-Server lokal laufen lassen und dabei weder Docker noch eine VM wollen. Die Idee „gesperrt als Standard, gezielt freigeben“ ist sicherheitstechnisch sauber. Wichtig bleibt: Laut der Quelle ist die Breite der Erlaubnisliste der eigentliche Sicherheitsregler – zu breite Domains können Daten durchlassen. Das Projekt ist noch Beta, Windows nur Alpha, und die 84 Prozent stammen von Anthropic selbst. Der Vergleich mit Konkurrenten stammt aus dem Quellartikel und ist nicht unabhängig geprüft.

Quellen

#anthropic#sandbox#ai-agents#claude-code#open-source#sicherheit
Originalquelle lesen