Deutsch

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 bubblewrap

Codex 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.

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.

Fragen Sie Codex, was Sie möchten.

Um Genehmigung bitten

Codex kann Dateien im aktuellen Arbeitsbereich lesen und bearbeiten sowie routinemäßige lokale Befehle ausführen. Vor der Internetnutzung oder dem Überschreiten der Arbeitsbereichsgrenze fragt es nach.

Sandboxworkspace-writeGenehmigungsrichtlinieon-requestPrüfinstanzuser

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.