Codex가 파일 수정·명령 실행을 통제하는 승인 모드와 샌드박스 모델을 이해해 안전하게 작업한다.
승인 모드와 샌드박스
Codex는 파일을 쓰고 명령을 실행하기 때문에, 얼마나 자율적으로 동작할지를 통제하는 장치가 있습니다. 핵심은 서로 별개의 두 레이어, 즉 승인(approval) 정책과 샌드박스(sandbox)입니다.
학습 목표
- 승인 정책과 샌드박스가 별개의 두 축임을 이해한다.
- 각 모드의 실제 이름을 안다.
- 작업 성격에 맞는 조합을 고른다.
승인 정책
승인 정책은 --ask-for-approval 옵션으로 정하며, Codex가 행동(파일 수정·명령 실행·네트워크)을 하기 전에 언제 사용자에게 물어볼지를 결정합니다. 실제 모드 이름은 다음과 같습니다.
- untrusted: 신뢰된 일부 동작만 자동으로 하고, 나머지는 매번 승인을 요청한다. 가장 신중함.
- on-request: 평소엔 자동으로 진행하되, 권한이 더 필요할 때(작업 공간 밖, 네트워크 등) 승인을 요청한다. 대화형 작업의 기본.
- never: 승인을 묻지 않는다. 자동화·비대화형 실행에 사용.
예전의
on-failure모드는 사용 중단(deprecated)됐습니다.
샌드박스
샌드박스는 --sandbox 옵션으로 정하며, Codex가 무엇에 접근할 수 있는지를 제한합니다. 실제 모드 이름은 다음과 같습니다.
- read-only: 파일을 읽기만 가능. 수정·쓰기 차단.
- workspace-write: 현재 프로젝트 폴더 안에서만 파일 변경 허용.
- danger-full-access: 시스템 전반과 네트워크까지 허용. 신뢰할 때만 사용.
기본적으로는 작업 공간 안에서만(workspace-write) 변경하도록 두어, 실수로 프로젝트 밖 파일을 건드리지 않게 합니다.
승인 × 샌드박스
승인 정책과 샌드박스는 함께 동작하며, 실무에서 자주 쓰는 조합은 다음과 같습니다.
- 기본(Auto):
--sandbox workspace-write --ask-for-approval on-request— 옵션 없이 실행할 때의 기본값. 프로젝트 폴더 안 변경은 빠르게 진행하되, 밖으로 나가거나 네트워크가 필요하면 승인을 요청한다. - 신중하게:
--sandbox read-only --ask-for-approval on-request— 읽고 답하되, 어떤 변경이든 승인을 받는다. - 완전 자동:
danger-full-access+never. 한 번에 켜는 단축 플래그는--dangerously-bypass-approvals-and-sandbox(별칭--yolo)이며, 신뢰할 수 있는 환경에서만 사용한다.
빠르지만 위험 ←──────────────────────→ 느리지만 안전
완전 자동(--yolo) read-only + on-request
안전 기준
- 낯선 프로젝트나 첫 작업은 신중한 모드로 시작한다.
- 네트워크 접근·시스템 전체 권한은 꼭 필요할 때만 켠다.
- git으로 작업해 변경을 언제든 되돌릴 수 있게 한다.
모드 이름과 옵션은 버전에 따라 다를 수 있으니, 실제 옵션은
codex --help와 공식 문서로 확인하세요.
요약
Codex는 승인 정책으로 자율성을, 샌드박스로 접근 범위를 통제합니다. 기본은 작업 공간 안에서만 변경하도록 두고, 작업 신뢰도에 따라 자동·수동을 조절하면 속도와 안전성을 함께 잡을 수 있습니다.
댓글 0
“Codex” 강좌에 대한 댓글입니다.