Halten Sie Geheimnisse aus der Arbeitsumgebung heraus und verweigern Sie den Zugriff auf sensible Dateien. Kombinieren Sie zunächst diese beiden Maßnahmen.

Schreibschutz, Freigaben und der Widerspruch gegen die Trainingsnutzung erfüllen unterschiedliche Aufgaben. Prüfen Sie getrennt, ob sie den Zugriff auf geheime Dateien verhindern können.

Lesen, Ausführen und Übertragen getrennt prüfen

Was gelesen werden kann

Entfernen Sie unnötige Geheimnisse aus der Arbeitsumgebung. Erwägen Sie eine deny-Regel für den Lesezugriff auf sensible Dateien.

Aktionen außerhalb der Grenze

Prüfen Sie, wer Freigaben kontrolliert. Erweitern Sie die Grenze nicht unbedacht durch Full access oder die Erlaubnis, außerhalb der Sandbox auszuführen.

Netzwerk und andere Werkzeuge

Prüfen Sie Befehlsnetzwerk, Übertragung an das Modell sowie Browser- und MCP-Zugriff getrennt.

Kein einzelner Schalter blockiert sämtliche Dateizugriffe, Netzwerkverbindungen und die Trainingsnutzung von Daten.

Die OpenAI-Dokumentation zu Permissions, Sandbox, Freigaben und Sicherheit sowie zur Konfiguration wurde am 8. Oktober 2026 geprüft. Dieser Artikel behandelt vor allem Befehle in einer lokalen Sandbox. Die Beispielkonfiguration wurde auf keinem realen Gerät angewendet oder auf ihre Durchsetzung getestet. Geräte- und Kontoeinstellungen wurden nicht geändert.

1. Schreibschutz, Freigaben und Trainingseinstellungen

Dateiänderungen zu verhindern ist etwas anderes, als das Lesen zu verhindern.

read-only

Beschränkt das Schreiben. Lesbare Dateiinhalte werden dadurch nicht als Geheimnisse verborgen.

workspace-write

Legt fest, wo Änderungen erlaubt sind. Das Lesen ist nicht zwangsläufig auf dieselben Orte beschränkt.

KontrolleWas sie hauptsächlich regeltWas sie allein nicht gewährleistet
SchreibschutzOb Dateien verändert werden dürfenDass zugängliche geheime Dateien nicht gelesen werden
FreigaberichtlinieWer Aktionen über eine Grenze hinweg prüftEine menschliche Prüfung jedes erlaubten Lesezugriffs
Dateibezogene deny-RegelnVerweigerung von Lese- und Schreibzugriffen auf bestimmte PfadeEntfernung bereits eingefügter Inhalte oder Sperrung anderer Zugriffswege
BefehlsnetzwerkbeschränkungenNetzwerkziele von Befehlen in der SandboxSperrung sämtlicher Verbindungen für Modelle, Authentifizierung, Browser, MCP und andere Dienste
TrainingseinstellungenOb verarbeitete Daten zur Modellverbesserung genutzt werdenDass die Daten weder verarbeitet noch übertragen werden

Auch mit on-request können Befehle innerhalb des erlaubten Bereichs ohne zusätzliche Freigabe laufen. Wenn Menschen prüfen sollen, kontrollieren Sie sowohl die Freigaberichtlinie als auch den Empfänger der Prüfanfrage.

Was bei automatischer KI-Prüfung anders ist

approvals_reviewer = "auto_review" leitet die betreffende Prüfung an eine KI. Dies ist keine menschliche Prüfung und macht nicht jede bereits erlaubte Aktion zusätzlich prüfpflichtig.

Quelle: OpenAI: Freigaben und Sandbox-Grenzen. Die Trainingsnutzung behandeln wir gesondert in ChatGPT und Codex: Trainingseinstellungen und vertrauliche Informationen.

2. Geheimnisse aus der Arbeitsumgebung heraushalten

Für eine UI-Änderung reichen möglicherweise Quellcode und erfundene Daten. Produktions-API-Schlüssel, Kundendaten und Familienunterlagen müssen nicht in derselben Umgebung liegen.

Eine Verschiebung in einen anderen Ordner reicht nicht aus. Bleiben umfassende Leserechte bestehen, können die Dateien weiterhin erreichbar sein.

Nur benötigte Inhalte in die Arbeitskopie aufnehmen

1
Quellcode und erfundene Daten vorbereiten

Verwenden Sie kleine Eingaben, die das Problem reproduzieren, statt Produktionsdaten.

2
Geheime Werte weglassen

Konfigurationsbeispiele sollten nur Feldnamen enthalten. Prüfen Sie auch Protokolle, Sicherungen und Verlauf.

3
Zugänge zur Umgebung prüfen

Prüfen Sie, ob andere Ordner, das Home-Verzeichnis, gemeinsame Speicher oder verbundene Apps erreichbar sind.

Auch bei Arbeitskopien, getrennten Benutzerkonten und Containern müssen freigegebene Ordner und bereitgestellte Zugangsdaten gesondert geprüft werden.
Verhindern Git-Ignore-Regeln das Lesen?

.gitignore bestimmt, welche nicht versionierten Dateien Git ignorieren soll. Leserechte des Betriebssystems entzieht die Datei nicht. Selbst wenn ein Suchwerkzeug eine Datei normalerweise überspringt, garantiert das nicht, dass der direkte Lesezugriff über ihren Pfad verweigert wird. Eine nachträgliche Ignore-Regel betrifft außerdem keine bereits von Git erfassten Dateien. Git-Dokumentation: Geltungsbereich von gitignore.

Anweisungen und technisch erzwungene Zugriffssperren

Die Anweisung „Keine Geheimnisse lesen“ in AGENTS.md kann als Arbeitsregel sinnvoll sein. Sie erzeugt allein keine Zugriffsbeschränkung des Betriebssystems. Kombinieren Sie Anweisungen mit technisch erzwungenen Sperren. Beispiele zum Anonymisieren finden Sie in Vorsichtsmaßnahmen bei Eingaben in KI-Werkzeuge.

3. Beispielkonfiguration zum Verweigern von Lesezugriffen

Permission profiles sind eine Beta-Funktion. Prüfen Sie vor dem Einsatz die unterstützte Umgebung und die in der aktuellen Sitzung ausgewählte Konfiguration.

read: Lesen

Erlaubt das Lesen des Ziels

write: Bearbeiten

Erlaubt das Schreiben am Ziel

deny: Verweigern

Verweigert sowohl Lesen als auch Schreiben am Ziel

Auf Konflikte mit bisherigen Sandbox-Einstellungen achten
Sind bisherige Einstellungen aktiv, werden Permission profiles unter Umständen nicht verwendet.

Konflikte und Administrationsvorgaben prüfen

Nicht mit bisherigen Einstellungen mischen: default_permissions und [permissions] sind nicht zur Kombination mit dem bisherigen sandbox_mode oder [sandbox_workspace_write] gedacht. Enthält die geladene Konfiguration sandbox_mode oder wird beim Start --sandbox verwendet, kommt normalerweise der bisherige Ansatz zum Einsatz. Administrationsvorgaben über allowed_permission_profiles sind eine gesonderte Bedingung.

Der folgende Konfigurationsvorschlag zur Veranschaulichung ergänzt das offizielle Beispiel für den Workspace um die Sperrung geheimer Dateien und menschliche Freigaben. Ersetzen Sie damit nicht Ihre gesamte vorhandene Konfiguration. Prüfen Sie Versionsunterstützung, Organisationsvorgaben und benötigte Ausführungspfade und testen Sie anschließend in einer Dummy-Umgebung.

Konfigurationsort: Benutzer und Projekt
Benutzerkonfiguration

~/.codex/config.toml

Projektkonfiguration

.codex/config.toml

Geltungsbereich und Ladebedingungen unterscheiden sich. Projektkonfigurationen werden nur für vertrauenswürdige Projekte geladen.

Beispiel: geheime Dateien sperren und das Befehlsnetzwerk abschalten
default_permissions = "project-private"
approval_policy = "on-request"
approvals_reviewer = "user"

[permissions.project-private]
extends = ":workspace"

[permissions.project-private.filesystem]
":root" = "deny"
":minimal" = "read"

[permissions.project-private.filesystem.":workspace_roots"]
".env" = "deny"
".env.production" = "deny"
"secrets" = "deny"

[permissions.project-private.network]
enabled = false

Welche Pfade erfasst dieses Beispiel?

Gilt für den aktuellen und jeden zusätzlichen Workspace

.envZur Sperrung vorgesehen
.env.productionZur Sperrung vorgesehen
secrets/ und InhaltZur Sperrung vorgesehen
subfolder/.envGesondert prüfen
Umbenannte Geheimnisse oder Kopien in ProtokollenGesondert prüfen
Die Grafik zeigt den vorgesehenen Geltungsbereich der Sperren, keine auf einem realen Gerät bestätigten Sperrergebnisse.
Außerhalb des Workspace

:root verweigert das Lesen. Ausnahmen sind etwa :minimal für die Ausführung und vom geerbten Profil erlaubte temporäre Verzeichnisse.

Innerhalb des Workspace

Erbt die Bearbeitungsrechte von :workspace und sperrt die oben angegebenen Pfade. In Ausgaben enthaltene Geheimnisse werden damit nicht erfasst.

Profilnamen, mehrere Workspaces und temporäre Dateien

project-private ist der für dieses Beispiel gewählte Name. :workspace_roots gilt für den aktuellen und zusätzliche Workspaces und erfasst die aufgeführten Pfade direkt unter dem jeweiligen Stammverzeichnis. secrets erfasst eine so benannte Datei oder einen gleichnamigen Verzeichnisbaum.

Die Konfiguration verhindert nicht jeden Lesezugriff außerhalb des Workspace. Vermeiden Sie außerdem, Geheimnisse in temporäre Speicher zu kopieren.

Quelle: OpenAI: Konfiguration, Sperren und Geltungsbereich von Permission profiles. Der Artikel berichtet nicht von einer Anwendung des Beispiels und einer Isolationsprüfung auf einem realen Gerät.

4. .env-Muster und mögliche Lücken

Exakte Namen eignen sich für Geheimnisse an bekannten Orten. Bei Mustern ist zu beachten, dass *.env und .env.* verschieden sind. Nehmen Sie nicht an, dass das offizielle Beispiel **/*.env auch .env.production unter denselben Bedingungen sperrt.

BeispielregelVorgesehenes ZielGesondert prüfen
.envDatei dieses Namens direkt im Workspace-StammverzeichnisUnterordner und Dateinamen mit angehängtem Suffix
.env.productionProduktionskonfiguration im StammverzeichnisProduktionskonfigurationen unter anderen Namen oder Kopien
secretsPfad dieses Namens im Stammverzeichnis samt InhaltKopien an anderen Orten, etwa in Protokollen oder Sicherungen
**/*.envAuf .env endende Dateien über mehrere VerzeichnisebenenDateinamen mit Suffix, Suchtiefe und Änderungen nach dem Start

Verzeichnistiefe und nach dem Start angelegte Dateien prüfen

Unter Linux, WSL und nativem Windows können Sperrmuster mit uneingeschränktem ** eine begrenzte Auflösung vor dem Start erfordern. Die offizielle Dokumentation beschreibt, glob_scan_max_depth auf mindestens 1 zu setzen oder die Tiefe mit Mustern wie *.env, */*.env und */*/*.env ausdrücklich anzugeben. Verwenden Sie tiefere Verzeichnisse, prüfen Sie die Abdeckung bis zu dieser Ebene.

Einige Durchsetzungswege sammeln passende Pfade vor dem Start. Prüfen Sie auf Ihrem tatsächlichen Betriebssystem und mit Ihrer Version und Ausführungsumgebung, ob später angelegte Dateien gesperrt werden. Behandeln Sie Sperrmuster nicht als universelle Regel, die zwangsläufig alle künftigen Geheimnisse schützt.

Welche Regel gewinnt bei überlappenden Berechtigungen?

Eine spezifischere Pfadregel kann eine allgemeinere überschreiben. Für denselben Pfad gewinnt die Sperre; innerhalb einer umfassenden Sperre kann aber auch eine eng begrenzte Erlaubnis entstehen. Prüfen Sie zusätzliche Konfigurationsebenen und die Vererbung von übergeordneten Profilen.

Quellen: OpenAI: Lesezugriffe über Pfade und Muster sperren, Ladereihenfolge der Konfiguration. Die Projektdatei .codex/config.toml wird nur in vertrauenswürdigen Projekten geladen. Unterscheiden Sie zwischen dem Dateiinhalt und den tatsächlich aktiven Sitzungseinstellungen.

5. Was das Abschalten des Befehlsnetzwerks blockiert

Das Abschalten des Befehlsnetzwerks beschränkt die Netzwerknutzung von Programmen innerhalb der betreffenden Sandbox. Modell- und Authentifizierungsanfragen des Codex-Clients sind jedoch von diesen Kontrollen getrennt. Ein ausgeschalteter Befehlsnetzwerk-Schalter belegt nicht, dass gelesener Code nicht als Modellkontext übertragen wird.

Was die Netzwerkregeln für Befehle erfassen

Erfasst: innerhalb der Sandbox

Netzwerkaktivitäten von Befehlen, Skripten und deren Kindprozessen.

Getrennt verwaltet: andere Wege

Modelle und Authentifizierung, Websuche, verbundene Apps, MCP, Browser und Computer Use sowie Cloud-Aufgaben.

Prüfen Sie getrennt verwaltete Werkzeuge anhand ihrer eigenen Verbindungs-, Berechtigungs- und Umgebungseinstellungen.

Soll das Netzwerk erlaubt, aber auf bestimmte Ziele beschränkt sein, müssen Sie neben Domainregeln auch den Netzwerkproxy aktivieren. Erlaubte Domains nur im Profil aufzulisten aktiviert diese Regeln nicht.

BefehlsnetzwerkProxyErgebnis
AusBeliebigBefehlsnetzwerk ist nicht erlaubt
AnAusDirekte Verbindungen sind möglich; Domainregeln des Profils gelten nicht
AnAnDer Proxy setzt Domainregeln durch und sperrt externe Ziele, wenn keines erlaubt ist

Geheimnisse können weiterhin an ein erlaubtes Ziel gesendet werden. Domains einzuschränken ist nicht dasselbe wie den übertragenen Inhalt zu prüfen. Nehmen Sie bei einer Freigabe außerhalb der Sandbox nicht an, dass die bisherigen Sperren unverändert schützen. Prüfen Sie, welche Grenzen die Freigabe erweitert. OpenAI: Netzwerkberechtigungen und Proxy-Anforderungen.

6. Umgebungsvariablen, Betriebssysteme und Cloud

Geheimnisse stehen nicht nur in Dateien. Enthält die Shell einen API-Schlüssel, kann ein Kindprozess dessen Wert über geerbte Umgebungsvariablen nutzen, auch wenn der Dateizugriff gesperrt ist. Die Vererbung wird gesondert mit shell_environment_policy verwaltet.

Automatischer Variablenausschluss: true und false

true | Standard

Wendet den automatischen Ausschluss nicht an für Variablen mit KEY, SECRET oder TOKEN im Namen

false

Wendet diesen automatischen Ausschluss an

Verglichen werden Werte von ignore_default_excludes. Diese Einstellung ist von Dateisperren getrennt und filtert anhand des Variablennamens; sie erkennt nicht jedes Geheimnis.

Variablen mit anderen Namen oder von Programmen anderweitig abgerufene Werte werden dadurch nicht geschützt. set wird nach dem Ausschluss angewendet und kann ausgeschlossene Variablen wieder einsetzen. OpenAI: Umgebungsvererbung und Vorrangregeln.

Windows: auch die Sandbox-Implementierung prüfen

Lokale Permission profiles sind für macOS, Linux, WSL und natives Windows dokumentiert, die Implementierungen unterscheiden sich jedoch. Unter Windows wird die Sandbox mit erhöhten Rechten als stärkerer Ansatz beschrieben. Die Sandbox ohne erhöhte Rechte bietet schwächere Netzwerkisolation und kann einige Richtlinien zur Lese- und Schreibisolation nicht durchsetzen. Laut Dokumentation führen nicht unterstützte Richtlinien zur Verweigerung der Ausführung. Ein Fehler ist kein Grund, auf Full access umzuschalten. OpenAI: Durchsetzung nach Betriebssystem.

Cloud: lokale Einstellungen nicht unverändert übernehmen

Prüfen Sie die Einstellungen der jeweiligen Codex-Cloud-Umgebung gesondert. Lokale Profile gelten nicht zwangsläufig automatisch überall in der Cloud oder in dots Cloud-Umgebung. Übernehmen Sie den lokalen Konfigurationsvorschlag dieses Artikels nicht unverändert als Cloud-Konfiguration. Unterschiede der Ausführungsorte erläutert Codex Remote, Cloud und die Voraussetzungen für PC-Verbindungen.

7. Mit Dummy-Dateien prüfen

„Ich habe das Lesen untersagt“, „Ich habe die Konfiguration gespeichert“ und „Der Lesezugriff wurde tatsächlich verweigert“ sind unterschiedliche Nachweise. Lassen Sie Codex zum Testen keine echten Geheimnisse lesen. Die folgenden Schritte sind ein Prüfplan für Benutzer oder Administratoren, kein Bericht über Tests auf diesem Gerät.

  1. Umgebung dokumentieren: Notieren Sie Codex-Version, Betriebssystem, Ausführungsort und ausgewählte Berechtigungen. Prüfen Sie in der CLI mit /status den Workspace-Bereich und mit /permissions die ausgewählten Berechtigungen.
  2. Konfigurationskonflikte prüfen: Prüfen Sie Benutzer- und vertrauenswürdige Projekteinstellungen, Profil, Startparameter und Administrationsvorgaben. Fügen Sie zur Diagnose keine vollständigen Konfigurationsdateien oder geheimen Werte in die Unterhaltung ein.
  3. Dummy-Dateien vorbereiten: Legen Sie in einem gesonderten Workspace ohne Geheimnisse erlaubte und zu sperrende Dateien mit erfundenen Markierungen an.
  4. Erlaubnis und Sperre prüfen: Bestätigen Sie über denselben Ausführungsweg, dass erlaubte Dateien lesbar sind und gesperrte Lesezugriffe Fehler erzeugen. Wenn Codex freiwillig auf das Lesen verzichtet, belegt das keine technisch erzwungene Sperre.
  5. Verschiedene Orte testen: Prüfen Sie Dummy-Dateien im Stammverzeichnis, in Unterordnern, mit Dateinamenssuffix und nach dem Start angelegte Dateien. Geben Sie keine Aktion frei, die die Sperre umgeht. Gelingt ein unerwarteter Lesezugriff, stoppen Sie die Nutzung dieser Umgebung und untersuchen Sie die Ursache.
  6. Auch Ausgabepfade prüfen: Prüfen Sie, ob Tests oder Builds Geheimnisse in Protokolle schreiben oder dieselben Informationen an andere MCP-Werkzeuge, Browser oder verbundene Apps weitergeben.

Verfügbare Informationen unterscheiden sich je nach CLI-Version und Anzeige. Prüfen Sie daher die tatsächliche Ausgabe, statt sich auf Befehlsnamen zu verlassen. Die offizielle CLI bietet über codex sandbox außerdem betriebssystemspezifische Prüfungen. Bevor Sie diese als gleichwertig behandeln, prüfen Sie, ob die mit einem Hilfsbefehl getesteten Einstellungen denen Ihrer üblichen Desktop- oder IDE-Sitzung entsprechen. OpenAI: Sandbox testen.

Nachträgliche Sperrregeln machen bereits gelesene Inhalte nicht rückgängig. Prüfen Sie die Speicherung früherer Unterhaltungen, Protokolle und Dateien sowie Trainingseinstellungen gesondert. Ein erfolgreicher Dateizugriff allein belegt keine Offenlegung an Dritte. Bewerten Sie getrennt, was gelesen wurde, wohin es gelangte und ob Zugangsdaten Maßnahmen erfordern.

Auch in einem öffentlichen Codex-Issue haben Nutzer Möglichkeiten zum Ausschließen geheimer Dateien gefordert. Das zeigt ein reales Anliegen, belegt aber nicht, dass die Funktion heute nicht unterstützt wird. Die Spezifikationsaussagen dieses Artikels stützen sich auf die aktuelle offizielle Permissions-Dokumentation, nicht auf ältere Beiträge.

Häufige Fragen

Verhindert read-only, dass .env übertragen wird?

Das lässt sich aus read-only nicht garantieren: Der Modus beschränkt Änderungen. Um lesbare .env-Inhalte vom Modellkontext fernzuhalten, prüfen Sie getrennt die Lesesperre für die Datei und eine Arbeitsumgebung ohne Geheimnisse.

Reichen .gitignore oder AGENTS.md?

Sie ersetzen keine technisch erzwungene Lesesperre. Git-Ignore-Regeln, Arbeitsanweisungen und Betriebssystemberechtigungen sind getrennte Mechanismen. Prüfen Sie mit Dummy-Dateien, dass deny in der aktuellen Ausführungsumgebung wirksam ist.

Läuft Codex ohne Netzwerkzugriff vollständig auf dem Gerät?

Nein. Befehlsnetzwerkbeschränkungen schalten Modell- und Authentifizierungsverbindungen nicht ab. Einstellungen für Browser, MCP, verbundene Apps und Cloud sind ebenfalls gesondert.

Schützt das Beispiel Geheimnisse unter Windows vollständig?

Ein vollständiger Schutz ist nicht garantiert. Prüfen Sie die Unterstützung der Beta-Funktion, die Sandbox-Implementierung, tatsächlich aktive Konfigurationsebenen, Pfade und Werkzeuge. Das Beispiel wurde auf keinem realen Gerät angewendet oder getestet.