신뢰할 수 없는 코드를 안전하게 실행하는 문제는 AI 에이전트가 코드 실행 도구를 갖게 되면서 실질적인 과제가 됐다. Vercel은 Firecracker 기반 마이크로VM을 활용한 에페메랄 샌드박스 서비스를 GA로 출시했다. 각 샌드박스는 독립적인 Linux 환경으로 완전히 격리되며 서브초 단위로 기동해 활성 CPU 시간에만 과금된다.
핵심 포인트- Firecracker 마이크로VM 기반이라 호스트와 파일시스템·네트워크·프로세스 공간이 완전히 격리된다.
- 환경 변수, DB 연결, 클라우드 리소스 접근이 차단된 에페메랄 환경 — 샌드박스 종료 시 모든 상태가 사라진다.
- `sudo`, 패키지 매니저, 임의 명령어 실행이 가능해 표준 Linux 환경과 동일한 작업을 할 수 있다.
- Node.js SDK로 `Sandbox.create() → runCommand() → stop()` 세 단계로 코드를 실행할 수 있다.
- 서브초 기동 + 활성 CPU만 과금 — 유휴 시간 비용 없음.
상세 정리- 배경: AI 에이전트가 사용자 입력 코드를 실행하거나 저장소의 코드를 분석·실행해야 하는데, 호스트 환경에서 직접 실행하면 보안 위험이 크다.
- Hive 플랫폼: Vercel 내부의 컴퓨트 플랫폼 'Hive'가 Firecracker 마이크로VM을 관리 — AWS Lambda 등과 동일한 오픈소스 VMM 기반이다.
- 격리 범위: 각 샌드박스는 독립적인 파일시스템, 네트워크 스택, 프로세스 네임스페이스를 가져 다른 샌드박스·호스트에 접근 불가하다.
- 보안 경계: 환경변수(secrets), DB 연결, 클라우드 서비스 IAM 등이 샌드박스 안에 노출되지 않아 악성 코드 실행 시에도 외부 유출을 막는다.
- SDK 사용법: `@vercel/sandbox` 패키지에서 `Sandbox.create()`로 인스턴스 생성 → `runCommand({ cmd, args, stdout })`으로 프로세스 실행 → `sandbox.stop()`으로 환경 정리.
- Linux 권한: `sudo` 접근 및 `apt`, `pip`, `npm` 등 패키지 매니저 사용 가능 — 의존성 설치 후 코드를 실행하는 패턴도 지원한다.
- 기동 속도: 서브초(sub-second) 콜드 스타트로 요청당 샌드박스를 생성·폐기하는 패턴이 현실적이다.
- 과금 모델: 활성 CPU 사용 시간만 측정 — 유휴 상태 비용 없어 에이전트 도구 실행처럼 짧고 산발적인 워크로드에 적합하다.
- 주요 사용처: AI 코드 인터프리터, CI 임시 테스트 환경, 플러그인 실행, 사용자 커스텀 스크립트 실행 등.
왜 읽나AI 에이전트나 코드 실행 서비스에서 신뢰할 수 없는 코드를 안전하게 격리 실행해야 하는 백엔드·인프라 엔지니어에게 실용적인 Firecracker 기반 샌드박스 도입 레퍼런스.