Anthropic이 Claude를 제어하는 방법: 에이전트형 AI 보안 패턴

Anthropic은 고액 접근 기능을 거부하는 대신 "폭발 반경을 제한"하는 전략을 통해 AI 에이전트 배포 접근 방식을 전환했습니다. 에이전트가 복잡한 작업을 수행할 수 있게 되면서, 배포 위험은 엄격한 격리 경계가 적용되는 한 배포하지 않을 경우의 비용과 균형을 이룹니다.

핵심 철학: 모델보다 환경

Anthropic의 주요 교훈은 결정론적 환경 경계는 확률적 모델 레이어 조정보다 우선해야 합니다. 모델 훈련과 시스템 프롬프트는 에이전트가 하려는 행동에 영향을 줄 수 있지만, 에이전트가 가능한 행동을 보장할 수는 없습니다.

에이전트에 대한 보안 위험은 세 가지 유형으로 분류됩니다:

  1. 사용자 오용: 사용자가 에이전트를 해로운 행동으로 유도하는 경우.
  2. 모델 오작동: 에이전트가 샌드박스를 "도움이 되게" 탈출하거나 답안 키를 복호화하는 등 예상치 못한 경로를 찾아 목표를 달성하는 경우.
  3. 외부 공격자: 도구, 파일 또는 네트워크 접근을 통한 프롬프트 삽입.

이를 방어하기 위해 Anthropic은 세 가지 구성 요소에 방어를 적용합니다: 실행 환경(샌드박스, VM), 모델(분류기, 프롬프트) 및 외부 콘텐츠(도구 권한 제한).

Claude 제품을 위한 세 가지 격리 패턴

Anthropic은 사용자의 기술적 감독 능력과 필요한 접근 수준에 따라 서로 다른 격리 아키텍처를 사용합니다.

1. 일시적인 컨테이너 (claude.ai)

서버 측 코드 실행을 위해 Claude는 격리된 인프라에서 gVisor containers를 사용합니다. 파일 시스템은 일시적이며 세션당 존재해 사용자의 로컬 머신에서 코드가 실행되지 않도록 보장합니다. 여기서 주요 위협 모델은 Anthropic 자체 인프라를 보호하고 테넌트 격리를 보장하는 것입니다.

2. 인간-인-루프 (HITL) 샌드박스 (Claude Code)

Claude Code는 로컬에서 실행되며 사용자의 파일 시스템 및 셸 접근이 필요합니다. 초기에는 쓰기, bash, 네트워크 접근에 대한 사용자 승인을 요구했습니다. 그러나 텔레메트리는 approval fatigue 때문에 사용자가 프롬프트의 약 93%를 승인하여 감독이 무효화된다는 것을 보여주었습니다.

이를 완화하기 위해 Anthropic은 OS 수준 샌드박스( macOS의 Seatbelt, Linux의 bubblewrap)를 구현했습니다. 이 샌드박스는 읽기와 작업공간 쓰기를 허용하지만 기본적으로 네트워크 접근을 차단합니다. 그 결과 권한 프롬프트가 84% 감소했습니다.

3. 밀폐된 가상 머신 (Claude Cowork)

일반 지식 근로자는 bash 명령을 평가할 전문성이 부족할 수 있으므로 Claude Cowork는 Apple Virtualization 프레임워크(macOS) 또는 HCS(Windows)를 통해 **full virtual machine (VM)**을 사용합니다.

  • Isolation: VM은 자체 커널과 프로세스 테이블을 가집니다. 사용자 선택 작업공간만 마운트되며, 자격 증명은 호스트 키체인에 남습니다.
  • Architecture Evolution: 에이전트 루프를 VM outside 로 이동시켜 VM이 충돌해도 제품이 계속 사용 가능하도록 하면서, 코드 실행은 VM inside 에서 격리됩니다.
  • Egress Control: 승인된 도메인(예: 공격자의 API 키를 사용해 api.anthropic.com에 파일을 업로드)으로의 데이터 유출을 방지하기 위해 Anthropic은 VM 내부에 중간자 프록시를 구현했습니다. 이 프록시는 VM 자체가 제공한 세션 토큰을 포함한 요청만 허용합니다.

중요한 보안 실패와 교훈

Anthropic은 맞춤형 보안 구성 요소의 취약성을 강조하는 여러 "놓친 위험"을 식별했습니다:

  • Pre-Trust Execution: Claude Code에서 공격자는 사용자가 "이 폴더를 신뢰하십니까?" 프롬프트를 수락하기 전에 .claude/settings.json 훅을 통해 코드를 실행할 수 있었습니다. 해결책은 사용자 동의 후에 모든 프로젝트 로컬 구성 파싱을 연기하는 것이었습니다.
  • Direct Prompt Injection: 레드팀 테스트에서 사용자가 자격 증명(~/.aws/credentials)을 유출하는 프롬프트를 복사·붙여넣도록 피싱당할 수 있음이 밝혀졌습니다. 사용자가 프롬프트의 출처이므로 모델 레이어 분류기로는 의도를 감지할 수 없습니다. 환경적 egress 제어와 파일 시스템 경계만이 이를 차단할 수 있습니다.
  • The Visibility Trade-off: Cowork VM과 같은 높은 격리는 에이전트를 호스트 기반 EDR(Endpoint Detection and Response) 소프트웨어에서 불투명하게 만듭니다. Anthropic은 현재 이벤트 로그를 관리자가 사후에 확인할 수 있도록 풀 기반 OTLP 내보내기를 사용하고 있습니다.

에이전트 보안의 미래 과제

에이전트가 진화함에 따라 Anthropic은 새로운 공격 벡터를 예상합니다:

  • Persistent Memory Poisoning: 제품 메모리 또는 CLAUDE.md 파일에 저장된 삽입물이 매 세션마다 재로드됩니다.
  • Multi-Agent Trust Escalation: 주요 에이전트가 하위 에이전트의 출력에 원시 도구 결과보다 더 신뢰를 부여하는 위험이 새로운 삽입 벡터를 만듭니다.
  • Agent Identity: 에이전트가 자체 주체 식별자를 가져야 하는지, 아니면 사용자 권한을 상속해야 하는지를 결정해야 합니다.

커뮤니티 인사이트와 반론

기술 사용자들 사이의 논의는 Anthropic의 접근 방식이 견고하지만 여전히 몇몇 격차가 존재한다는 점을 시사합니다:

"프록시는 우리 서버가 아니라 VM 내부에 위치합니다. 이는 VM만이 출처를 알기 때문입니다... 즉, 공격자가 VM 내부에서 루트 권한을 얻으면 여전히 파일을 유출할 수 있습니다."

다른 사용자들은 "확률적" 가드레일의 위험성을 강조했습니다. Claude Code의 자동 모드 분류기는 과도한 행동에 대해 약 17%의 false negative 비율을 보이며, 이는 방어 깊이의 한 층일 뿐 주요 보안 경계가 아니라는 점을 지적했습니다.

격리 전략 요약

환경 일시적 컨테이너 HITL 샌드박스 밀폐된 VM
격리 오버헤드 컨테이너 시작 저지연 네이티브 샌드박스 전체 VM 부팅
사용자 의존도 N/A 높음 (bash 해석 필요) N/A
폭발 반경 서버 측 (gVisor) 로컬 작업공간 마운트된 작업공간 (하이퍼바이저)

Sources