CubeSandbox: 60ms 안에 부팅되는 AI 에이전트용 하드웨어 격리 샌드박스

CubeSandbox 소개

CubeSandbox는 AI 에이전트가 생성한 코드를 안전하게 실행하기 위한 고성능 샌드박스 서비스입니다. LLM이 만들어낸 코드는 신뢰할 수 없다는 전제에서 출발해야 하는데, Docker 컨테이너는 호스트와 커널을 공유하기 때문에 커널 취약점을 통한 탈출 위험이 남고, 전통적인 가상 머신은 격리 수준은 높지만 부팅에 수 초가 걸리고 메모리 오버헤드도 큽니다. 에이전트 하나가 수십 번씩 코드를 실행하고 동시에 수백 개의 에이전트가 돌아가는 환경에서는 이 두 방식 모두 한계가 뚜렷합니다.

CubeSandbox는 RustVMM과 KVM 위에 구축한 MicroVM으로 이 문제를 풉니다. 샌드박스마다 전용 Guest OS 커널을 부여해 하드웨어 수준의 격리를 확보하면서도, 콜드 스타트 60ms 이내, 인스턴스당 메모리 오버헤드 5MB 미만이라는 수치를 제시합니다(README Benchmarks 각주 기준, 단일 동시성 60ms, 50개 동시 생성 시 평균 67ms, P95 90ms, P99 137ms). 덕분에 한 노드에서 수천 개의 샌드박스를 돌리는 고밀도 배포가 가능합니다.

Tencent Cloud가 개발해 2026년 4월 v0.1.0으로 공개했으며, 단일 노드 배포부터 다중 노드 클러스터 확장까지 지원합니다. E2B SDK와 API가 호환되어 기존 E2B 기반 코드는 URL 환경 변수 하나만 바꾸면 그대로 동작한다고 안내하고 있으며, CNCF Landscape에도 등재되어 있습니다. 2026년 7월 공개된 v0.5.0에서는 유휴 샌드박스를 자동으로 중지·재개하는 AutoPause, Terraform 기반 원클릭 클러스터 배포, ARM64 네이티브 지원이 추가되었습니다.

CubeSandbox와 기존 실행 환경 비교

AI 에이전트 코드 실행이라는 맥락에서 CubeSandbox가 README에 정리한 비교표는 다음과 같습니다.

항목 Docker 컨테이너 전통적인 VM CubeSandbox
격리 수준 낮음 (커널 공유 네임스페이스) 높음 (전용 커널) 전용 커널 + eBPF
부팅 속도 200ms 수 초 60ms 미만
메모리 오버헤드 낮음 (커널 공유) 높음 (전체 OS) 5MB 미만
배포 밀도 높음 낮음 노드당 수천 개
E2B SDK 호환 미지원 미지원 지원

메모리 오버헤드 수치는 32GB 이하 사양의 샌드박스 기준으로 측정한 값이며, 더 큰 구성에서는 소폭 증가할 수 있다고 밝히고 있습니다. 아래는 README에 포함된 시작 속도와 메모리 오버헤드 측정 그래프입니다.

CubeSandbox의 아키텍처

CubeSandbox는 클러스터 오케스트레이션부터 가상화 계층까지를 여러 컴포넌트로 나눈 구조입니다. 전체 구성은 아래 다이어그램에서 확인할 수 있습니다.

  • CubeAPI: E2B와 호환되는 고동시성 REST API 게이트웨이(Rust)입니다. URL만 바꾸면 E2B에서 그대로 이전할 수 있습니다.
  • CubeMaster: 클러스터 오케스트레이터로, API 요청을 받아 각 Cubelet에 분배하고 자원 스케줄링과 클러스터 상태를 관리합니다.
  • CubeProxy: E2B 프로토콜과 호환되는 리버스 프록시로, 요청을 해당 샌드박스 인스턴스로 라우팅합니다.
  • Cubelet: 컴퓨트 노드의 로컬 스케줄링 컴포넌트로, 노드 위 모든 샌드박스 인스턴스의 생명주기를 관리합니다.
  • CubeVS: eBPF 기반 가상 스위치로, 커널 수준의 네트워크 격리와 보안 정책을 집행합니다.
  • CubeEgress: OpenResty 기반의 아웃바운드 보안 게이트웨이입니다. L7 도메인 필터링, 자격 증명 주입, 접근 감사를 담당하며, CubeVS의 커널 정책과 결합해 샌드박스 트래픽이 검사를 우회할 수 없도록 합니다.
  • CubeHypervisor와 CubeShim: 가상화 계층으로, CubeHypervisor가 KVM MicroVM을 관리하고 CubeShim이 containerd Shim v2 API를 구현해 샌드박스를 컨테이너 런타임에 통합합니다.

자세한 설계는 저장소의 아키텍처 문서CubeVS 네트워크 모델 문서에 정리되어 있습니다.

CubeSandbox의 보안 및 상태 관리 기능

보안 측면에서 눈에 띄는 기능은 자격 증명 볼트(Credential Vault)입니다. 에이전트는 평소처럼 LLM이나 외부 API를 호출하지만, API 키는 샌드박스 내부·모델 컨텍스트·로그 어디에도 노출되지 않고 CubeEgress 게이트웨이가 나가는 요청에 자동으로 주입합니다. 여기에 도메인 허용 목록 기반의 아웃바운드 제어와 전체 감사 로그가 더해져, 승인되지 않은 외부 접근을 즉시 차단하면서 규정 준수용 기록을 남길 수 있습니다. v0.5.0에서는 샌드박스별 트래픽 토큰과 정책 라우팅 기반 이그레스 강화도 추가되었습니다.

상태 관리 쪽에서는 v0.3.0에서 도입된 CubeCoW Copy-on-Write 스냅샷 엔진이 핵심입니다. 실행 중인 샌드박스에 수백 밀리초 단위로 체크포인트를 만들고, 저장된 어느 상태로든 되돌리거나 특정 상태에서 분기(fork)해 병렬로 탐색할 수 있습니다. 에이전트 강화학습처럼 같은 상태에서 여러 갈래를 실험해야 하는 워크로드에 맞는 구조로, README의 데모 영상 중에도 SWE-Bench 기반 강화학습 사례가 포함되어 있습니다.

이 밖에 OCI 이미지를 한 단계로 샌드박스 템플릿으로 변환하고 Template Store에서 공식 프리셋을 설치하는 템플릿 시스템, 유휴 샌드박스를 자동 중지했다가 다음 요청에서 깨우는 AutoPause/AutoResume, OpenClaw 어시스턴트를 원클릭으로 띄우는 AgentHub(프리뷰)도 제공합니다.

CubeSandbox 설치 및 시작하기

기본 요구 사항은 KVM을 지원하는 x86_64 Linux 환경이며, v0.5.0부터 컴파일·빌드·배포 전 과정의 ARM64 네이티브 지원이 추가되었습니다. 소스 빌드 없이 서버 준비, 설치, 템플릿 생성, 첫 에이전트 코드 실행까지 4단계로 진행하는 문서를 제공하며, 배포 경로는 PVM 클라우드 VM 배포(권장), 베어메탈 배포, 그리고 KVM 접근이 없을 때 QEMU VM 안에서 시험해보는 개발 환경(성능상 비권장) 세 가지 중에서 고를 수 있습니다.

설치 직후에는 브라우저에서 웹 콘솔을 여는 것을 권장하고 있습니다.

http://<control-node IP>:12088

웹 콘솔에서는 노드 상태와 용량을 확인하는 Overview, 공식 프리셋을 설치하는 Template Store, 샌드박스를 생성하고 실시간 로그를 보는 Sandboxes 화면을 제공합니다. 코드 실행, 브라우저 자동화, 강화학습 등 실습 예제는 저장소의 예제 프로젝트 문서에 모여 있습니다.

CubeSandbox의 라이선스

CubeSandbox는 Apache License 2.0으로 공개되어 있어 개인 및 상업적 목적으로 자유롭게 사용할 수 있습니다. 다만 LICENSE 파일에 함께 명시된 서드파티 컴포넌트들은 각자의 라이선스를 따릅니다.

:house: CubeSandbox 공식 홈페이지

:github: CubeSandbox 프로젝트 GitHub 저장소

더 읽어보기




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! 텔레그램(Telegram)이나 Slack/Discord/Teams/Dooray/GoogleChat 등으로도 새 글 알림을 받으실 수 있습니다. :smiley:

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: