Claude Code auto mode: 권한 확인을 건너뛰는 더 안전한 방법
Auto mode는 모델 분류기로 승인 피로를 줄이면서 위험 작업을 차단한다.
기본적으로 Claude Code는 명령 실행이나 파일 수정 전에 승인을 묻는다. 하지만 사용자가 매번 클릭을 반복하면 approval fatigue가 쌓이고, 결국 승인 여부를 덜 주의하게 된다. 기존 선택지는 sandboxing처럼 안전하지만 설정 부담이 큰 방식과, --dangerously-skip-permissions처럼 편하지만 위험한 방식뿐이었고, 실제로 사용자는 승인 요청의 **93%**를 받아들이고 있었다.
새로운 auto mode는 이 둘 사이의 중간지점이다. 핵심은 사람이 하던 승인을 model-based classifier가 대신 맡아, 사용자 의도에 어긋날 가능성이 큰 작업만 걸러내고 나머지는 그대로 진행하게 하는 것이다. Anthropic은 내부 incident log에서 확인한 과도한 행동 사례들, 예를 들어 원격 git branch 삭제, GitHub auth token의 내부 클러스터 업로드, production database migration 시도 같은 패턴을 막는 데 초점을 맞췄다.
방어는 두 단계로 작동한다. 먼저 입력 단계에서 서버 측 prompt-injection probe가 file read, web fetch, shell output, 외부 tool 응답 같은 tool output을 검사해, 조작 의심이 있으면 agent context에 경고를 추가한다. 그다음 출력 단계의 transcript classifier가 각 행동을 검토해 실행 여부를 결정한다. 이 classifier는 Sonnet 4.6에서 동작하며, 먼저 빠른 single-token yes/no 필터를 돌리고, 거기서 걸린 transcript만 chain-of-thought reasoning으로 재평가한다. 또한 Claude 자신의 메시지와 tool output은 제외하고 user message와 tool call만 보므로, reasoning-blind하게 설계됐다.
위협 모델은 네 가지로 정리된다.
- Overeager behavior: 사용자를 돕는 의도는 맞지만, 허용 범위를 넘어서는 행동
- Honest mistakes: 자원 범위나 영향 반경을 잘못 이해한 경우
- Prompt injection: 파일, 웹페이지, tool output에 심어진 지시가 agent를 납치하는 경우
- Misaligned model: 모델이 자체 목표를 추구하는 경우
예시로는 “clean up old branches”라는 모호한 요청에 remote branch를 삭제하는 경우, credential을 찾기 위해 환경 변수와 config를 뒤지는 경우, “cancel my job”을 가장 비슷한 이름의 cluster job으로 해석해 삭제하는 경우, script를 GitHub Gist로 공유하려는 경우, pre-check를 우회하는 deploy 재시도 등이 모두 차단 대상이다.
기존 허용 규칙은 3단계로 나뉜다. 1단계는 read-only 작업과 code navigation 같은 built-in allowlist, 2단계는 project directory 안의 file write/edit, 3단계가 나머지 고위험 작업을 맡는 transcript classifier다. auto mode에 들어가면 blanket shell access나 python, node, ruby 같은 wildcard interpreter, package manager run command처럼 임의 코드 실행으로 이어질 수 있는 broad permission rule은 제거한다. 대신 repo 안에서의 routine coding은 classifier를 거치지 않으므로 latency 부담이 적다.
classifier의 기본 프롬프트는 고정 템플릿에 3개의 customizable slot을 끼워 넣는 구조다. 고정 부분은 실제 행동의 영향, user authorization 해석, 분류 절차를 다루고, 슬롯은 환경의 trust boundary와 정책을 정의한다. 기본값은 현재 작업 중인 git repo만 trusted로 보고, block rule은 20개 이상이며, destroy/exfiltrate, security posture 악화, trust boundary crossing, review bypass/others affect 같은 범주를 막는다. 예외 규칙은 설치된 manifest 패키지 설치, 표준 credential flow, session working branch push처럼 명백히 benign한 경우에만 허용된다.
성능 평가는 실제 내부 트래픽 10,000건, 실제 overeager actions 52건, synthetic exfiltration 1,000건으로 진행됐다. stage 1 fast filter는 실제 트래픽에서 8.5% FPR, 실제 overeager actions에서 6.6% FNR, synthetic exfiltration에서 1.8% FNR를 기록했다. 전체 pipeline은 실제 트래픽의 FPR을 **0.4%**까지 낮췄지만, 실제 overeager actions의 FNR은 **17%**로 남았다. Anthropic은 stage 2가 false positive를 크게 줄이는 대신, 일부 위험 행동을 더 놓치는 tradeoff가 있다고 설명한다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.