Couldn't load this page.

← Blog
Engineering

Claude Code sandbox: Integrierte Isolierung, Docker und Cloud

Yura Oak

Eine Claude Code sandbox begrenzt den Zugriff des Agenten während der Arbeit. Sie können die integrierte Shell-Sandbox mit /sandbox aktivieren, Claude Code in einem Docker-Container ausführen oder ihm eine separate Cloud-Maschine zuweisen. Die richtige Wahl hängt davon ab, welche Dateien, Prozesse und Anmeldeinformationen die Sitzung benötigt.

Beginnen Sie für lokale Arbeiten mit der integrierten Sandbox. Nutzen Sie für eine wiederholbare Entwicklungsumgebung einen Dev-Container. Bei Remote-Aufgaben oder mehreren gleichzeitig arbeitenden Agenten gibt eine Cloud-Sandbox jeder Aufgabe einen eigenen Arbeitsbereich.

Was schützt die integrierte Claude Code sandbox?

Claude Code nutzt Betriebssystemsteuerungen, um sein Shell-Tool und die davon gestarteten Prozesse einzuschränken. Es verwendet Seatbelt unter macOS und bubblewrap unter Linux. Die Sandbox kann das Schreiben in Dateien begrenzen und den Netzwerkzugriff über einen Proxy für erlaubte Domains einschränken.

Dieser Umfang ist wichtig, wenn Sie Tools hinzufügen. Die integrierten Datei-Tools, Hooks und lokalen MCP-Server von Claude Code befinden sich außerhalb der Shell-Sandbox. Um den gesamten Agentenprozess und seine lokalen Tools einzuschließen, führen Sie diese in einem Container, einer virtuellen Maschine oder einer separat konfigurierten Sandbox-Laufzeitumgebung aus. Ein Remote-MCP-Dienst behält die Berechtigungen, die Sie ihm zugewiesen haben. Siehe die Dokumentation zur Claude Code-Sandboxing.

SetupWas es enthältWas Sie weiterhin kontrollieren müssen
Integrierte Claude Code sandboxShell-Befehle und deren untergeordnete ProzesseDatei-Tools, Hooks, MCP-Dienste, lesbare Pfade und erlaubte Domains
Docker-Dev-ContainerProzesse und Dateien innerhalb des ContainersHost-Mounts, Docker-Socket-Zugriff, Berechtigungen und Netzwerkrichtlinien
Cloud-ArbeitsbereichAgentenprozesse auf einer separaten Maschine oder LaufzeitumgebungHochgeladene Daten, Anmeldeinformationen, Netzwerkzugriff und die tatsächliche Isolationsgrenze des Arbeitsbereichs

Claude Code Sandbox-Modus aktivieren

Unter macOS nutzt Claude Code die vorhandene Sandbox-Unterstützung des Systems. Installieren Sie unter Linux oder WSL2 zuerst die erforderlichen Pakete. Für ein Debian- oder Ubuntu-System:

sudo apt-get install bubblewrap socat

Starten Sie Claude Code in Ihrem Projekt und geben Sie ein:

/sandbox

Wählen Sie den Modus, der zu Ihrem Überprüfungsprozess passt. Der Auto-Allow-Modus lässt Sandbox-Shell-Befehle ohne Bestätigungsaufforderung ausführen. Reguläre Berechtigungen behalten den üblichen Bestätigungsablauf bei, während die Shell-Sandbox aktiv bleibt. Natives Windows benötigt WSL2 für diese Sandbox. Die Einrichtungsanleitung listet Plattformanforderungen und Einschränkungen auf.

Für eine Sitzung, die Shell-Befehle innerhalb der Sandbox halten muss, starten Sie Claude Code mit:

claude --settings '{"sandbox":{"enabled":true,"allowUnsandboxedCommands":false,"failIfUnavailable":true}}'

allowUnsandboxedCommands: false deaktiviert den Fluchtweg für Befehle, die sonst außerhalb der Sandbox ausgeführt würden. failIfUnavailable: true lässt den Start fehlschlagen, wenn die Sandbox-Unterstützung fehlt. Überprüfen Sie auch alle ausgeschlossenen Befehle in Ihren Einstellungen. Dateilesezugriffe bleiben standardmäßig weit gefasst; fügen Sie Lesebeschränkungen hinzu, wenn die Sitzung keine Dateien an anderen Orten auf Ihrer Maschine sehen darf.

Grenze vor einem langen Lauf prüfen

Bitten Sie Claude, diese Befehle über sein Shell-Tool auszuführen:

touch ~/sandbox-probe
curl --noproxy '*' https://example.com

Führen Sie den Test aus einem Projektordner unterhalb Ihres Home-Verzeichnisses aus. Mit den vorgesehenen Einschränkungen sollte der erste Befehl fehlschlagen, da er außerhalb dieses Projekts schreibt. Der zweite testet, ob ein Befehl den Netzwerk-Proxy umgehen kann. Er sollte fehlschlagen, wenn der direkte Netzwerkzugriff blockiert ist. Eine erlaubte Anfrage über den Proxy kann weiterhin erfolgreich sein.

Lassen Sie Claude die Prüfungen ausführen. Die manuelle Eingabe eines Befehls in einem separaten Terminal testet die Shell-Sandbox des Agenten nicht.

Sandbox-Modus, Auto-Modus und das Überspringen von Berechtigungen

Berechtigungsmodi entscheiden, wann Claude um Erlaubnis fragt. Sandboxing steuert, was das Betriebssystem einem Befehl erlaubt.

Der Auto-Modus von Claude Code verwendet einen Klassifikator, um zu entscheiden, welche Aktionen fortgesetzt werden können. Das unterscheidet sich vom Auto-Allow-Modus der Shell-Sandbox. Prüfen Sie die Berechtigungsmodi, bevor Sie eine der Einstellungen ändern.

--dangerously-skip-permissions umgeht routinemäßige Berechtigungsaufforderungen. Es erstellt keinen Container, schränkt den Dateizugriff nicht ein und legt keine Netzwerkrichtlinie fest. Explizite Verweigerungsregeln und einige Prüfungen können weiterhin gelten. Wenn Sie es für unbeaufsichtigte Arbeit verwenden, konfigurieren und testen Sie zuerst die umgebende Isolierung. Unser Leitfaden zu dangerously-skip-permissions behandelt diesen Workflow.

Claude Code in Docker ausführen

Ein Dev-Container bietet dem Team die gleiche Startumgebung und hält die Prozesse des Agenten innerhalb eines Containers. Installieren Sie Docker und verwenden Sie einen Editor mit Dev-Containers-Unterstützung. Fügen Sie diese Datei unter .devcontainer/devcontainer.json in Ihrem Projekt hinzu:

{
  "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
  "remoteUser": "vscode",
  "features": {
    "ghcr.io/devcontainers/features/node:1": {
      "version": "22"
    },
    "ghcr.io/anthropics/devcontainer-features/claude-code:1.0": {}
  }
}

Öffnen Sie das Projekt im Container, lassen Sie es erstellen, führen Sie dann claude in dessen Terminal aus und melden Sie sich an. Diese Konfiguration installiert Claude Code und Node.js 22. Fügen Sie alle weiteren Laufzeitumgebungen und Abhängigkeiten hinzu, die Ihr Projekt benötigt. Die Feature-Version legt die installierte Claude Code-Version nicht fest.

Wir haben einen sauberen Build genau dieser Konfiguration getestet. Claude reparierte dann einen absichtlich fehlschlagenden Node.js-Test, und ein separater node --test-Lauf war erfolgreich. Die explizite Einbindung des Node.js-Features ist wichtig: Unser erster sauberer Build nur mit dem Claude Code-Feature schlug bei der Installation von Node.js und npm fehl.

Prüfen Sie die Mounts, bevor Sie dem Agenten Arbeit übergeben. Ein beschreibbarer Projekt-Mount ermöglicht es ihm, die Dateien auf Ihrem Host zu ändern. Vermeiden Sie das Mounten Ihres Home-Verzeichnisses, von Produktions-Anmeldeinformationen oder des Docker-Sockets des Hosts. Diese minimale Konfiguration fügt keine Netzwerk-Allowlist hinzu. Siehe Anthropics Dev-Container-Leitfaden und Dockers Sicherheitsdokumentation für die Kontrollen, die Ihr Setup benötigt.

Docker-Container und Docker Sandboxes unterscheiden sich

Docker bietet auch ein Produkt namens Docker Sandboxes an. Dessen dokumentierte Architektur verwendet MicroVMs und einen isolierten Docker-Daemon. Ein gewöhnlicher Dev-Container erhält diese Eigenschaften nicht, nur weil er Docker verwendet. Die Arbeitsbereichssynchronisierung hängt auch vom gewählten Docker Sandboxes-Modus ab. Lesen Sie dessen Architektur und Sicherheitsmodell, bevor Sie die beiden Setups als gleichwertig behandeln.

Wann eine Cloud-Sandbox hilft

Ein Remote-Arbeitsbereich hilft, wenn die Aufgabe weiterlaufen muss, nachdem Ihr Laptop die Verbindung getrennt hat, wenn Agenten separate Arbeitsbäume benötigen oder wenn Ihre Anwendung für jeden Benutzer einen Arbeitsbereich erstellt. Sie können ein Repository hineinkopieren, den Agenten ausführen, seine Änderungen überprüfen und die Dateien abrufen, die Sie behalten möchten.

Lizard Sandboxes führt jede Sandbox als Firecracker-MicroVM mit eigenem Kernel aus.

Eine separate Maschine hält den Job von Dateien fern, die Sie nicht von Ihrem Laptop freigegeben haben. Anmeldeinformationen und Dateien, die Sie in diese Maschine einfügen, bleiben für den dort ausgeführten Code verfügbar. Legen Sie deren Gültigkeitsbereich passend zur Aufgabe fest.

Claude Code in Lizard Sandboxes ausführen

Installieren Sie die Lizard CLI, melden Sie sich an und wählen Sie ein Projekt. Sie benötigen einen Anthropic-API-Schlüssel oder ein unterstütztes Claude-Abonnement-Token für die Modellaufrufe.

Um einen Anthropic-API-Schlüssel zu registrieren, führen Sie aus:

lizard agents add anthropic

Für ein Claude-Abonnement erstellen Sie ein Token und registrieren es mit der Lizard CLI:

claude setup-token
lizard agents add claude

Fügen Sie die Anmeldeinformation an der Eingabeaufforderung ein. Halten Sie sie aus Ihrem Repository und Ihrem Befehlsverlauf heraus. Die folgenden Befehle setzen voraus, dass die Registrierung erfolgreich war; unser Live-Test verwendete ein bestehendes Claude-Abonnement-Token.

Arbeitsbereich erstellen

Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID:

lizard sandbox create \
  --project YOUR_PROJECT_ID \
  --template claude \
  --size small \
  --timeout 3600000 \
  --json

Setzen Sie SB auf die Sandbox-ID in dieser Antwort:

SB=YOUR_SANDBOX_ID

Das Timeout hier gibt dem Arbeitsbereich eine Lebensdauer von einer Stunde. Der Standardwert beträgt fünf Minuten, und das Ausführen von Befehlen verlängert ihn nicht. Legen Sie genügend Zeit für den Job fest und speichern Sie Ihre Arbeit, bevor er abläuft. Siehe die CLI-Referenz für Lebenszyklus-Befehle.

Ein committetes Repository ohne GitHub-Token kopieren

Erstellen Sie aus dem lokalen Repository ein Git-Bundle und laden Sie es hoch:

BUNDLE_DIR=$(mktemp -d)
git bundle create "$BUNDLE_DIR/app.bundle" HEAD
lizard sandbox files put \
  "$SB" "$BUNDLE_DIR/app.bundle" /workspace/app.bundle
lizard sandbox exec "$SB" -- \
  git clone /workspace/app.bundle /workspace/app

Das Bundle enthält den committeten Verlauf, der von HEAD erreichbar ist. Es schließt nicht committete und nicht verfolgte Dateien aus, aber alle in diesem Verlauf committeten Geheimnisse reisen weiterhin mit. Überprüfen Sie das Repository vor der Übertragung. Das Klonen dieses Bundles kann den Checkout bei einem losgelösten HEAD belassen; Sie können die Bearbeitungen des Agenten dennoch überprüfen und geänderte Dateien exportieren.

Claude eine kleine Aufgabe geben

lizard sandbox prompt "$SB" \
  --agent claude \
  --cwd /workspace/app \
  "Run the tests. Fix one failing test with the smallest reasonable change. Report what changed and which tests passed."

Behalten Sie --agent claude bei: Das Weglassen der Agenten-Option kann stattdessen den Standard-Agenten auswählen. Der Lizard-Runner verwendet die Berechtigungsumgehung innerhalb des Remote-Arbeitsbereichs, sodass die Aufgabe ohne interaktive Eingabeaufforderungen ausgeführt werden kann. Die Arbeitsbereichsgrenze und die von Ihnen bereitgestellten Anmeldeinformationen müssen daher zur Aufgabe passen. Code darin kann die dem Prozess zur Verfügung stehende Modell-Anmeldeinformation lesen.

In unserem Test subtrahierte eine Python-Funktion zwei Zahlen, während ihr Test deren Summe erwartete. Claude änderte diese Funktion, und ein unabhängiger Testlauf war danach erfolgreich.

Ergebnis überprüfen und abrufen

lizard sandbox exec "$SB" -- \
  git -C /workspace/app status --short
lizard sandbox exec "$SB" -- \
  git -C /workspace/app diff
lizard sandbox files get \
  "$SB" /workspace/app/path/to/changed-file ./changed-file.review

Ersetzen Sie path/to/changed-file durch die Datei, die Sie herunterladen möchten. Führen Sie die Tests des Projekts selbst aus, bevor Sie die Änderungen zusammenführen. Wir haben das Remote-Diff überprüft, den Test erneut ausgeführt und die korrigierte Datei heruntergeladen; ihr Inhalt stimmte mit dem Remote-Ergebnis überein.

Wenn Sie das Ergebnis gespeichert haben, pausieren Sie den Arbeitsbereich:

lizard sandbox pause "$SB"

Warten Sie, bis der Status paused ist. Eine erfolgreiche Pause stoppt die Berechnung der Rechenkosten. Exportieren Sie die Arbeit, bevor Sie eine Sandbox entfernen, und verwenden Sie Persistent Volumes, wenn Daten die Löschung der Sandbox überdauern müssen. Für gespeicherte Daten können weiterhin Gebühren anfallen.

Was kostet der Cloud-Arbeitsbereich?

Die veröffentlichten Rechenraten von Lizard am 18. Oktober 2026 waren:

GrößeCPU und SpeicherRechenleistung pro Stunde
Small2 vCPU, 4 GB$0.0162
Medium4 vCPU, 8 GB$0.0324
Large8 vCPU, 16 GB$0.0648

Zum Small-Tarif verbrauchen 100 Sandbox-Stunden $1.62 an Rechennutzung. Modellaufrufe, Speicher und alle anderen berechneten Ressourcen sind separat.

Lizard Pro kostet $19 pro Monat, inklusive Steuern, und beinhaltet $19 an Nutzung. Die Nutzung über diesen Betrag hinaus ist pay as you go. Neue Konten erhalten eine siebentägige Testversion mit $5 an Nutzung; eine Karte ist erforderlich. Gebühren für Claude-Abonnements oder die Anthropic-API sind von den Lizard-Gebühren getrennt. Prüfen Sie die aktuellen Preise, bevor Sie einen Job dimensionieren.

Eine laufende Sandbox verbraucht auch im Leerlauf Rechenleistung. Pausieren Sie sie erfolgreich, wenn Sie fertig sind; der Speicher von Persistent Volumes kann weiterhin berechnet werden, während die Rechenleistung pausiert ist.

Häufige Einrichtungsprobleme

ProblemWas zu prüfen ist
Native Sandbox kann unter Linux nicht startenInstallieren Sie bubblewrap und socat, starten Sie dann Claude Code neu. Prüfen Sie die Namespace-Einschränkungen des Hosts.
Eine benötigte Domain ist blockiertFügen Sie nur den erforderlichen Host zur Allowlist hinzu und versuchen Sie es erneut über den Proxy.
bubblewrap schlägt in einem Container fehlVerschachteltes Sandboxing hängt von der Host- und Container-Konfiguration ab. Befolgen Sie das unterstützte Setup, anstatt die Isolierung stillschweigend zu deaktivieren.
Host-Dateien ändern sich während eines Docker-LaufsPrüfen Sie beschreibbare Mounts. Ein gemountetes Repository teilt diese Bearbeitungen mit dem Host.
Der falsche Agent startet in LizardÜbergeben Sie --agent claude explizit.
Ein Cloud-Job endet, bevor er abgeschlossen istLegen Sie eine geeignete Lebensdauer fest und speichern Sie die Ergebnisse vor Ablauf. Befehle setzen die Lebensdauer nicht zurück.

Was wir getestet haben

Am 18. Oktober 2026 haben wir Claude Code 2.1.286 unter macOS und in einer frischen Small Firecracker-Sandbox über die Lizard CLI 4.0.58 ausgeführt. Die macOS-Prüfung erlaubte einen Schreibvorgang im Arbeitsbereich und blockierte sowohl einen Schreibvorgang außerhalb des Projekts als auch eine direkte Netzwerkanfrage, die den Proxy umging.

Der Cloud-Test umfasste den Upload eines Git-Bundles, das Klonen, die Reparatur eines fehlschlagenden Python-Tests durch Claude, einen unabhängigen Test-Wiederholungslauf, die Diff-Überprüfung, den Datei-Download und das Pausieren. Wir haben bestätigt, dass die Sandbox paused erreicht hat.

Der Docker-Test verwendete Docker Engine 28.1.1 auf ARM64, Dev Containers CLI 0.89.0, Node.js 22.23.3 und Claude Code 2.1.302. Die korrigierte Konfiguration wurde aus einem sauberen Container erstellt, und Claude reparierte einen fehlschlagenden Node.js-Test, der bei einem separaten Wiederholungslauf erfolgreich war. Wir haben auch den Linux-Paketinstallationsbefehl verifiziert.

Die Authentifizierung verwendete ein bestehendes Claude-Abonnement-Token. Wir haben die anfängliche OAuth-Registrierung nicht wiederholt oder die native Windows/WSL-Isolierung getestet. Diese Prüfungen decken die hier beschriebenen Befehle und Ergebnisse ab; sie stellen kein Sicherheitsaudit dar.

Welches Setup sollten Sie wählen?

Beginnen Sie mit der integrierten Claude Code sandbox für lokale Shell-Aufgaben, bei denen Sie die benötigten Pfade und Domains definieren können. Nutzen Sie einen Dev-Container, wenn Ihr Team eine gemeinsame Entwicklungsumgebung benötigt. Wählen Sie einen Cloud-Arbeitsbereich, wenn Aufgaben Remote-Rechenleistung oder separate Umgebungen für gleichzeitige Agenten erfordern.

Für einen ersten Lizard-Lauf kopieren Sie ein kleines Repository, bitten Claude, einen fehlschlagenden Test zu reparieren, überprüfen das Diff und pausieren den Arbeitsbereich. Der Claude Code-Leitfaden enthält die aktuellen Einrichtungsschritte.

Mit KI entwickeln. Mit Lizard ausliefern.

Du brauchst kein Plattform-Team, um live zu gehen. Deine ganze Cloud ist nur einen CLI-Befehl entfernt.

Dienste
—
Add-ons
—
Bereitstellungen
—
Gestartete Sandboxes
—

Wir verwenden Cookies für grundlegende Website-Funktionen und Analysen. Lies unsere Cookie-Richtlinie.