Tiefe
Gleiches Kapitel, drei Tiefen. Die Wahl gilt überall und bleibt gespeichert.

GrundlagenVibe-Coding / Agentic EngineeringKapitel 09von 13 im Pfad

Sandbox und Isolierung

Tiefe 1: Überblick · Lesezeit 9 Min. · Stand

Ein Agent auf der Kommandozeile fragt, bevor er etwas ausführt. Wer damit arbeitet, beantwortet diese Frage am Tag ein paar Dutzend Mal, und irgendwann steht eine Liste dessen da, was ohne Rückfrage durchlaufen darf.

Diese Liste beantwortet eine Frage. Sie lässt eine zweite offen: Was erreicht ein Befehl, während er läuft?

Zwei Größen, die man leicht verwechselt

Der Hersteller trennt beide in einem Satz:

Isolation restricts what a command can access once it runs. (externe Seite, code.claude.com)

Eine Rechteregel entscheidet vor dem Start. Sie sieht auf den Aufruf und lässt ihn zu oder hält ihn an. Die Isolierung wirkt danach, und sie sieht auf etwas anderes: auf das, was der laufende Vorgang berührt, also welche Dateien und welche Adressen im Netz.

Der Unterschied wird an einer Stelle greifbar, die für den Betrieb mit Agenten gebaut ist:

The operating system enforces the sandbox boundary on the running process, so it holds regardless of what the model chose to run and even if an allowed command does more than its name suggests. (externe Seite, code.claude.com)

Zwei Halbsätze, zwei verschiedene Sorgen. Der erste betrifft ein Modell, das etwas anderes gewählt hat, als jemand erwartet hätte. Der zweite betrifft einen Befehl, den man selbst erlaubt hat und dessen Name weniger verrät als sein Inhalt. Ein Skript heißt test, und was darin steht, hat niemand gelesen.

Die Grenze hat Stufen

Isolierung ist keine Eigenschaft, die man an- oder ausschaltet. Die Dokumentation stellt sechs Stufen nebeneinander, und fünf davon unterscheiden sich darin, wie viel innerhalb der Grenze liegt. Die sechste liegt neben der stärksten, nicht darüber: derselbe eigene Kern, nur bei Anthropic statt beim Nutzer.

StufeWas darin liegt
Bash-Sandboxjeder Bash-Befehl und seine Kindprozesse
Sandbox-Runtimeder ganze Claude-Code-Prozess, also auch Hooks und MCP-Server
Dev-Containerderselbe Umfang, dazu eine Firewall, die alles verbietet, was nicht erlaubt ist
eigener Containerdasselbe mit den Netzregeln und Abbildern der eigenen Organisation
virtuelle Maschineeigener Betriebssystemkern, die stärkste Trennung
Cloud-Sitzungderselbe eigene Kern, in einer virtuellen Maschine bei Anthropic
Fünf Stufen der Isolierung als Schalen: jede weitere schließt mehr ein, von den Bash-Befehlen bis zum eigenen Betriebssystemkern. Die Schalen liegen ineinander, die Bash-Sandbox als kleinste innen. Hooks und MCP-Server stehen erst ab der Sandbox-Runtime mit im Rand, bei der Bash-Sandbox allein daneben auf dem Rechner. WAS INNERHALB DER GRENZE LIEGT VIRTUELLE MASCHINE, EIGENER KERN EIGENER CONTAINER, EIGENE NETZREGELN DEV-CONTAINER, FIREWALL DAVOR SANDBOX-RUNTIME BASH-SANDBOX Befehle Hooks, MCP-Server Die Bash-Sandbox fasst nur den linken Kasten. Erst die Runtime nimmt den rechten dazu. Auf macOS zieht Seatbelt die Grenze, auf Linux bubblewrap.

seitlich verschiebbar

Fünf der sechs Stufen schließen einander ein, bis zum eigenen Kern. Beim Bash-Sandbox stehen Hooks und MCP-Server außerhalb; die sechste, eine Cloud-Sitzung, liegt daneben, mit demselben Kern bei Anthropic statt beim Nutzer.

eigene Darstellung nach der Herstellerdokumentation, Stand 24.09.2026

Auf macOS zieht die Grenze das eingebaute Seatbelt-System, auf Linux und WSL2 ein Werkzeug namens bubblewrap. Natives Windows wird nicht unterstützt.

Wo die Frage wirklich zählt

Solange ein Mensch danebensitzt und jede Rückfrage beantwortet, ist die Isolierung eine zweite Schicht. Beim unbeaufsichtigten Lauf wird sie die erste, und die Dokumentation sagt das ungewöhnlich deutlich:

With no prompts to catch mistakes, the isolation boundary you choose is what protects your system. (externe Seite, code.claude.com)

Damit hängt die Antwort daran, wie ein Lauf gestartet wird. Ein nächtlicher Automat, ein Lauf ohne Rückfragen, eine Runde in einem Ablauf: Überall dort fällt die Rückfrage als Sicherung weg, und übrig bleibt allein, was die Grenze hält.

Was der einfachste Fall nicht abdeckt

Die eingebaute Sandbox fasst Bash-Befehle. Daneben stehen zwei Einrichtungen, die unbeschränkt auf dem Rechner laufen:

are separate processes that run unconstrained on the host (externe Seite, code.claude.com)

Gemeint sind MCP-Server und Hooks, also genau die beiden Einrichtungen aus Kapitel 08 und Agenten und Harness, Kapitel 02. Wer sie benutzt und die Isolierung für vollständig hält, hat eine Grenze um den kleineren Teil gezogen.

Auch die stärkeren Stufen haben ihre Kante. Die Anleitung zum Dev-Container schreibt sie selbst hin: Er hält niemanden davon ab, alles auszuleiten, was in ihm erreichbar ist, und dazu zählen die Zugangsdaten von Claude Code.

While the dev container provides substantial protections, no system is completely immune to all attacks. (externe Seite, code.claude.com)

Was daraus für die Einrichtung folgt, steht in der zweiten Tiefe. Der Grundsatz für diese hier ist schlichter. Was ein Agent anrichten kann, ergibt sich aus dem, was er erreicht, und das ist eine Entscheidung beim Einrichten. Sie fällt vor dem ersten Auftrag, nicht während einer Runde.

Quellen

5 Einträge, davon 1 Schlüsselarbeitalle erreichbar

Erreichbarkeit automatisch geprüft

  • SchlüsselarbeitDokumentationerreichbar

    Anthropic, Choose a sandbox environment (externe Seite, code.claude.com)

    code.claude.comgeprüft 24.09.2026

    Die Seite, die die Isolierung als eigene Größe neben den Rechten führt und sechs Stufen gegeneinanderstellt: die eingebaute Bash-Sandbox, die Sandbox-Runtime um den ganzen Prozess, den Dev-Container, einen eigenen Container, die virtuelle Maschine und, seit einem seit 23.09.2026 gesehenen neuen Abschnitt, die Cloud-Sitzung, eine virtuelle Maschine bei Anthropic mit eigenem Proxy für das GitHub-Zugangstoken (vorher unter dem Namen 'Claude Code on the web' geführt). Sie liefert die Trennlinie zum Auto-Modus, dessen Klassifikator je Aktion urteilt und deshalb keine Grenze ist, und sie benennt die Lücke der Bash-Sandbox: MCP-Server und Hooks sind eigene Prozesse und laufen unbeschränkt auf dem Rechner. Der schwerste Satz steht bei der Runtime und beschreibt, wie eine Grenze sich selbst aufhebt: Eine abgeschottete Sitzung, die an die Konfigurationspfade schreiben darf, hinterlässt Hooks, Rechteregeln oder MCP-Server, die beim nächsten Start außerhalb laufen. Dazu die Warnung, dass die Runtime auch ohne gültige Einstellungsdatei startet, weshalb ein sauberer Start nichts über die geladenen Einstellungen beweist.

  • Dokumentationerreichbar

    Anthropic, Configure the sandboxed Bash tool (externe Seite, code.claude.com)

    code.claude.comgeprüft 24.09.2026

    Die Herstellerdokumentation zur Sandbox, die jeden Bash-Befehl in eine vom Betriebssystem gezogene Grenze sperrt. Sie ist die Quelle für den Unterschied, um den es in diesem Kapitel geht: Eine Rechteregel entscheidet je Aufruf, diese Grenze gilt für den laufenden Prozess und alle seine Kinder. Zwei Stellen wiegen schwerer als die Beschreibung selbst. Erstens läuft die Sandbox voreingestellt fail-open: Fehlt ein Paket oder ist die Plattform nicht unterstützt, warnt Claude Code und arbeitet ohne Sandbox weiter, bis jemand sandbox.failIfUnavailable setzt. Zweitens darf das Modell die Grenze über einen Rückfallpfad selbst verlassen, wenn ein Befehl darin scheitert; der zweite Versuch läuft dann außerhalb und durch die gewöhnliche Rechteprüfung. Auf macOS trägt Seatbelt die Grenze, auf Linux und WSL2 bubblewrap, natives Windows wird nicht unterstützt. Seit Version 2.1.271 (Abschnitt 'Per-command allowed domains in auto mode', gesehen 23.09.2026) gibt es einen engeren Weg für einzelne Rechner: Im Auto-Modus kann ein Befehl seine eigene Liste erlaubter Rechner mitbringen, der Klassifikator prüft sie zusammen mit dem Befehl, und der Befehl bleibt dabei in der Sandbox.

  • Dokumentationerreichbar

    Anthropic, Development containers (externe Seite, code.claude.com)

    code.claude.comgeprüft 24.09.2026

    Die Anleitung zum Dev-Container samt der Beispielfassung mit einer Firewall, die alles verbietet, was nicht ausdrücklich erlaubt ist. Wertvoll ist sie vor allem, weil sie ihre eigene Grenze benennt: Der Container hält niemanden davon ab, alles auszuleiten, was in ihm erreichbar ist, und dazu gehören die Zugangsdaten von Claude Code selbst. Ebenso steht dort, dass das eingehängte Projektverzeichnis unmittelbar auf dem Rechner des Benutzers liegt, ein Schreibzugriff darin also die Grenze gar nicht erst berührt. Die Beispielfassung bezeichnet sich ausdrücklich als Ausgangspunkt, den jeder an seine eigene Umgebung anpasst.

  • Originalarbeiterreichbar

    SharedRoot; Escaping the Claude Cowork sandbox (externe Seite, accomplish.ai)

    accomplish.aigeprüft 24.09.2026

    Bericht des Entdeckers, Oren Yomtov von Accomplish AI, vom 23.07.2026. Beschreibt Schritt für Schritt, wie ein Agent in Claude Cowork aus seiner virtuellen Maschine ausbricht und auf dem Mac lesen und schreiben kann, und begründet, warum der dafür genutzte Kernel-Fehler der austauschbare Teil der Kette ist. Der Autor entwickelt ein konkurrierendes Produkt und legt das im Schlussabschnitt offen.

  • Dokumentationerreichbar

    CVE-2026-46331 (externe Seite, nvd.nist.gov)

    nvd.nist.govgeprüft 24.09.2026

    Der Eintrag im Schwachstellenverzeichnis des US-Normungsinstituts zu dem Linux-Kernel-Fehler, den die Ausbruchskette benutzt. Er sitzt in der Paketbearbeitung des Netzwerk-Schedulers und erlaubt es, den zwischengespeicherten Inhalt einer Datei zu verändern, die man nur lesen darf. Bewertet mit 7,8 von 10, öffentlich seit Juni 2026, in acht Kernel-Branches behoben.

Tippen Sie los.

↑↓ auswählenEnter öffnenDie Suche läuft im Browser. Nichts wird übertragen.