본문 바로가기
C.W.K.
Stream
Lesson 04 of 11 · published

sandbox 정책 — read-only, workspace-write, danger-full-access

~16 min · codex, sandbox, filesystem, network

Level 0🌱 입문자
0 XP0/70 lessons0/11 achievements
0/120 XP to next level120 XP to go0% complete

sandbox는 할 수 있는 일을, 승인 정책은 언제 물을지를 정해

read-only는 읽기만, workspace-write는 저장소 안의 쓰기와 명령, danger-full-access는 경계 없는 접근을 허용해. 로컬 코딩의 기본은 workspace-write가 알맞고, 마지막 모드는 격리된 VM이나 container에서만 써야 해.

workspace-write에서는 작업 공간 밖 쓰기와 네트워크, ~/.ssh~/.aws 같은 보호 경로가 막혀. 추가 디렉터리 하나가 필요하면 --add-dir로 그 경로만 열어. 한 경로 때문에 전체 sandbox를 버리지 마.

macOS Seatbelt와 Linux Landlock은 정책 아래에 커널 강제 격리를 더해. codex seatbelt -- npm testcodex landlock -- python -m pytest처럼 개별 명령도 감쌀 수 있어.

직접 확인할 항목: /etc.

Code

작업마다 sandbox 정책 선택하기·bash
# Read-only — analysis without risk
codex --sandbox read-only "explain what this codebase does"

# Workspace-write (default) — normal coding
codex --sandbox workspace-write
# config.toml:
sandbox_mode = "workspace-write"
[sandbox_workspace_write]
network_access = false

# Need an extra writable dir without abandoning sandbox
codex --add-dir /data/shared "regenerate the design tokens"

# Full access — Docker / sandbox VM only
codex --sandbox danger-full-access --ask-for-approval never \
      "fix all eslint errors"
전체 허용보다 안전한 네트워크 허용 목록·toml
# ~/.codex/config.toml
sandbox_mode = "workspace-write"

[sandbox_workspace_write]
network_access  = true
network_allowlist = [
  "registry.npmjs.org",
  "api.github.com",
  "pypi.org"
]

External links

Exercise

config.toml에 workspace-write sandbox를 설정하고, 실제로 필요한 실행 도구 3개만 네트워크 허용 목록에 넣어. 허용한 도구 1개가 필요한 작업을 실행해 정상 작동을 확인한 뒤, 허용하지 않은 도구가 필요한 작업도 시도해서 예상대로 차단되는지 확인해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.