Zurück zu den Updates
New releaseJul 23, 2026

sandbox-runtime v0.0.67

Ein leichtgewichtiges Sandboxing-Tool zur Durchsetzung von Dateisystem- und Netzwerkbeschränkungen für beliebige Prozesse auf Betriebssystemebene, ohne dass ein Container erforderlich ist.

Teilen

Anthropic Sandbox Runtime (srt)

Ein leichtgewichtiges Sandboxing-Tool zur Durchsetzung von Dateisystem- und Netzwerkeinschränkungen für beliebige Prozesse auf Betriebssystemebene, ohne dass ein Container erforderlich ist.

srt verwendet native Sandboxing-Primitive des Betriebssystems (sandbox-exec unter macOS, bubblewrap unter Linux) und proxy-basierte Netzwerkfilterung. Es kann verwendet werden, um das Verhalten von Agents, lokalen MCP-Servern, Bash-Befehlen und beliebigen Prozessen in einer Sandbox zu isolieren.

Beta Research Preview

Die Sandbox Runtime ist eine Research Preview, die für Claude Code entwickelt wurde, um sicherere KI-Agents zu ermöglichen. Sie wird als frühe Open-Source-Vorschau verfügbar gemacht, um dem breiteren Ökosystem zu helfen, sicherere agentische Systeme zu entwickeln. Da es sich um eine frühe Research Preview handelt, können sich APIs und Konfigurationsformate weiterentwickeln. Wir freuen uns über Feedback und Beiträge, um KI-Agents standardmäßig sicherer zu machen!

Installation```bash

npm install -g @anthropic-ai/sandbox-runtime

## Grundlegende Verwendung```bash
# Network restrictions
$ srt "curl anthropic.com"
Running: curl anthropic.com
<html>...</html>  # Request succeeds

$ srt "curl example.com"
Running: curl example.com
Connection blocked by network allowlist  # Request blocked

# Filesystem restrictions
$ srt "cat README.md"
Running: cat README.md
# Anthropic Sandb...  # Current directory access allowed

$ srt "cat ~/.ssh/id_rsa"
Running: cat ~/.ssh/id_rsa
cat: /Users/ollie/.ssh/id_rsa: Operation not permitted  # Specific file blocked

Überblick

Dieses Paket bietet eine eigenständige Sandbox-Implementierung, die sowohl als CLI-Tool als auch als Bibliothek verwendet werden kann. Es ist mit einer Secure-by-Default-Philosophie konzipiert, die auf gängige Entwickler-Anwendungsfälle zugeschnitten ist: Prozesse starten mit minimalem Zugriff, und Sie öffnen explizit nur die Lücken, die Sie benötigen.

Wichtige Funktionen:

  • Netzwerkeinschränkungen: Steuern Sie, auf welche Hosts/Domains über HTTP/HTTPS und andere Protokolle zugegriffen werden kann
  • Dateisystemeinschränkungen: Steuern Sie, welche Dateien/Verzeichnisse gelesen/geschrieben werden können
  • Unix-Socket-Einschränkungen: Steuern Sie den Zugriff auf lokale IPC-Sockets
  • Verletzungsüberwachung: Nutzen Sie unter macOS den Sandbox-Verletzungsprotokollspeicher des Systems für Echtzeitwarnungen

Beispielanwendungsfall: Sandboxing von MCP-Servern

Ein wichtiger Anwendungsfall ist das Sandboxing von Model Context Protocol (MCP)-Servern, um deren Fähigkeiten einzuschränken. Um beispielsweise den Dateisystem-MCP-Server zu sandboxen:

Ohne Sandboxing (.mcp.json):```json { "mcpServers": { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem"] } } }

**Mit Sandboxing** (`.mcp.json`):```json
{
  "mcpServers": {
    "filesystem": {
      "command": "srt",
      "args": ["npx", "-y", "@modelcontextprotocol/server-filesystem"]
    }
  }
}

Dann konfigurieren Sie Einschränkungen in ~/.srt-settings.json:```json { "filesystem": { "denyRead": [], "allowWrite": ["."], "denyWrite": ["~/sensitive-folder"] }, "network": { "allowedDomains": [], "deniedDomains": [] } }

Nun wird der MCP-Server daran gehindert, in den verweigerten Pfad zu schreiben:```
> Write a file to ~/sensitive-folder
✗ Error: EPERM: operation not permitted, open '/Users/ollie/sensitive-folder/test.txt'

Funktionsweise

Die Sandbox verwendet Betriebssystem-Primitive, um Einschränkungen durchzusetzen, die für den gesamten Prozessbaum gelten:

  • macOS: Verwendet sandbox-exec mit dynamisch generierten Seatbelt-Profilen
  • Linux: Verwendet bubblewrap zur Containerisierung mit Netzwerk-Namespace-Isolierung
  • Windows: Führt den sandboxed Prozess unter einem dedizierten lokalen Benutzerkonto srt-sandbox aus, mit einem Windows Filtering Platform-Egress-Zaun, der auf die SID dieses Kontos abgestimmt ist, sowie expliziten ACEs pro Sitzung auf dem Arbeitsverzeichnis

0d1c612947c798aef48e6ab4beb7e8544da9d41a-4096x2305

Duales Isolationsmodell

Sowohl Dateisystem- als auch Netzwerkisolierung sind für effektives Sandboxing erforderlich. Ohne Dateiisolierung könnte ein kompromittierter Prozess SSH-Schlüssel oder andere sensible Dateien exfiltrieren. Ohne Netzwerkisolierung könnte ein Prozess aus der Sandbox entkommen und uneingeschränkten Netzwerkzugriff erlangen.

Dateisystemisolierung erzwingt Lese- und Schreibbeschränkungen:

  • Lesen (Deny-then-Allow-Muster): Standardmäßig ist Lesezugriff überall erlaubt. Sie können breite Bereiche verweigern (z. B. /Users) und dann bestimmte Pfade darin wieder erlauben (z. B. .). allowRead hat Vorrang vor denyRead — das Gegenteil von Schreiben, wo denyWrite Vorrang vor allowWrite hat. Ein denyRead-Eintrag, der spezifischer ist als der allowRead-Bereich, in den er fällt (z. B. denyRead: ["**/.env"] oder ["./secrets"] mit allowRead: ["."]), bleibt dennoch verweigert.
  • Schreiben (Allow-only-Muster): Standardmäßig ist Schreibzugriff überall verweigert. Sie müssen Pfade explizit erlauben (z. B. ., /tmp). Eine leere Allow-Liste bedeutet keinen Schreibzugriff.

Netzwerkisolierung (Allow-only-Muster): Standardmäßig ist jeglicher Netzwerkzugriff verweigert. Sie müssen Domains explizit erlauben. Eine leere allowedDomains-Liste bedeutet keinen Netzwerkzugriff. Netzwerkverkehr wird über Proxy-Server geleitet, die auf dem Host laufen:

  • Linux: Anfragen werden über das Dateisystem über einen Unix-Domain-Socket geleitet. Der Netzwerk-Namespace des sandboxed Prozesses wird vollständig entfernt, sodass der gesamte Netzwerkverkehr über die Proxies laufen muss, die auf dem Host laufen (lauschen auf Unix-Sockets, die in die Sandbox bind-mounted sind)

  • macOS: Das Seatbelt-Profil erlaubt Kommunikation nur zu einem bestimmten localhost-Port. Die Proxies lauschen auf diesem Port und schaffen so einen kontrollierten Kanal für jeglichen Netzwerkzugriff

  • Windows: Ein maschinenweiter WFP-Filtersatz blockiert alle ausgehenden Verbindungen, die vom srt-sandbox-Konto ausgehen, außer Loopback zum Proxy-Portbereich. Die Proxies lauschen innerhalb dieses Bereichs und schaffen so einen kontrollierten Kanal für jeglichen Netzwerkzugriff

Sowohl HTTP/HTTPS (über HTTP-Proxy) als auch anderer TCP-Verkehr (über SOCKS5-Proxy) werden durch diese Proxies vermittelt, die Ihre Domain-Allowlists und -Denylists durchsetzen.

Weitere Details zum Sandboxing in Claude Code finden Sie unter:

Kategorien