Codex 샌드박스 모드가 뭔가요? 언제 쓰면 되나요?
…
한줄 요약
샌드박스 모드는 Codex가 코드를 실행할 때 격리된 가상 환경에서만 돌리는 기능이다. 실수로 내 시스템 파일을 삭제하거나 네트워크 요청을 보내는 것을 막아준다. Claude Code에는 없는 기능이다.
Q: Codex 샌드박스 모드가 뭔가요? 언제 쓰면 되나요?
A: 간단 답변
샌드박스는 “격리된 놀이터”다. Codex가 코드를 실행할 때 실제 내 컴퓨터가 아닌 가상 공간에서 실행한다. 잘못된 코드가 실제 파일을 지우거나 인터넷으로 데이터를 보내는 것을 방지한다. 믿을 수 없는 코드를 분석하거나, 처음 보는 스크립트를 실행해볼 때 켜두면 좋다.
상세 설명
샌드박스가 막는 것
샌드박스 모드를 켜면 Codex가 실행하는 코드가:
- 내 홈 폴더 외부 파일에 접근 불가
- 임의 네트워크 요청 차단
- 시스템 명령어(
rm -rf등) 제한
코드가 “이 환경 밖으로 나가지 못하도록” 가둬두는 것이다.
사용 방법
# 샌드박스 모드로 실행
codex --sandbox "이 스크립트가 어떻게 동작하는지 실행해서 보여줘"
# 또는 approval-mode와 함께
codex --sandbox --approval-mode auto-edit "버그를 찾고 수정해줘"
언제 켜야 하나
켜는 것이 권장되는 상황
| 상황 | 이유 |
|---|---|
| 출처가 불분명한 코드 분석 | 실행 시 시스템 손상 방지 |
| 인터넷에서 받은 스크립트 테스트 | 네트워크 요청 차단 |
| 팀 프로젝트에서 공유된 코드 검토 | 의도치 않은 사이드이펙트 방지 |
| CI/CD 파이프라인에서 AI 실행 | 자동화 환경에서 안전 보장 |
굳이 안 켜도 되는 상황
| 상황 | 이유 |
|---|---|
| 내가 직접 작성한 코드 수정 | 이미 신뢰하는 코드 |
| 단순 분석만 (파일 수정 없음) | 실행 자체를 안 하면 무관 |
| 파일 수정만 하고 실행 안 할 때 | 실행이 없으면 샌드박스 필요 없음 |
Claude Code와 비교
Claude Code에는 공식적인 샌드박스 모드가 없다. 파일 수정 전 확인 단계는 있지만, 코드 실행을 격리된 환경에서 돌리는 기능은 Codex에만 있다.
보안이 중요한 환경에서 코드 실행이 필요하다면 Codex가 더 적합하다.
샌드박스의 한계
샌드박스는 코드 실행을 격리하는 것이다. 파일 내용을 OpenAI 서버로 전송하는 것은 샌드박스와 무관하게 항상 일어난다. 데이터 프라이버시 문제는 샌드박스로 해결되지 않는다.
[샌드박스가 막는 것]
코드 실행 → 내 시스템 파일 삭제 (막힘)
코드 실행 → 외부 서버로 데이터 전송 (막힘)
[샌드박스가 막지 않는 것]
파일 내용 → OpenAI API 서버 전송 (여전히 됨)
핵심 정리
- 샌드박스 = 코드 실행을 격리된 가상 환경에서만 허용
--sandbox옵션으로 켬- 출처 불분명한 코드, 자동화 환경에서 유용
- 데이터 전송 자체를 막는 기능은 아님
- Claude Code에는 없는 Codex 고유 기능
관련 글
- 터미널에서 Codex를 어떻게 쓰나요? — 기본 사용법과 승인 모드
- Codex를 쓸 때 내 코드가 OpenAI에 저장되나요? — 데이터 전송과 보안
- Codex와 Claude Code 중 어떤 게 나을까요? — 보안 관점 도구 비교