logo

Auto-review

Auto-review는 샌드박스 경계에서 수동 승인을 별도의 reviewer 에이전트로 대체합니다. 메인 Codex 에이전트는 같은 샌드박스 안에서, 같은 승인 정책과 같은 네트워크 및 파일 시스템 제한으로 계속 실행됩니다. 차이는 승인 대상 escalation request를 누가 검토하느냐입니다.

Auto-review는 승인이 대화형일 때만 적용됩니다. 실제로는 approval_policy = "on-request"이거나 관련 프롬프트 범주가 계속 표시되는 세분화된 승인 정책을 의미합니다. approval_policy = "never"에서는 검토할 것이 없습니다.

auto-review 작동 방식

전체 흐름은 다음과 같습니다.

  1. 메인 에이전트가 read-only 또는 workspace-write 안에서 작업합니다.
  2. 샌드박스 경계를 넘어야 할 때 승인을 요청합니다.
  3. approvals_reviewer = "auto_review"이면 Codex는 사람에게 멈춰 묻는 대신 해당 승인 요청을 별도의 reviewer 에이전트로 라우팅합니다.
  4. reviewer는 해당 action을 실행해야 하는지 결정하고 근거를 반환합니다.
  5. action이 승인되면 실행이 계속됩니다. 거부되면 메인 에이전트는 실질적으로 더 안전한 경로를 찾거나 멈추고 사용자에게 묻도록 지시받습니다.

Auto-review는 reviewer 교체이지 권한 부여가 아닙니다. writable_roots를 확장하거나, 네트워크 접근을 활성화하거나, 보호 경로를 약화하지 않습니다. 이미 승인이 필요한 action을 Codex가 처리하는 방식만 바꿉니다.

트리거되는 경우

Auto-review는 원래 사람에게 확인을 요청하며 멈췄을 승인 요청을 평가합니다. 여기에는 다음이 포함됩니다.

  • escalated sandbox permission을 요청하는 셸 또는 exec 도구 호출
  • 현재 샌드박스나 정책에 의해 차단된 네트워크 요청
  • 허용된 writable root 밖의 파일 편집
  • 도구 annotation 또는 구성된 승인 모드에 따라 승인이 필요한 MCP 또는 앱 도구 호출
  • 새 웹사이트 또는 domain에 대한 Browser Use 접근

Auto-review는 샌드박스 안에서 이미 허용된 일반 action에는 실행되지 않습니다. 명령이 활성 sandbox_mode에서 실행될 수 있거나 도구 호출이 허용 정책 안에 머무르면 메인 에이전트가 검토 없이 계속 진행합니다.

Computer Use는 별도 사례입니다. Computer Use의 앱 승인은 여전히 사용자에게 직접 표시되므로 Auto-review가 해당 앱 수준 프롬프트를 대체하지 않습니다.

auto-review가 차단하는 항목

큰 틀에서 Auto-review는 다음과 같은 action을 차단하도록 설계되었습니다.

  • 개인 데이터, 비밀 정보, 자격 증명을 신뢰할 수 없는 대상으로 전송
  • 자격 증명, token, cookie, session material 탐색
  • 광범위하거나 지속적인 보안 약화
  • 되돌릴 수 없는 손상 위험이 큰 파괴적 action

정확한 정책은 오픈 소스 Codex 저장소의 policy_template.mdpolicy.md에 있습니다. 이 정책은 enterprise별 guardian_policy_config 또는 사용자별 로컬 [auto_review].policy로 사용자화할 수 있습니다.

reviewer가 보는 내용

reviewer 자체도 Codex 에이전트이지만 메인 에이전트보다 좁은 일을 합니다. 특정 boundary-crossing action을 실행해야 하는지 결정합니다.

reviewer는 압축된 transcript와 정확한 승인 요청을 봅니다. 일반적으로 사용자 메시지, 표시된 assistant 업데이트, 관련 도구 호출과 도구 출력, 현재 승인 대상으로 제안된 action이 포함됩니다. 누락된 컨텍스트를 수집하기 위해 read-only 검사를 수행할 수도 있지만, 드문 경우입니다.

숨겨진 assistant reasoning은 포함되지 않습니다. Auto-review는 보존된 대화 항목과 도구 근거를 볼 뿐 private chain-of-thought를 보지 않습니다.

거부와 실패 동작

명시적 거부는 일반 샌드박스 오류처럼 취급되지 않습니다. Codex는 리뷰 근거를 메인 에이전트에 반환하고 더 강한 지침을 추가합니다.

  • 같은 결과를 workaround, 간접 실행, 정책 우회로 추구하지 않습니다.
  • 실질적으로 더 안전한 대안이 있을 때만 계속합니다.
  • 그렇지 않으면 멈추고 사용자에게 묻습니다.

Codex는 턴별 rejection circuit breaker도 적용합니다. 현재 오픈 소스 구현에서 Auto-review는 같은 턴에서 연속 3회 거부되거나 최근 50회 리뷰 rolling window 안에서 10회 거부되면 턴을 interrupt합니다.

거부가 아닌 결과는 연속 거부 counter를 reset합니다. breaker가 작동하면 Codex는 warning을 내고 에이전트가 더 많은 escalation 시도를 반복하게 두는 대신 현재 턴을 interrupt로 중단합니다.

timeout은 명시적 거부와 별도로 표시되며, timeout만으로 action이 안전하지 않다는 증거는 아니라고 메인 에이전트에 알립니다.

거부된 action에 대한 명시적 override 경로도 있습니다. 현재 오픈 소스 TUI에서는 /approve를 실행해 Auto-review Denials picker를 열고, 최근 거부된 action 하나를 선택해 한 번의 retry에 대해 승인합니다. Codex는 스레드당 최근 거부 최대 10개를 기록합니다. 이 승인은 좁습니다. 정확히 거부된 action에만 적용되고 유사한 미래 action에는 적용되지 않으며, 같은 컨텍스트에서 한 번의 retry에 대해서만 기록되고, retry도 여전히 Auto-review를 거칩니다. 내부적으로 Codex는 해당 action에 대한 developer-scoped approval marker를 삽입합니다. reviewer는 명시적 사용자 override를 컨텍스트로 보지만, 여전히 정책을 따르며 정책상 사용자가 해당 거부 유형을 overwrite할 수 없다면 다시 거부할 수 있습니다.

구성

기본 reviewer 정책은 오픈 소스 Codex 저장소의 core/src/guardian/policy.md에 있습니다. Enterprise는 managed requirements의 guardian_policy_config로 tenant-specific 섹션을 대체할 수 있습니다. 개인 사용자도 config.toml에 로컬 [auto_review].policy를 설정할 수 있지만, managed requirements가 우선합니다.

[auto_review]
policy = """
YOUR POLICY GOES HERE
"""

정책을 사용자화하려면 먼저 전체 기본 정책 문구를 복사한 뒤 개인 risk profile에 맞춰 반복 개선합니다.

보안을 약화하지 않고 리뷰량 줄이기

Auto-review는 샌드박스가 일반적인 안전 워크플로를 이미 포괄할 때 가장 잘 작동합니다. 너무 많은 일상 action이 리뷰를 필요로 한다면 reviewer가 계속 noisy escalation을 승인하게 만들기보다 경계를 먼저 고치십시오.

실제로 영향이 큰 변경은 다음과 같습니다.

  • 의도적으로 사용하는 scratch 디렉터리나 이웃 저장소에 좁은 writable_roots를 추가합니다.
  • 좁은 범위의 prefix rule을 추가합니다. ["python"]이나 ["curl"] 같은 넓은 패턴보다 ["cargo", "test"] 또는 ["pnpm", "run", "lint"]처럼 정확한 명령 접두사를 선호합니다. 넓은 규칙은 Auto-review가 지키려는 경계 자체를 지우는 경우가 많습니다.

Auto-review 세션 transcript는 기본적으로 ~/.codex/sessions 아래에 보존되므로, 정책이나 권한을 변경하기 전에 Codex에게 그곳의 과거 traffic을 분석하라고 요청할 수 있습니다.

한계

Auto-review는 장시간 실행되는 agentic 작업의 기본 작동 지점을 개선하지만, 결정론적 보안 보장은 아닙니다.

  • 경계를 넘으려는 action만 평가합니다.
  • 특히 적대적이거나 특이한 컨텍스트에서는 여전히 실수할 수 있습니다.
  • 좋은 샌드박스 설계, 모니터링, 조직별 정책을 대체하지 말고 보완해야 합니다.

연구 근거와 공개 평가 결과는 Auto-review에 관한 Alignment Research 글을 참고하십시오.

Previous
샌드박스