# shuru - macOS용 로컬 우선 Linux MicroVM 샌드박스 오픈소스

> Clean Markdown view of GeekNews topic #26934. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=26934](https://news.hada.io/topic?id=26934)
- GeekNews Markdown: [https://news.hada.io/topic/26934.md](https://news.hada.io/topic/26934.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-02-24T07:36:35+09:00
- Updated: 2026-02-24T07:36:35+09:00
- Original source: [shuru.run](https://shuru.run)
- Points: 10
- Comments: 1

## Topic Body

- **AI 에이전트 실행을 위한 경량 Linux 가상머신 환경**으로, macOS의 Virtualization.framework를 기반으로 동작. 도커 필요없음  
- 모든 실행이 **기본적으로 일회성(Ephemeral)** 으로 시작되어, 설치나 변경이 종료 시 자동 초기화됨  
- **Checkpoint 기능**을 통해 디스크 상태를 스냅샷으로 저장하고, 복원·분기·재사용 가능  
- **네트워크, CPU, 메모리, 디스크 크기**를 명령줄 옵션이나 설정 파일로 세밀하게 제어 가능  
- AI 코드 실행, 패키지 설치, 평가 및 테스트용으로 **안전하고 재현 가능한 로컬 샌드박스 환경**을 제공  
  
---  
### 로컬 우선 샌드박스 shuru 개요  
- macOS에서 **AI 에이전트용 경량 Linux VM**을 실행하는 구조  
  - Apple Virtualization.framework를 사용해 **에뮬레이션 없이 ARM64 네이티브 속도** 제공  
  - Docker 의존성이 없으며, 기본적으로 **임시적(Ephemeral)** 실행 형태  
- 각 실행은 **깨끗한 rootfs**에서 시작하며, 변경 사항은 저장하지 않는 한 유지되지 않음  
  
### 상태 관리와 스냅샷  
- **Checkpoint 기능**으로 디스크 상태를 이름 있는 스냅샷으로 저장 가능  
  - 저장된 스냅샷은 복원, 분기, 반복 실행 가능  
  - Git 커밋처럼 환경 버전 관리가 가능함  
- 예시 명령:  
  - `$ shuru checkpoint create myenv --allow-net -- sh -c 'apk add nodejs npm'` → ‘myenv’ 스냅샷 저장  
  - `$ shuru run --from myenv -- node -e 'console.log("ready")'` → 저장된 환경에서 즉시 실행  
  
### CLI 기능  
- 단일 명령으로 VM을 부팅하고 종료하는 **간단한 CLI 인터페이스** 제공  
  - `$ shuru run -- echo "hello from the sandbox"` → 샌드박스 내 명령 실행  
  - `$ shuru run -- cat /etc/os-release | head -1` → Alpine Linux 환경 확인  
- **네트워크 접근은 기본 비활성화**, `--allow-net` 플래그로 NAT 활성화 가능  
- **리소스 설정**: `--cpus`, `--memory`, `--disk-size` 옵션으로 실행 환경 조정  
- **포트 포워딩** 지원: `-p 8080:8000` 형식으로 호스트와 게스트 간 연결 가능  
  
### AI 에이전트 실행 및 활용  
- **AI 생성 코드 실행**을 위한 격리된 VM 환경 제공  
  - 실시간 출력 확인 가능  
- **패키지 설치, 코드 컴파일, 시스템 도구 사용**을 안전하게 수행  
- **병렬 샌드박스 실행**으로 환경 간 일관된 평가 수행 가능  
- **테스트, 디버깅, 프로토타이핑**을 위한 일회용 Linux 환경으로 활용 가능  
  
### 설치 및 시작  
- 설치와 실행 모두 단일 명령으로 수행 가능  
  - 설치: `$ curl -fsSL https://shuru.run/install.sh | sh`  
  - 첫 실행: `$ shuru run`  
- **빠른 초기화와 폐기 가능한 환경**으로, 개발자와 AI 시스템 모두에 안전한 실행 공간 제공  
  
* [Rust 오픈소스](https://github.com/superhq-ai/shuru)

## Comments



### Comment 51741

- Author: neo
- Created: 2026-02-24T07:36:35+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=47113567) 
- 여기서 중요한 건 ‘로컬 VM’ 자체가 아니라 **기본값의 방향이 반대**라는 점임  
  대부분의 시스템은 지속적이고 네트워크 연결된 상태가 기본인데, 이건 반대로 **일시적이고 격리된 환경**이 기본임  
  신뢰할 수 없는 코드를 실행할 때 이런 차이가 꽤 중요함  

- macOS용으로 [microterm.dev](https://microterm.dev)의 **로컬 퍼스트 버전**을 만들어볼 생각임  
  모든 타깃에서 동일한 환경을 유지하면서 속도와 RAM 용량만 달라지게 하는 게 목표임  
  - 이게 VM이나 컨테이너를 어떻게 실행하는지 궁금함 — 클라우드 기반인지, 아니면 container2wasm 같은 방식인지  
    지금 폰에서 alpine 터미널을 쓰고 있는데, 이게 브라우저에서 돌아가는 건지 진짜 궁금할 정도임  
  - iOS Safari에서는 리디렉션 루프에 걸림 (로딩 표시가 90%쯤에서 멈췄다가 새로고침 반복 후 오류 발생함)  
  - 멋짐, 꼭 보고 싶음  

- ‘local first’가 여기서는 무슨 뜻인지 궁금함. 그냥 로컬에서 실행된다는 의미인가?  
  - 맞음, 모든 게 **내 머신에서 실행**된다는 뜻임  
    E2B, sprites.dev 같은 서비스는 클라우드 샌드박스를 제공하지만, shuru는 Apple의 **Virtualization.framework**를 이용해 VM을 로컬에서 돌림  
    즉, 데이터가 Mac 밖으로 나가지 않음  
  - macOS만 지원하므로 현실적으로는 **로컬 전용**임  
  - 요즘은 이런 표현이 그냥 또 하나의 **마케팅 유행어**처럼 쓰이는 게 아쉬움  

- 에이전트 스택이 점점 **전문화된 계층 구조**로 나뉘고 있고, 샌드박싱이 독립적인 영역으로 발전 중임  
  Shuru, E2B, Modal, Firecracker 래퍼 같은 사례들이 있음  
  예전에 쓴 글 [“Don’t go monolithic — the agent stack is stratifying”](https://philippdubach.com/posts/dont-go-monolithic-the-agent-stack-is-stratifying/)에서도 이런 구조적 변화와 **모놀리식 접근의 한계**를 다뤘음  
  - 글이 좋았음. 나도 부분적으로 AI를 활용한 소프트웨어 개발을 하면서 비슷한 경험을 했음  
    개발자와 AI가 함께 내린 **설계 결정의 맥락**을 저장하지 않으면 중요한 정보가 사라짐  
    다만 이 글이 micro VM 주제와 직접적으로 연결되는지는 잘 모르겠음  

- Apple의 [container 프로젝트](https://github.com/apple/container)와 비교하면 어떤 차이가 있는지 궁금함  
  이 분야의 **혁신 흐름**이 흥미로움  
  - Apple container는 Docker 스타일의 워크플로우로, **OCI 이미지와 레지스트리** 중심임  
    반면 shuru는 체크포인트 기능이 있는 **마이크로 VM**에 집중해 훨씬 단순한 범위를 가짐  

- Windows용으로 이런 걸 구현한 사례가 있는지 궁금함  
  WSL은 일반 사용자 대상 앱을 배포할 때 설정이 필요해서 **소비자용으로는 적합하지 않음**  

- 이 프로젝트 정말 멋짐. 몇 달째 **Virtualization.framework 기반 micro VM**을 기다리고 있었음  
  Docker도 괜찮지만 **오버헤드**가 크다는 게 문제였음  
  기본값이 일시적이고 네트워크가 꺼져 있는 점이 마음에 듦  
  호스트 디렉터리 매핑 기능을 추가할 계획이 있는지도 궁금함  
  나는 여러 백엔드(Docker, E2B, Modal, WASM 등)를 지원하는 **ephemeral sandbox용 MCP 서버**를 운영 중이라, 여기에 이걸 통합해볼 생각임  
  [Kilntainers 프로젝트 링크](https://github.com/Kiln-AI/Kilntainers)  

- Lima와 비교했을 때 어떤 장점이 있는지 궁금함  
  - Lima도 설정만 잘 하면 shuru와 비슷한 걸 할 수 있음  
    차이는 기본값과 초기 설정의 간소화 정도임  
    shuru는 **일시적 VM**, **네트워크 비활성화**, **매 실행마다 깨끗한 rootfs**를 기본으로 제공함  
    설정 파일 없이 `shuru run`만 입력하면 바로 실행됨  
    체크포인트와 브랜칭도 CLI에 내장되어 있음  
    Lima는 훨씬 크고 성숙한 프로젝트지만, shuru는 **단순하고 학습용으로 적합한 도구**로 개발 중임  

- 새 프로젝트를 위해 이런 걸 찾고 있었음  
  내가 만드는 건 **retool + OpenClaw의 결합형 툴**로, 중소기업이 내부 앱을 빠르게 구축할 수 있게 돕는 솔루션임  

- Shuru 정말 멋짐  
  나도 비슷한 컨셉으로 **Linux용 MicroVM 기반 툴**을 개발 중임  
  기본은 오프라인이고, 아직 공개할 단계는 아니지만 내부적으로 **dogfooding** 중임
