Sandbox
Sandbox
So funktioniert Sandboxing in den ChatGPT- und Codex-Clients
ChatGPT-Desktop-App
Die Sandbox setzt Grenzen, innerhalb derer der Agent autonom handeln kann, ohne uneingeschränkten Zugriff auf Ihren Rechner zu erhalten. Wenn ein lokaler Chat Befehle in der ChatGPT-Desktop-App, der Codex CLI oder der IDE-Erweiterung ausführt, laufen diese in einer eingeschränkten Umgebung statt standardmäßig mit Vollzugriff.
Diese Umgebung legt fest, was der Agent selbstständig tun darf, etwa welche Dateien er ändern kann und ob Befehle das Netzwerk nutzen dürfen. Solange eine Aufgabe innerhalb dieser Grenzen bleibt, kann der Agent weiterarbeiten, ohne für eine Bestätigung anzuhalten. Wenn er diese Grenzen überschreiten muss, greift der Genehmigungsprozess.
Was die Sandbox bewirkt
Die Sandbox gilt für gestartete Befehle, nicht nur für integrierte
Dateioperationen. Wenn der Agent Werkzeuge wie git, Paketmanager oder Test-Runner ausführt,
übernehmen diese Befehle dieselben Sandbox-Grenzen.
Codex setzt die Einschränkungen auf jedem Betriebssystem mit plattformeigenen Mechanismen durch. Die Implementierung unterscheidet sich zwischen macOS, Linux, WSL2 und nativem Windows, doch das Prinzip ist auf allen Oberflächen gleich: Der Agent erhält einen begrenzten Arbeitsbereich, damit Routineaufgaben innerhalb klarer Grenzen autonom ausgeführt werden können.
Warum das wichtig ist
Die Sandbox reduziert die Belastung durch Genehmigungsanfragen. Statt Sie jeden risikoarmen Befehl bestätigen zu lassen, kann der Agent Dateien lesen, Änderungen vornehmen und routinemäßige Projektbefehle innerhalb der bereits von Ihnen genehmigten Grenzen ausführen.
Außerdem bietet sie Ihnen ein klareres Vertrauensmodell für die Arbeit mit Agenten. Sie vertrauen nicht nur auf die Absichten des Agenten, sondern auch darauf, dass er innerhalb technisch durchgesetzter Grenzen arbeitet. So können Sie den Agenten leichter selbstständig arbeiten lassen und wissen dennoch, wann er anhält und um Hilfe bittet.
Erste Schritte
Der standardmäßige Berechtigungsmodus wendet Sandboxing automatisch an.
Voraussetzungen
Unter macOS funktioniert Sandboxing ohne zusätzliche Einrichtung über das integrierte Seatbelt-Framework.
Unter Windows verwendet Codex die native Windows- Sandbox, wenn Sie PowerShell nutzen, und die Linux-Sandbox-Implementierung, wenn Sie WSL2 nutzen.
Unter Linux und WSL2 installieren Sie zunächst bubblewrap mit Ihrem Paketmanager:
sudo apt install bubblewrapsudo dnf install bubblewrapCodex verwendet die erste ausführbare Datei bwrap, die es in PATH findet. Wenn keine ausführbare Datei bwrap
verfügbar ist, greift Codex auf ein mitgeliefertes Hilfsprogramm zurück. Dieses
benötigt jedoch Unterstützung für das Erstellen von Benutzer-Namespaces ohne erhöhte Rechte. Die Installation des
Distributionspakets, das bwrap bereitstellt, sorgt für eine zuverlässige Einrichtung.
Codex zeigt beim Start eine Warnung an, wenn bwrap fehlt oder das Hilfsprogramm
den benötigten Benutzer-Namespace nicht erstellen kann. Auf Distributionen, die diese
AppArmor-Einschränkung anwenden, sollten Sie vorzugsweise das AppArmor-Profil bwrap laden, damit bwrap
weiter funktioniert, ohne die Einschränkung global zu deaktivieren.
So funktionieren Berechtigungen
Über die Berechtigungssteuerung Ihrer Oberfläche ändern Sie, wie Codex lokale Aktionen handhabt.
Genehmigungen bestimmen, wann Codex vor einer Aktion pausiert, während die Sandbox festlegt, auf welche Dateien und Netzwerkressourcen Befehle zugreifen dürfen. Wenn eine Genehmigung verschiedene Geltungsbereiche anbietet, etwa einmalig oder für die gesamte Sitzung, wählen Sie den engsten Geltungsbereich, mit dem die Aufgabe fortgesetzt werden kann. Behalten Sie die Projektgrenze als Standard bei; verwenden Sie separate Projekte oder Worktrees, statt den Zugriff auf nicht zusammengehörige Repositorys auszuweiten.
ChatGPT Work führt Code und Shell-Befehle in einer verwalteten, isolierten Umgebung aus. Die Richtlinien des Arbeitsbereichs und werkzeugspezifische Kontrollen bestimmen, welche Funktionen verfügbar sind. Wenn die Einstellung verfügbar ist, verwenden Sie Einstellungen > Datenkontrollen > Work- Netzwerkzugriff, um den Netzwerkzugriff für Code und Shell-Befehle zu verwalten. Aktivieren Sie Öffentlichen Internetzugriff erlauben, damit diese Befehle auf das öffentliche Internet zugreifen können. Ist die Option deaktiviert, können Befehle nur erforderliche Hostnamen aus einer verwalteten Positivliste erreichen.
Websuche, Plugins und der Remote-Browser verfügen über separate Kontrollen. Änderungen werden wirksam, nachdem die aktuelle Code- oder Shell-Ausführung beendet ist und Work seine Ausführungsumgebung aktualisiert. ChatGPT im Web bietet keine Auswahl für die lokale Codex-Sandbox oder den Genehmigungsmodus.
In der ChatGPT-Desktop-App verwenden Sie die Berechtigungssteuerung unter dem Eingabefeld. Je nach Konfiguration kann das Menü Um Genehmigung bitten, Für mich genehmigen für geeignete Genehmigungsanfragen, Vollzugriff sowie benannte oder benutzerdefinierte Berechtigungsprofile enthalten.
Geben Sie in der CLI
/permissions
ein, um die Berechtigungsauswahl zu öffnen und das aktive Berechtigungsprofil zu ändern.
In der IDE-Erweiterung verwenden Sie die Berechtigungssteuerung unter dem Eingabefeld. Je nach Konfiguration kann das Menü Um Genehmigung bitten, Für mich genehmigen für geeignete Genehmigungsanfragen, Vollzugriff sowie benannte oder benutzerdefinierte Berechtigungsprofile enthalten.
Chat
Agent
Agent (Vollzugriff)
Standardeinstellungen konfigurieren
Damit bei jedem Start dasselbe Verhalten gilt, legen Sie Standardeinstellungen in config.toml fest.
Konfigurationsgrundlagen erklärt die Funktionsweise, und die
Konfigurationsreferenz dokumentiert die genauen Schlüssel für
sandbox_mode, approval_policy, approvals_reviewer und
sandbox_workspace_write.writable_roots. Mit diesen Einstellungen bestimmen Sie, wie viel
Autonomie der Agent standardmäßig erhält, in welche Verzeichnisse er schreiben darf, wann er
für eine Genehmigung pausieren soll und wer geeignete Genehmigungsanfragen prüft.
Die gängigen Sandbox-Modi im Überblick:
read-only: Der Agent kann Dateien einsehen, aber ohne Genehmigung weder Dateien bearbeiten noch Befehle ausführen.workspace-write: Der Agent kann Dateien lesen, innerhalb des Arbeitsbereichs bearbeiten und routinemäßige lokale Befehle innerhalb dieser Grenzen ausführen. Dies ist der standardmäßige, unkomplizierte Modus für lokale Arbeiten.danger-full-access: Der Agent arbeitet ohne Sandbox-Einschränkungen. Dadurch entfallen die Dateisystem- und Netzwerkgrenzen. Verwenden Sie diesen Modus nur, wenn der Agent mit Vollzugriff handeln soll.
Die gängigen Genehmigungsrichtlinien sind:
on-request: Der Agent arbeitet standardmäßig innerhalb der Sandbox und fragt nach, wenn er diese Grenzen überschreiten muss.never: Der Agent hält nicht für Genehmigungsanfragen an.
Codex und ChatGPT Work unterstützen untrusted nicht mehr als auswählbare Genehmigungsrichtlinie.
Wenn eine bestehende Konfiguration diesen Wert verwendet, lesen Sie Migration von der nicht mehr
unterstützten Genehmigungsrichtlinie untrusted.
Bei interaktiven Genehmigungen können Sie außerdem mit approvals_reviewer festlegen, wer sie prüft:
user: Genehmigungsanfragen werden dem Benutzer angezeigt. Dies ist die Standardeinstellung.auto_review: Geeignete Genehmigungsanfragen gehen an einen Prüfagenten (siehe automatische Prüfung).
Vollzugriff bedeutet, sandbox_mode = "danger-full-access" zusammen mit
approval_policy = "never" zu verwenden. Die risikoärmere Voreinstellung für lokale Automatisierung
ist dagegen sandbox_mode = "workspace-write" zusammen mit
approval_policy = "on-request" oder den entsprechenden CLI-Flags
--sandbox workspace-write --ask-for-approval on-request. Anschließend können Sie
approvals_reviewer = "user" für manuelle Genehmigungen beibehalten oder
approvals_reviewer = "auto_review" für die automatische Prüfung von Genehmigungsanfragen festlegen.
Wenn der Agent in mehreren Verzeichnissen arbeiten muss, können Sie mit beschreibbaren Stammverzeichnissen die Bereiche erweitern, in denen er Änderungen vornehmen darf, ohne die Sandbox vollständig aufzuheben. Wenn Sie eine weiter oder enger gefasste Vertrauensgrenze benötigen, passen Sie den standardmäßigen Sandbox-Modus und die Genehmigungsrichtlinie an, statt sich auf einmalige Ausnahmen zu verlassen.
Wenn ein Workflow eine bestimmte Ausnahme benötigt, verwenden Sie Regeln. Regeln ermöglichen es, Befehlspräfixe außerhalb der Sandbox zuzulassen, eine Genehmigung dafür anzufordern oder sie zu verbieten. Das ist oft passender, als den Zugriff pauschal auszuweiten. Informationen dazu, wo Sie IDE-spezifische Einstellungen finden, erhalten Sie unter Einstellungen der Codex-IDE-Erweiterung.
Die automatische Prüfung ändert, sofern verfügbar, die Sandbox-Grenze nicht. Sie ist
eine mögliche approvals_reviewer für Genehmigungsanfragen an dieser Grenze, etwa
für Sandbox-Eskalationen, blockierten Netzwerkzugriff oder Werkzeugaufrufe mit Seiteneffekten,
die weiterhin eine Genehmigung benötigen. Aktionen, die innerhalb der Sandbox bereits erlaubt sind, laufen
ohne zusätzliche Prüfung. Informationen zum Lebenszyklus der Prüfinstanz, zu Auslösertypen, zur Bedeutung
von Ablehnungen und zu Konfigurationsdetails finden Sie unter
Automatische Prüfung.
Plattformdetails finden Sie in der jeweiligen plattformspezifischen Dokumentation. Informationen zur Einrichtung, zum Verhalten und zur Fehlerbehebung unter nativem Windows finden Sie unter Windows. Anforderungen für Administratoren und organisationsweite Einschränkungen für Sandboxing und Genehmigungen finden Sie unter Agentengenehmigungen und Sicherheit.