실행 규칙과 네트워크 정책 구분
AGENTS.md의 ‘배포 전에 물어보기’와 실행 정책 파일의 차단 규칙은 다릅니다. 전자는 모델이 따라야 하는 작업 지침이고 후자는 지원되는 명령 실행 경로의 정책입니다. 어느 쪽도 네트워크 전체를 자동으로 봉쇄하지 않습니다.
공식 문서를 참고한 비공식 한국어 가이드입니다. 규칙 설치·권한 변경·명령 실행은 미검증입니다. 로컬 규칙은 experimental execpolicy 기능이며 관리자 정책과 클라이언트 버전에 따라 동작 조건이 달라집니다.
좁은 argv prefix로 시작
공식 로컬 규칙은 ~/.codex/rules/default.rules 등 활성 layer의 rules/*.rules에서 정의합니다. 다음은 PR 조회 명령에 질문하도록 하는 합성 예시입니다. 프로젝트 layer는 trusted일 때만 로드되고 변경 후 재시작 조건을 확인합니다.
prefix_rule(
pattern = ["gh", "pr", "view"],
decision = "prompt",
)
이 파일은 Python 프로그램으로 실행하는 예제가 아니라 정책 DSL입니다. pattern은 자연어 부분 일치가 아닌 argv의 정확한 prefix입니다. gh 전체나 bash 전체를 허용하는 것과 특정 조회 명령을 다루는 것은 권한 범위가 크게 다릅니다.
적용 결과 검사
실제 정책 파일을 준비했다는 가정에서 다음 형식으로 해석 결과를 확인할 수 있습니다.
codex execpolicy check --pretty --rules /path/default.rules -- gh pr view 123
검사 결과는 정책 판정이며 GitHub 조회 성공이나 전체 작업의 안전성을 증명하지 않습니다. match/not_match 예제를 정의해 로딩 시 의도한 경계가 유지되는지도 확인합니다. 결정이 충돌하면 forbidden > prompt > allow 순으로 더 엄격한 쪽이 우선합니다.
셸 wrapper의 함정
단순 chain은 개별 명령으로 분리 검사할 수 있지만 변수·치환·redirect·제어문이 들어가면 wrapper 전체를 검사하는 조건이 있습니다. 보기 좋은 명령 하나만 포함됐다고 내부의 다른 동작까지 안전하다고 보지 않습니다.
정책 점검 때는 허용할 정확한 argv, 비슷하지만 거부할 argv, 셸로 감싼 변형을 나눠 봅니다. 포괄적인 셸 허용으로 오류를 없애는 대신 실제 필요한 명령과 실행 위치를 좁힙니다. 이 글은 차단 우회 방법을 제공하지 않습니다.
네트워크는 별도 경로
Work Cloud local access가 로컬 .rules를 읽는다고 가정하면 안 됩니다. 관리형 Agent security는 TOML rules의 별도 경로를 사용하며 관리 규칙의 결정은 로컬 allow와 같지 않습니다.
또한 관리형 네트워킹 Off가 인터넷 차단을 뜻하지 않습니다. command proxy가 MCP·connector·모델 서비스 요청까지 모두 필터링하는 것도 아닙니다. 셸, 브라우저, MCP, provider 연결의 데이터 흐름을 나눠 보고 각 정책의 범위를 확인해야 합니다.
정책 충돌이나 구버전이 보이면 임의로 안전장치를 끄지 않고 관리자와 적용 버전을 확인합니다. 현재 네트워크 table 이름과 이전 alias의 호환 주의는 조직 관리, provider 요청 경로는 게이트웨이에서 이어집니다.
공식 한국어 도움말: ChatGPT 플랜과 Codex에서 계정별 이용 안내를 확인할 수 있습니다. 이 글은 해당 도움말의 공식 번역이 아니며 계정 조건과 요금은 공식 안내를 우선합니다.