핵심 요약
AI 에이전트가 강력해질수록 문제는 "실패할 가능성"보다 "실패했을 때 어디까지 망가뜨릴 수 있는가"가 된다.
Anthropic은 Claude 제품군에서 모델 감시보다 환경 격리, 샌드박스, VM, 네트워크 통제를 통해 피해 범위를 제한하는 전략을 발전시켜 왔다.
가장 중요한 원칙은 확률적인 모델 방어에만 의존하지 말고, 파일·네트워크·프로세스 수준에서 단단한 경계를 만드는 것이다.
에이전트 보안의 핵심 질문은 폭발 반경이다
AI 에이전트는 이제 파일을 읽고, 코드를 실행하고, 네트워크에 접속하고, 내부 서비스에도 접근할 수 있다.
이때 위험은 두 가지로 나뉜다. 하나는 에이전트가 잘못 행동할 가능성이고, 다른 하나는 잘못 행동했을 때 얼마나 큰 피해를 낼 수 있는가이다.
모델 학습과 안전장치는 첫 번째 위험을 줄인다. 하지만 에이전트에게 더 많은 권한을 줄수록 두 번째 위험, 즉 "폭발 반경"은 커진다.
따라서 현대 에이전트 보안의 핵심은 "에이전트가 실수하지 않게 하자"가 아니라 "실수해도 여기까지만 망가지게 하자"에 가깝다.
방어 방식 1: 사람이 매번 승인하는 방식의 한계
Claude Code는 초기에 위험한 작업을 할 때마다 사용자에게 허가를 요청했다.
이 방식은 이론적으로 안전해 보인다. 사용자가 명령을 읽고 판단한 뒤 승인하면 되기 때문이다.
하지만 실제 사용자는 반복되는 승인 요청에 피로해진다. Anthropic의 관측에 따르면 사용자는 권한 요청의 약 93%를 승인했다.
알림이 많아질수록 사람은 덜 읽고 더 기계적으로 누른다. 보안 장치가 오히려 "확인 버튼 누르기 습관"을 만드는 셈이다.
그래서 Claude Code는 일부 승인 판단을 자동화하는 auto mode를 도입했다. 다만 이것도 확률적 방어이므로 위험한 행동을 완전히 막지는 못한다.
방어 방식 2: 행동을 감시하지 말고 가능성을 제한한다
Anthropic이 더 중시하는 방식은 containment, 즉 격리다.
격리는 에이전트가 무엇을 하려는지 매번 판단하기보다, 애초에 무엇을 할 수 있는지를 제한한다.
예를 들어 샌드박스 안에 클라우드 자격증명이 들어가지 않으면, 모델이 속거나 사용자가 잘못 지시해도 그 자격증명을 빼낼 수 없다.
이는 금고 안에 사람을 넣고 감시하는 것이 아니라, 애초에 금고 열쇠를 주지 않는 방식이다.
에이전트 위험의 세 가지 출처
첫 번째 위험은 사용자 오남용이다. 사용자가 악의적으로 또는 부주의하게 위험한 명령을 내릴 수 있다.
두 번째는 모델 오작동이다. 사용자가 원하지 않았는데 모델이 목표 달성을 위해 이상한 우회로를 찾는 경우다. 똑똑한 모델일수록 제한을 창의적으로 돌아갈 수도 있다.
세 번째는 외부 공격이다. 파일, 도구, 웹페이지, MCP 서버, 플러그인 등을 통해 프롬프트 인젝션이나 런타임 공격이 들어올 수 있다.
이 세 가지는 서로 다르지만, 결과는 비슷할 수 있다. 파일 유출, 명령 실행, 네트워크 전송, 권한 상승 같은 형태로 나타난다.
방어해야 할 세 영역: 모델, 환경, 외부 콘텐츠
첫 번째 방어 대상은 모델이다. 시스템 프롬프트, 분류기, 안전 학습, 탐지 모델 등이 여기에 속한다.
하지만 모델 방어는 확률적이다. 매우 강력해도 100%는 아니다. 따라서 단독 방어선으로 삼기 어렵다.
두 번째는 실행 환경이다. 샌드박스, VM, 파일시스템 제한, 네트워크 차단처럼 결정적인 경계를 만든다.
세 번째는 에이전트가 읽는 외부 콘텐츠다. 신뢰할 수 있는 GitHub 커넥터라도 README 파일 자체가 악성 지시문을 포함할 수 있다.
결국 좋은 방어는 여러 층이 겹쳐야 한다. 모델이 놓치면 환경이 막고, 환경이 느슨하면 도구 권한이 제한해야 한다.
claude.ai: 임시 컨테이너로 피해 범위를 작게 만든다
claude.ai에서 Claude가 코드를 실행할 때는 서버 측의 격리된 컨테이너 안에서 실행된다.
사용자의 로컬 컴퓨터에서는 코드가 실행되지 않고, 파일시스템도 세션 단위로 사라진다.
이 구조는 에이전트가 할 수 있는 일을 제한한다. 지속적인 작업 공간도 없고, 사용자의 로컬 파일에도 접근할 수 없다.
대신 보안 모델은 전통적인 클라우드 서비스 보안에 가까워진다. 사용자의 컴퓨터를 보호하는 것보다 Anthropic 인프라와 테넌트 간 격리가 중요해진다.
Claude Code: 개발자용 샌드박스와 승인 피로
Claude Code는 개발자의 로컬 머신에서 동작하므로 파일, 셸, 네트워크 접근이 필요하다.
개발자는 bash 명령이나 파일 삭제 위험을 이해할 가능성이 높기 때문에, 초기에는 사람이 승인하는 방식이 어느 정도 통했다.
하지만 승인 피로가 빠르게 나타났다. 그래서 macOS의 Seatbelt, Linux의 bubblewrap 같은 OS 수준 샌드박스를 도입했다.
이 샌드박스에서는 작업공간 내부 쓰기는 허용하고, 네트워크는 기본 차단한다. 그 결과 권한 요청이 크게 줄었다.
핵심은 개발자에게 모든 판단을 떠넘기지 않고, 기본 환경 자체를 안전하게 만드는 것이다.
신뢰 대화상자 이전이 공격면이 될 수 있다
Claude Code에서 발견된 중요한 취약점 중 하나는 사용자가 폴더를 신뢰한다고 승인하기 전 발생했다.
예를 들어 프로젝트 안의 .claude/settings.json에 악성 hook이 들어 있고, 프로그램이 신뢰 확인 전에 이 설정을 읽으면 코드가 먼저 실행될 수 있다.
이는 "아직 문을 열어도 되는지 묻기도 전에 안에서 무언가 실행된" 상황이다.
해결책은 단순하지만 중요하다. 프로젝트 설정, 로컬 구성, localhost 리스너 등은 사용자의 신뢰 승인 이후에만 처리해야 한다.
로컬 파일이라고 해서 안전한 것은 아니다. 아직 신뢰하지 않은 폴더는 인터넷에서 들어온 요청처럼 다뤄야 한다.
사용자가 직접 공격 전달자가 될 수도 있다
한 내부 실험에서 공격자는 직원에게 평범한 협업 요청처럼 보이는 프롬프트를 보내 Claude Code에 붙여넣게 했다.
그 프롬프트는 자연스러운 작업 지시처럼 보였지만, 중간에 클라우드 자격증명을 읽고 외부 서버로 보내라는 내용이 숨어 있었다.
이 경우 모델 입장에서는 사용자가 직접 지시한 것이므로 이상 징후로 보기 어렵다.
사람이 악성 스크립트를 직접 실행하는 것과 비슷하다. 따라서 모델 분류기만으로는 막기 어렵다.
이때 필요한 것은 파일 접근 제한과 네트워크 송신 차단이다. 자격증명을 읽을 수 없고 외부로 보낼 수 없다면 공격은 실패한다.
Claude Cowork: 비개발자를 위한 VM 격리
Claude Cowork는 일반 지식 노동자를 위한 제품이다. 사용자가 bash 명령의 위험을 판단할 것이라고 기대하기 어렵다.
그래서 Anthropic은 초기 버전에서 전체 에이전트를 VM 안에서 실행했다.
VM은 별도의 리눅스 커널, 파일시스템, 프로세스 공간을 가진다. 사용자가 선택한 작업 폴더만 마운트되고, 나머지 호스트 파일은 보이지 않는다.
자격증명은 호스트 키체인에 남아 있고 VM 안으로 들어가지 않는다.
이 방식은 "사용자가 매번 판단한다"가 아니라 "관리자가 정한 경계를 항상 유지한다"에 가깝다.
VM 격리는 강하지만 운영상 비용이 있다
전체 에이전트를 VM 안에서 실행하면 보안은 강하지만, VM 시작에 실패했을 때 제품 전체가 멈출 수 있다.
Anthropic은 이후 에이전트 루프는 VM 밖으로 옮기고, 코드 실행은 VM 안에 유지하는 구조로 바꾸었다.
이렇게 하면 VM에 문제가 생겨도 Claude가 사용자에게 설명하거나 복구를 도울 수 있다.
또한 로컬 MCP 서버도 VM 밖에서 실행하도록 바꾸었다. 일부 MCP 서버는 로컬 DB나 호스트 프로세스와 상호작용해야 하기 때문이다.
보안 구조는 항상 순수한 이상형과 실용성 사이에서 균형을 잡아야 한다.
파일 마운트는 세밀하게 통제해야 한다
Claude Cowork는 사용자가 선택한 폴더를 VM에 마운트한다.
이때 읽기 전용, 읽기·쓰기, 읽기·쓰기·삭제 금지 같은 모드를 제공해 위험을 세분화한다.
중요한 함정은 심볼릭 링크다. 허용된 폴더 안의 링크가 외부 경로를 가리키면 격리를 우회할 수 있다.
따라서 경로 검증 전에 심볼릭 링크를 먼저 해석해야 한다.
기업 환경에서는 MDM 설정을 통해 어떤 경로를 마운트할 수 있는지 관리자가 제한할 수 있다.
허용된 도메인도 데이터 유출 통로가 될 수 있다
Claude Cowork에서 중요한 사건은 허용된 도메인을 통한 유출이었다.
제품은 api.anthropic.com에 접속해야 하므로 이 도메인을 허용했다. 그런데 악성 파일이 Claude에게 공격자 API 키로 Anthropic Files API에 파일을 업로드하라고 지시했다.
프록시는 목적지가 허용된 도메인이라고 판단해 통과시켰고, 파일은 공격자 계정으로 올라갔다.
여기서 교훈은 명확하다. 도메인 allowlist는 단순한 주소 목록이 아니라 기능 권한 부여다.
어떤 도메인을 허용한다는 것은 그 도메인에서 가능한 모든 API 기능도 공격면에 포함된다는 뜻이다.
직접 만든 보안 부품이 가장 약할 수 있다
Anthropic은 여러 사례에서 표준 보안 기술은 잘 버텼지만, 직접 만든 주변 구성요소에서 문제가 생겼다고 설명한다.
gVisor, seccomp, 하이퍼바이저 같은 기술은 오랜 기간 공격자와 보안 연구자에게 검증되어 왔다.
반면 커스텀 프록시, allowlist 처리, 구성 로딩 방식은 상대적으로 검증이 덜 되어 있다.
보안에서는 새로 만든 똑똑한 장치보다 오래 검증된 단순한 장치가 더 믿을 만할 때가 많다.
격리는 관측 가능성을 줄일 수 있다
Claude Cowork의 VM 격리는 에이전트를 잘 가둔다. 하지만 동시에 기업의 EDR 도구도 VM 내부를 보기 어렵게 만든다.
보안팀 입장에서는 하이퍼바이저 프로세스만 보이고, 그 안에서 무슨 일이 일어나는지 실시간으로 파악하기 어렵다.
격리는 안전성을 높이지만 투명성을 낮출 수 있다.
Anthropic은 이벤트 로그를 나중에 가져갈 수 있는 방식으로 대응하고 있지만, 실시간 모니터링과는 다르다.
기업용 에이전트를 설계한다면 보안 격리뿐 아니라 감사, 로그, 관측성 요구도 초기에 고려해야 한다.
도구 출력도 프롬프트 인젝션 공격면이다
MCP 서버, 플러그인, 웹 검색, GitHub 커넥터는 모두 에이전트에게 외부 정보를 넣어준다.
문제는 도구 자체가 안전해도 도구가 가져오는 데이터는 악성일 수 있다는 점이다.
예를 들어 GitHub 커넥터가 정상이어도 README 파일에 숨겨진 지시문이 들어 있으면 모델 문맥에 공격이 주입된다.
따라서 도구 호출 결과도 검사해야 한다. 네트워크에서 가져온 웹페이지뿐 아니라 MCP 응답, 파일 내용, 검색 결과도 모두 입력 공격면이다.
신뢰할 수 있는 도구와 신뢰할 수 있는 데이터는 다르다.
로컬 도구와 원격 도구의 신뢰 수준은 다르다
로컬에 설치한 도구는 코드를 읽고, 버전을 고정하고, 서명을 확인할 수 있다.
반면 원격 MCP 서버나 클라우드 커넥터는 승인 후에도 언제든 동작이 바뀔 수 있다.
설치 시점에 신뢰했던 서버가 나중에 다른 응답을 주면 기존 신뢰 판단은 무력화된다.
따라서 검증되지 않은 원격 도구는 가짜 데이터나 제한된 환경에서 먼저 시험하는 것이 좋다.
원격 도구는 편리하지만, 살아 움직이는 외부 의존성이라는 점을 잊으면 안 된다.
앞으로 커질 위험: 기억 오염, 다중 에이전트, 에이전트 신원
에이전트의 기억이 세션을 넘어 지속되면 새로운 위험이 생긴다.
악성 지시문이 메모리, 설정 파일, 작업공간, 장기 실행 에이전트 상태에 들어가면 다음 실행 때마다 다시 로드될 수 있다. 이는 전통 보안의 지속성 공격과 닮았다.
다중 에이전트 구조도 양날의 검이다. 하위 에이전트가 위험한 콘텐츠를 요약해 안전하게 전달할 수 있지만, 그 출력이 과도하게 신뢰되면 새로운 권한 상승 통로가 된다.
또 하나의 큰 질문은 에이전트의 신원이다. 에이전트가 사용자 권한을 그대로 물려받아야 하는지, 별도 신원을 가져야 하는지는 앞으로 중요한 표준화 주제가 된다.
인사이트
AI 에이전트 보안의 실전 원칙은 간단하다. 모델을 믿되, 모델만 믿지는 말아야 한다.
가장 먼저 파일, 네트워크, 프로세스, 자격증명 접근을 환경 수준에서 제한해야 한다. 그다음 모델 분류기와 프롬프트 정책으로 행동을 유도해야 한다.
사용자가 개발자인지 비개발자인지도 중요하다. 개발자에게는 일부 판단을 맡길 수 있지만, 일반 사용자에게 위험한 명령 해석을 요구하면 안 된다.
또한 allowlist, 프록시, 설정 로더처럼 직접 만든 작은 부품을 특히 의심해야 한다. 공격자는 보통 가장 화려한 성벽이 아니라 덜 검증된 옆문을 찾는다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.