샌드박싱으로 Claude Code 더 안전하고 자율적으로 만들기
요약: Anthropic은 Claude Code에 샌드박싱을 도입하여 보안을 강화하고 권한 프롬프트를 84% 감소시켰습니다. 파일시스템 격리와 네트워크 격리를 통해 프롬프트 인젝션 같은 보안 위협을 방지하고, Claude가 더 자율적으로 작업할 수 있게 합니다. 새로운 샌드박싱된 bash 도구와 클라우드 기반 웹 버전을 통해 개발자는 더 안전하고 생산적인 환경에서 작업할 수 있습니다.
Claude Code에서 Claude는 코드베이스를 탐색하고, 여러 파일을 편집하며, 자신의 작업을 검증하기 위해 명령을 실행하면서 사용자와 함께 코드를 작성, 테스트, 디버깅합니다. Claude에게 코드베이스와 파일에 대해 이렇게 많은 액세스 권한을 부여하는 것은 리스크를 도입할 수 있습니다. 특히 프롬프트 인젝션(prompt injection)의 경우 더욱 그렇습니다. 이 문제를 해결하기 위해, 우리는 샌드박싱을 기반으로 구축된 Claude Code의 두 가지 새로운 기능을 도입했습니다. 두 기능 모두 개발자가 더 안전하게 작업할 수 있는 환경을 제공하면서도 Claude가 더 자율적으로, 더 적은 권한 프롬프트로 실행할 수 있도록 설계되었습니다. 내부 사용에서 우리는 샌드박싱이 안전하게 권한 프롬프트를 84% 감소시킨다는 것을 발견했습니다. Claude가 자유롭게 작업할 수 있는 명확한 경계를 정의함으로써, 보안과 에이전시(agent agency)를 모두 증가시킵니다.
Claude Code 사용자 보안 유지
Claude Code는 권한 기반(permission-based) 모델로 실행됩니다. 기본적으로 읽기 전용(read-only)이므로 수정 사항을 적용하거나 명령을 실행하기 전에 권한을 요청합니다. 몇 가지 예외가 있습니다: echo나 cat 같은 안전한 명령은 자동으로 허용하지만, 대부분의 작업은 여전히 명시적인 승인이 필요합니다.
지속적으로 ‘승인’을 클릭하는 것은 개발 주기를 늦추고 ‘승인 피로감(approval fatigue)’으로 이어질 수 있습니다. 사용자가 승인하는 내용에 주의를 기울이지 않게 되고, 이는 다시 개발을 덜 안전하게 만들 수 있습니다.
이 문제를 해결하기 위해 우리는 Claude Code용 샌드박싱을 출시했습니다.
샌드박싱: 더 안전하고 더 자율적인 접근 방식
샌드박싱은 각 작업에 대해 권한을 요청하는 대신 Claude가 더 자유롭게 작업할 수 있는 미리 정의된 경계를 생성합니다. 샌드박싱이 활성화되면 권한 프롬프트가 크게 줄어들고 보안이 강화됩니다.
샌드박싱에 대한 우리의 접근 방식은 두 가지 경계를 가능하게 하는 운영 체제 수준의 기능을 기반으로 구축되었습니다.
파일시스템 격리(Filesystem isolation): Claude가 특정 디렉터리에만 액세스하거나 수정할 수 있도록 보장합니다. 이는 프롬프트 인젝션된 Claude가 민감한 시스템 파일을 수정하는 것을 방지하는 데 특히 중요합니다.
네트워크 격리(Network isolation): Claude가 승인된 서버에만 연결할 수 있도록 보장합니다. 이는 프롬프트 인젝션된 Claude가 민감한 정보를 유출하거나 맬웨어를 다운로드하는 것을 방지합니다.
효과적인 샌드박싱은 파일시스템과 네트워크 격리가 모두 필요하다는 점에 주목할 가치가 있습니다. 네트워크 격리가 없으면 손상된 에이전트가 SSH 키와 같은 민감한 파일을 유출할 수 있습니다. 파일시스템 격리가 없으면 손상된 에이전트가 샌드박스를 쉽게 탈출하여 네트워크 액세스를 얻을 수 있습니다. 두 기술을 모두 사용함으로써 우리는 Claude Code 사용자에게 더 안전하고 빠른 에이전트 경험을 제공할 수 있습니다.
Claude Code의 두 가지 새로운 샌드박싱 기능
샌드박싱된 bash 도구: 권한 프롬프트 없는 안전한 bash 실행
우리는 에이전트가 액세스할 수 있는 정확한 디렉터리와 네트워크 호스트를 정의할 수 있게 해주는 새로운 샌드박스 런타임을 도입합니다. 컨테이너를 시작하고 관리하는 오버헤드 없이 이 기능을 사용할 수 있습니다. 이는 임의의 프로세스, 에이전트, MCP 서버를 샌드박싱하는 데 사용할 수 있습니다.
또한 오픈 소스 연구용 미리보기(research preview)로도 제공됩니다. Claude Code에서 우리는 이 런타임을 사용하여 bash 도구를 샌드박싱하며, 이를 통해 Claude가 사용자가 설정한 정의된 제한 내에서 명령을 실행할 수 있습니다. 안전한 샌드박스 내에서 Claude는 더 자율적으로 작동하고 권한 프롬프트 없이 명령을 안전하게 실행할 수 있습니다.
Claude가 샌드박스 외부의 것에 액세스하려고 하면 즉시 알림을 받고 허용 여부를 선택할 수 있습니다.
우리는 이 기능을 Linux bubblewrap과 MacOS seatbelt와 같은 OS 수준 프리미티브(primitives)를 기반으로 구축하여 OS 수준에서 이러한 제한을 강제합니다. 이는 Claude Code의 직접 상호작용뿐만 아니라 명령에 의해 생성된 모든 스크립트, 프로그램, 하위 프로세스도 포함합니다.
위에서 설명한 것처럼 이 샌드박스는 다음과 같은 두 가지를 모두 강제합니다.
파일시스템 격리: 현재 작업 디렉터리에 대한 읽기 및 쓰기 액세스를 허용하지만, 그 외의 파일 수정은 차단합니다.
네트워크 격리: 샌드박스 외부에서 실행되는 프록시 서버에 연결된 unix 도메인 소켓을 통해서만 인터넷 액세스를 허용합니다. 이 프록시 서버는 프로세스가 연결할 수 있는 도메인에 대한 제한을 강제하고 새로 요청된 도메인에 대한 사용자 확인을 처리합니다.
더 강화된 보안을 원하신다면 나가는 트래픽에 대해 임의의 규칙을 강제하도록 이 프록시를 사용자 정의하는 것도 지원합니다. 두 구성 요소 모두 구성 가능하므로 특정 파일 경로나 도메인을 허용하거나 차단하기 쉽습니다.
Claude Code의 샌드박싱 아키텍처는 파일시스템 및 네트워크 제어로 코드 실행을 격리하며, 안전한 작업을 자동으로 허용하고, 악의적인 작업을 차단하며, 필요할 때만 권한을 요청합니다. 샌드박싱은 성공적인 프롬프트 인젝션조차도 완전히 격리되며 전체 사용자 보안에 영향을 미치지 않음을 보장합니다. 이 방식으로 손상된 Claude Code는 사용자의 SSH 키를 훔치거나 공격자의 서버로 연결할 수 없습니다.
이 기능을 시작하려면 Claude Code에서 /sandbox를 실행하고 보안 모델에 대한 더 자세한 기술적 세부사항을 확인하세요.
다른 팀이 더 안전한 에이전트를 구축할 수 있도록 이 기능을 오픈 소스로 공개했습니다. 우리는 다른 사람들도 자신들의 에이전트의 보안 태세를 강화하기 위해 이 기술을 채택하는 것을 고려해야 한다고 믿습니다.
웹에서의 Claude Code: 클라우드에서 Claude Code를 안전하게 실행하기
오늘 우리는 또한 Claude Code on the 웹을 출시하여 사용자가 클라우드의 격리된 샌드박스에서 Claude Code를 실행할 수 있게 합니다. 웹에서의 Claude Code는 각 Claude Code 세션을 격리된 샌드박스에서 실행하며, 여기에서 서버에 안전하고 안전한 방식으로 완전한 액세스 권한을 갖습니다.
우리는 이 샌드박스를 설계하여 git 자격 증명이나 서명 키와 같은 민감한 자격 증명이 Claude Code와 함께 샌드박스 내에 절대 들어가지 않도록 했습니다. 이 방식으로 샌드박스에서 실행되는 코드가 손상되더라도 사용자는 추가적인 해악으로부터 보호됩니다.
웹에서의 Claude Code는 모든 git 상호작용을 투명하게 처리하는 사용자 정의 프록시 서비스를 사용합니다. 샌드박스 내에서 git 클라이언트는 사용자 정의된 범위가 지정된 자격 증명으로 이 서비스에 인증합니다. 프록시는 이 자격 증명과 git 상호작용의 내용(예: 구성된 브랜치에만 푸시하는지 확인)을 검증한 다음, 요청을 GitHub로 보내기 전에 올바른 인증 토큰을 첨부합니다.
Claude Code의 Git 통합은 인증 토큰, 브랜치 이름, 리포지토리 대상을 검증하는 보안 프록시를 통해 명령을 라우팅합니다. 이를 통해 승인되지 않은 푸시를 방지하면서 안전한 버전 제어 워크플로우를 허용합니다.
시작하기
새로운 샌드박싱된 bash 도구와 웹에서의 Claude Code는 Claude를 사용하여 엔지니어링 작업을 수행하는 개발자의 보안과 생산성을 크게 향상시킵니다.
이 도구를 시작하려면:
- Claude에서
/sandbox를 실행하고 이 샌드박스를 구성하는 방법에 대한 문서를 확인하세요. - claude.com/code로 이동하여 웹에서의 Claude Code를 사용해 보세요.
- 또는 자신만의 에이전트를 구축하는 경우, 오픈 소스 샌드박싱 코드를 확인하고 작업에 통합하는 것을 고려하세요.
여러분이 무엇을 구축하는지 보는 것을 기대합니다.
웹에서의 Claude Code에 대해 자세히 알아보려면 출시 블로그 게시물을 확인하세요.
인사
이 기사는 David Dworken과 Oliver Weller-Davies가 작성했으며, Meaghan Choi, Catherine Wu, Molly Vorwerck, Alex Isken, Kier Bradwell, Kevin Garcia의 기여가 있었습니다.
핵심 포인트
- Claude Code에 샌드박싱 기능을 도입하여 권한 프롬프트를 84% 감소시키고 보안을 강화했습니다
- 파일시스템 격리와 네트워크 격리를 통해 프롬프트 인젝션 같은 보안 위협을 방지합니다
- 샌드박싱된 bash 도구는 Linux bubblewrap과 MacOS seatbelt 같은 OS 수준 프리미티브를 기반으로 작동합니다
- 웹에서의 Claude Code는 클라우드의 격리된 샌드박스에서 실행되며, 사용자 정의 프록시로 git 작업을 안전하게 처리합니다
- 샌드박싱 기능은 오픈 소스로 공개되어 다른 팀도 자신들의 에이전트에 통합할 수 있습니다
출처: Making Claude Code more secure and autonomous with sandboxing \ Anthropic