Codex uruchamia kod — i potrzebuje sandbox, żeby ten kod nie narobił szkód. Każda platforma ma inne mechanizmy izolacji. Oto co musisz wiedzieć o Windows, macOS i Linux.
- macOS: Seatbelt policies
- Linux: Landlock + seccomp
- Windows: WSL recommended
- Docker: container-level isolation
- Praktyczne porady
macOS: Seatbelt policies
Na macOS Codex używa Seatbelt — tego samego mechanizmu, który chroni aplikacje w App Store.
Seatbelt sandbox ogranicza:
- Dostęp do plików poza workspace
- Połączenia sieciowe (w trybie workspace-write)
- Uruchamianie procesów systemowych
- Dostęp do keychain i innych wrażliwych zasobów
Instalacja standardowa (npm i -g @openai/codex) automatycznie konfiguruje sandbox. Nie musisz nic robić.
Jeśli widzisz błędy uprawnień:
- Sprawdź czy Terminal/iTerm ma Full Disk Access w System Settings
- Uruchom
codex doctordo diagnostyki
Linux: Landlock + seccomp
Linux oferuje najpotężniejszą izolację przez kombinację:
| Mechanizm | Co robi | Wymagania |
| Landlock | Ogranicza dostęp do plików | Kernel 5.13+ |
| seccomp | Filtruje syscalle | Kernel 3.5+ |
| bubblewrap | Pełna izolacja namespace | Opcjonalne |
Codex automatycznie wykrywa dostępne mechanizmy i używa najsilniejszego.
Dla starszych kerneli (bez Landlock):
# Zainstaluj bubblewrap
sudo apt install bubblewrap
# Codex automatycznie go wykryje
codex doctor
Bubblewrap daje izolację porównywalną z kontenerem Docker, ale bez overhead.
Windows: WSL recommended
Na Windows masz dwie opcje:
WSL (rekomendowane):
wsl --install
# W WSL:
npm i -g @openai/codex
WSL daje pełny Linux sandbox (Landlock/seccomp). To najlepsza opcja dla Windows.
Native Windows (eksperymentalne):
Codex ma eksperymentalne wsparcie dla natywnego Windows, ale sandbox jest ograniczony. OpenAI rekomenduje WSL dla produkcyjnego użycia.
Uwaga: Native Windows sandbox nie jest tak dojrzały jak macOS/Linux. Używaj WSL dla pełnej izolacji, szczególnie gdy pracujesz z kodem z niezaufanych źródeł.
Docker: container-level isolation
Uruchamiasz Codex w Docker? Kontener sam w sobie to sandbox, ale:
# Dockerfile
FROM node:20
RUN npm i -g @openai/codex
# NIE uruchamiaj jako root!
USER node
# Ogranicz capabilities
# (w docker run: --cap-drop=ALL --cap-add=...)
| Praktyka | Dlaczego |
| USER node (nie root) | Ogranicza damage w razie escape |
| --cap-drop=ALL | Minimalizuje capabilities |
| --read-only (opcja) | Blokuje zapis poza /tmp |
| --network=none (opcja) | Blokuje sieć dla sandboxed tasks |
Docker + wewnętrzny sandbox Codex = dwie warstwy ochrony.
Praktyczne porady
Sprawdź status sandbox:
codex doctor
Pokaże które mechanizmy są aktywne i czy coś wymaga uwagi.
Dla każdej platformy:
- macOS: Out of the box działa dobrze. Sprawdź Full Disk Access dla terminala.
- Linux: Kernel 5.13+ = najlepsze zabezpieczenia. Starsze kernele = zainstaluj bubblewrap.
- Windows: Używaj WSL. Native tylko dla eksperymentów.
- Docker: Nie uruchamiaj jako root, drop capabilities.
Więcej o bezpieczeństwie w artykule o Exec Policy Rules i konfiguracji sandbox.