스킬.잇다

샌드박스

개념

외부 시스템에 영향을 주지 못하도록 격리된 안전한 실행 공간. AI가 생성한 코드를 실행하거나 위험한 작업을 시험할 때, 호스트 PC를 보호하는 울타리 역할을 한다.

동의어: Sandbox, 샌드박스 환경

정의

샌드박스(Sandbox)는 프로그램이 외부 시스템(파일 시스템, 네트워크, 다른 프로세스 등)에 직접 영향을 주지 못하도록 격리된 환경에서 실행되게 하는 보안·안정성 기법이다. 아이가 모래밭 안에서만 놀도록 하는 놀이터의 모래 상자에서 이름이 유래했다.

왜 필요한가

AI가 생성한 코드는 작성자도 모르는 부작용을 가질 수 있다. 테스트 환경에서 직접 호스트에 실행하다 보면:

  • 실수로 중요한 파일이 삭제되거나 덮어써질 수 있다
  • 의도치 않은 외부 서비스 호출로 비용이 청구될 수 있다
  • 악성 패키지가 설치되어 호스트가 오염될 수 있다

샌드박스는 이 모든 잠재적 사고를 바깥으로 새어 나가지 못하게 차단한다.

구현 방식 — 강도순

강도방식
가상 머신 (VM)Claude Cowork 내부 VM, VirtualBox
중상컨테이너Docker, Podman
OS 레벨 격리chroot, jail, seccomp
프로세스 권한 제한Windows AppContainer, macOS App Sandbox
앱 레벨브라우저 샌드박스웹페이지의 JavaScript, WebAssembly

같은 단어지만 실제로 어떤 강도로 격리되는지는 구현마다 천차만별이다.

Claude Cowork의 샌드박스

Claude Cowork은 AI가 생성한 코드를 호스트 PC의 파일 시스템이나 시스템 자원에 직접 닿지 못하도록 내부 virtual-machine 안에서 실행한다. 이 VM 자체가 일종의 강력한 샌드박스 역할을 한다. 그래서 사용자는 마음 놓고 “이 파이썬 스크립트 돌려봐”를 지시할 수 있다.

Claude Code의 권한 모드

Claude Code (개발자용 CLI)에도 유사한 개념이 있다. plan, default, acceptEdits, bypassPermissions 같은 권한 모드가 있어, 읽기만 허용할지, 쓰기까지 허용할지, 모든 것을 자유롭게 허용할지 단계적으로 제어할 수 있다. 이는 VM 기반 샌드박스는 아니지만 권한 기반 샌드박스의 한 형태다.

한계

샌드박스는 만능이 아니다.

  • 샌드박스 탈출(escape) 취약점 — 구현 버그로 격리를 벗어날 수 있다
  • 외부 통신은 여전히 가능 — 네트워크가 열려 있으면 데이터 유출 위험은 남는다
  • 사용자 입력은 무제한 — 사용자가 “파일 삭제해줘”를 명령하면 샌드박스는 막지 않는다

그래서 샌드박스는 항상 다른 방어 수단(권한 관리, 감사로그, 백업)과 함께 설계된다.

virtual-machine과의 차이

VM은 구현 기술이고, 샌드박스는 목적·개념이다. 같은 VM이라도 일부는 샌드박스로 쓰이고(격리 목적), 일부는 단순히 서버 통합을 위해 쓰인다(자원 효율 목적). “VM으로 구현된 샌드박스”가 가장 강한 격리를 제공하는 조합이다.

관련 용어

생성일: 2026-04-16