Codex(OpenAI의 코딩 LLM)는 기본적으로 다층 샌드박싱 및 승인으로 구축되어 안전한 실행을 위한 강력한 보호 장치를 시행합니다. 그러나 때때로 개발자는 신뢰할 수 있는 워크플로를 위해 Codex를 더 적은 제한으로 실행하기를 원할 수 있습니다. 이 글에서는 Codex 샌드박스가 무엇인지, 왜 존재하는지, 그리고 --dangerously-bypass-approvals-and-sandbox 플래그를 사용하여 이를 비활성화하는 방법을 설명합니다.
면책 조항: Codex 샌드박스를 우회하면 시스템 및 코드베이스를 보호하기 위한 중요한 보안 조치가 손상될 수 있습니다. 다음 내용은 순전히 교육 목적이므로, 위험을 감수하고 통제된 환경에서만 진행하십시오.
개발팀이 최대 생산성으로 함께 작업할 수 있는 통합된 올인원 플랫폼을 원하십니까?
Apidog는 모든 요구 사항을 충족하며 훨씬 저렴한 가격으로 Postman을 대체합니다!
Codex 샌드박스를 우회하기 전에 Codex CLI 설치 또는 Docker에서 실행
Codex 샌드박스를 우회하기 전에 Codex CLI를 설치하거나 Docker와 같은 통제된 환경에서 실행해야 합니다:
Codex CLI 설치:
# NPM을 통해 설치
npm install -g @openai/codex
# Homebrew를 통해 설치
brew install --cask codex
그런 다음 터미널에서 codex를 실행하여 Codex CLI를 시작하십시오.
Codex CLI 인증:
API 키 내보내기: Windows에서는 export 대신 set 명령을 사용하여 export OPENAI_API_KEY="<your-openai-key>"를 실행합니다.

또는 Docker에서 Codex 실행
컨테이너 격리를 선호하는 경우 (샌드박스를 우회할 때 권장):
docker run --rm -it -v "$(pwd):/workspace" -w /workspace ghcr.io/openai/codex:latest \ codex --sandbox danger-full-access --ask-for-approval never
이렇게 하면 Codex가 컨테이너 내부에서 완전한 접근 권한을 가지며, 호스트 시스템으로부터 격리됩니다.

Codex 샌드박스란 무엇입니까?
Codex 샌드박스는 Codex가 사용자 머신에서 수행할 수 있는 작업을 제한하는 보안 메커니즘입니다. OpenAI Codex 보안 가이드에 따르면:
- Codex를 로컬(CLI 또는 IDE)에서 실행할 때, OS 수준 샌드박싱(예: macOS의 Seatbelt, Linux의 seccomp / Landlock)을 사용합니다. (자세한 내용은 OpenAI 개발자 참조)
- 기본적으로 네트워크 접근은 비활성화되어 있으며, 쓰기 권한은 현재 작업 공간으로 제한됩니다.
- 작업 공간 외부의 명령에 대해서는 Codex가 승인을 요청합니다.
- 온라인 도구 문서에 설명된 바와 같이, 기본 승인 모드는 종종 자동이며, 이는 Codex가 작업 공간에 쓸 수 있지만 위험한 작업에는 승인이 필요하다는 것을 의미합니다.
이러한 샌드박싱 조치는 악성 코드 실행, 데이터 유출 또는 유해한 시스템 변경과 같은 의도하지 않은 작업으로부터 사용자를 보호하기 위한 것입니다.
Codex 샌드박스가 존재하는 이유
Codex가 기본적으로 샌드박싱되는 주요 이유는 다음과 같습니다:
- 보안: Codex가 작업 공간 외부의 머신에 임의로 쓰기 작업을 하는 것을 방지합니다.
- 네트워크 안전: 명시적으로 허용되지 않는 한 네트워크 접근을 금지하여 데이터 유출 또는 안전하지 않은 API 호출의 위험을 줄입니다.
- 제어된 실행: Fossies에 나타난 바와 같이, Codex는 위험할 수 있는 작업(명령 실행, 시스템 파일 수정)에 대해 사용자 승인을 요구합니다.
- 격리: Codex가 제어된 환경에서 실행되도록 보장하여 버그가 있거나 악성 프롬프트로 인한 잠재적 손상을 최소화합니다.
Codex 샌드박스를 우회해야 할 수도 있는 경우
특히 신뢰할 수 있는 환경에서 샌드박스를 비활성화하는 것이 합법적인 시나리오가 있습니다:
- 위험이 이미 관리되는 Docker 컨테이너 또는 격리된 VM 내에서 Codex를 실행하는 경우.
- Codex가 반복적인 사용자 승인 없이 쉘 명령을 실행하고, 종속성을 설치하거나, 작업을 완전히 자동화해야 하는 경우.
- 신뢰할 수 있는 CI/CD 파이프라인에서 Codex를 사용하며 더 높은 권한을 부여하려는 경우.
- 위험을 이해하고 있으며 전체 파일 시스템 또는 네트워크 접근이 필요한 기능을 실험하거나 프로토타이핑하려는 경우.
Codex 샌드박스를 우회하는 방법 — 구성 및 명령으로
다음은 CLI 플래그와 config.toml을 모두 사용하여 샌드박스 제한 없이 Codex를 구성하고 실행하는 방법입니다:
CLI 명령을 통한 우회
샌드박싱 및 승인 프롬프트를 완전히 우회하려면 다음 명령을 실행하십시오:
codex --dangerously-bypass-approvals-and-sandbox
이는 완전 접근 모드와 동일합니다: 샌드박스 없음, 확인 없음. 통제된 환경에서만 사용하십시오.
~/.codex/config.toml을 통한 우회
샌드박싱을 건너뛰도록 config.toml에 영구 구성을 설정할 수 있습니다:
# ~/.codex/config.toml
model = "gpt-5-codex"
approval_policy = "never"
sandbox_mode = "danger-full-access"
[sandbox_workspace_write]
network_access = true
# (선택 사항) 추가 쓰기 가능한 루트 정의
writable_roots = ["/workspace", "/tmp"]approval_policy = "never"는 모든 승인 프롬프트를 비활성화합니다.
sandbox_mode = "danger-full-access"는 샌드박스 격리를 제거합니다.
[sandbox_workspace_write].network_access = true는 작업 공간 쓰기 모드일 때 Codex가 네트워크 호출을 할 수 있도록 합니다.
이 구성(위험을 감수하는 경우)으로 Codex는 확인을 요청하지 않고 전체 파일 시스템 및 네트워크 권한으로 실행됩니다(OpenAI 개발자에서 자세한 내용 확인).
샌드박스 동작 테스트
Codex의 디버그 명령을 사용하여 다른 샌드박스 설정에서 Codex가 어떻게 작동하는지 테스트할 수 있습니다:
# macOS에서:codex
sandbox macos --full-auto ls /
# Linux에서:codex
sandbox linux --full-auto ls /이 명령은 Codex의 적용된 샌드박스 정책에 따라 임의의 쉘 명령을 실행하여 허용되는 것과 허용되지 않는 것을 관찰하는 데 도움이 됩니다.
Codex 샌드박스 우회의 위험
우회가 활성화되면 Codex는 다음을 수행할 수 있습니다:
- 위험하거나 파괴적인 명령(파일 삭제, 시스템 구성 수정)을 포함한 모든 쉘 명령 실행
- 디스크의 모든 위치에서 읽기 및 쓰기
- 구성 설정에 따라 네트워크 호출 가능성
다음의 경우에만 우회를 사용하십시오:
- 보안이 유지되고 격리된 VM 또는 Docker 컨테이너에서 Codex를 실행하는 경우
- 프롬프트를 신뢰하고 전체 접근에 만족하는 경우
- 검증되지 않은 LLM 프롬프트가 임의로 실행되도록 허용하지 않고 신뢰할 수 있는 워크플로(예: CI)를 자동화하는 경우
Codex 샌드박스의 알려진 취약점 및 버그 내역
Codex의 경로 구성 논리의 버그로 인해 샌드박스 우회 취약점이 있었음을 주목할 가치가 있습니다(GitHub 및 GitLab Advisory Database 참조). Codex CLI의 특정 버전은 격리되어야 했음에도 불구하고 모델이 생성한 작업 디렉토리를 쓰기 가능한 것으로 처리했습니다.
- 이는 의도된 샌드박스 경계 외부로의 쓰기를 허용했습니다.
- 이 문제는 Codex CLI v0.39.0에서 패치되었습니다.
- 샌드박스 우회를 고려하고 있다면, 알려진 보안 결함을 통한 악용을 피하기 위해 버전을 최신 상태로 유지하십시오.
자주 묻는 질문
Q1. Codex 샌드박스 우회가 일반적인 사용에 권장됩니까?
아니요. 통제되고 신뢰할 수 있는 환경에서만 권장됩니다. 우회는 보안 안전망을 제거합니다.
Q2. 샌드박스 우회가 모든 안전 프롬프트를 비활성화합니까?
예. --dangerously-bypass-approvals-and-sandbox 플래그는 샌드박스 제한과 승인 프롬프트 모두를 비활성화합니다.
Q3. Docker 내에서 우회 모드를 안전하게 실행할 수 있습니까?
더 안전합니다. Docker는 격리를 제공합니다. 컨테이너가 잘 구성되어 있다면, 신뢰할 수 있는 워크로드의 경우 샌드박스 우회가 허용될 수 있습니다.
Q4. Codex CLI의 이전 버전을 사용 중이라면 어떻게 해야 합니까?
이전 버전(≤ 0.38.0)에는 경로 이탈 취약점을 포함한 샌드박스 버그가 있을 수 있습니다. 우회 모드를 사용하기 전에 최신 버전으로 업데이트하십시오.
Q5. 샌드박스 모드로 되돌아가려면 어떻게 해야 합니까?
위험한 플래그 없이 Codex를 실행하거나, 다음을 통해 샌드박스 모드를 명시적으로 설정하십시오:
codex --sandbox workspace-write --ask-for-approval on-request
결론
--dangerously-bypass-approvals-and-sandbox 플래그는 Codex에 최대한의 자유를 부여하지만, 그 자유에는 심각한 위험이 따릅니다. Codex 샌드박스는 의도하지 않거나 악의적인 동작으로부터 시스템, 데이터 및 워크플로를 보호하기 위해 존재합니다. 이 플래그는 그 의미를 완전히 이해하고, 신뢰할 수 있는 환경에서 실행 중이거나, 자동화를 위해 무제한 접근이 필요한 경우에만 우회하십시오.
공유, 프로덕션 또는 민감한 컨텍스트에서 작업하는 경우, 샌드박스 및 승인 프롬프트를 고수하는 것이 거의 항상 더 안전합니다. 그러나 통제된 실험, CI 파이프라인 또는 신뢰할 수 있는 컨테이너의 경우, 우회는 강력한 사용 사례를 잠금 해제할 수 있습니다. 단, 가볍게 생각하지 마십시오.
개발팀이 최대 생산성으로 함께 작업할 수 있는 통합된 올인원 플랫폼을 원하십니까?
Apidog는 모든 요구 사항을 충족하며 훨씬 저렴한 가격으로 Postman을 대체합니다!
