OpenAI Codex na Windows, macOS, Linux: Sandbox na każdej platformie

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.

  1. macOS: Seatbelt policies
  2. Linux: Landlock + seccomp
  3. Windows: WSL recommended
  4. Docker: container-level isolation
  5. 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 doctor do diagnostyki

Linux: Landlock + seccomp

Linux oferuje najpotężniejszą izolację przez kombinację:

Mechanizmy sandbox na Linux
MechanizmCo robiWymagania
LandlockOgranicza dostęp do plikówKernel 5.13+
seccompFiltruje syscalleKernel 3.5+
bubblewrapPełna izolacja namespaceOpcjonalne

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=...)
Docker best practices dla Codex
PraktykaDlaczego
USER node (nie root)Ogranicza damage w razie escape
--cap-drop=ALLMinimalizuje 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.