
당신의 에이전트는 보안 위험이므로 그렇게 취급하세요. yoloAI는 AI 에이전트 샌드박싱을 제대로 구현합니다.
AI 코딩 에이전트를 위한 샌드박스 러너. 권한 피로 없음, 박스 안에 자격 증명 없음, 승인하기 전까지 프로젝트에 변경 사항 없음.
AI 코딩 에이전트는 가드레일이 없을 때 가장 잘 작동하지만, 실제 머신에서 그렇게 실행하는 것은 매우 위험합니다. yoloAI는 에이전트에게 아무것이나 편집하고 실행할 수 있는 일회용 샌드박스를 제공하여 무인으로 작업할 수 있게 합니다. 프로젝트, 자격 증명, 네트워크는 모두 사용자의 통제 하에 유지됩니다. 에이전트가 작업을 마치면 diff를 검토하고 유지하고 싶은 부분만 적용하세요.
You Sandbox Your project
│ │ │
├─ yoloai new fix-bug . ├─ sandbox copy of project │
│ │ │
├─ << your prompt(s) >> ├─ agent works freely │
│ │ (no permission prompts) │
│ │ │
├─ yoloai diff fix-bug ├─ shows what changed │
│ │ │
├─ yoloai apply fix-bug │ ├─ patches applied
│ (you choose which ones) │ │
│ │ │
├─ yoloai destroy fix-bug ├─ destroys sandbox │
권한 프롬프트는 에이전트가 실수를 하기 때문에 존재합니다. 백 번째 승인/거부를 지나면 더 이상 읽지 않게 되고, --dangerously-skip-permissions는 혼란스러운 에이전트 하나가 아주 나쁜 날을 만들 수 있습니다. yoloAI는 프롬프트가 불필요해질 때까지 폭발 반경을 줄입니다:
diff는 정확히 무엇이 변경되었는지 보여주고, apply는 개별 커밋을 보존하면서 실제 프로젝트에 패치를 적용합니다. 적용하기 전까지 원본은 절대 변경되지 않습니다.--network-isolated는 에이전트의 API 엔드포인트와 허용한 도메인으로만 외부 통신을 제한합니다. --network-none은 네트워크를 완전히 제거합니다.전체 모델과 솔직한 한계를 포함한 자세한 내용은 보안을 참조하세요.
최신 릴리스에서 플랫폼에 맞는 아카이브를 다운로드하고, yoloai 바이너리를 추출한 후 PATH에 추가하세요:
# Linux x86-64 (필요에 따라 linux_arm64 / darwin_amd64 / darwin_arm64로 교체).
# 위에 링크된 최신 릴리스 페이지에 표시된 태그를 VERSION에 설정하세요.
# 앞의 "v"는 제외 — 예: 태그 v1.2.3의 경우 VERSION=1.2.3.
VERSION=X.Y.Z
curl -fsSL "https://github.com/kstenerud/yoloai/releases/download/v${VERSION}/yoloai_${VERSION}_linux_amd64.tar.gz" \
| tar -xz yoloai
sudo install yoloai /usr/local/bin/
각 아카이브에는 셸 완성, LICENSE, 변경 로그도 포함되어 있습니다. 릴리스는 cosign(checksums.txt)으로 서명되며 GitHub 빌드 출처 증명(gh attestation verify yoloai_… --repo kstenerud/yoloai)을 포함합니다. Debian/RPM 패키지도 각 릴리스에 첨부됩니다.
brew install --cask kstenerud/tap/yoloai
go install 사용# 최신 릴리스
go install github.com/kstenerud/yoloai/cmd/yoloai@latest
# 최신 개발 버전 (불안정)
go install github.com/kstenerud/yoloai/cmd/yoloai@main
Go 1.26+ 필요. 바이너리는 $GOPATH/bin(일반적으로 ~/go/bin)에 배치됩니다.
git clone https://github.com/kstenerud/yoloai.git
cd yoloai
git checkout "$(git describe --tags --abbrev=0)" # 최신 릴리스 태그; 또는 개발 버전을 위해 main에 유지
make build
sudo install yoloai /usr/local/bin/
선택한 백엔드 외에 런타임 종속성이 없는 단일 Go 바이너리입니다. 첫 실행 시 yoloAI는 기본 이미지를 빌드하고 ~/.yoloai/(또는 --data-dir로 지정한 디렉터리)를 생성합니다.
# 인증 (yoloAI는 기존 자격 증명을 자동으로 감지)
export ANTHROPIC_API_KEY=sk-ant-... # Claude Code
export GEMINI_API_KEY=... # Gemini CLI
# 또는 이미 인증된 세션을 자동으로 감지하도록 두기
# 1. 샌드박스 생성. 프롬프트를 제공하면 에이전트가 즉시 작업 시작
yoloai new fix-bug ./my-project --prompt "fix the failing tests"
# 2. 에이전트가 변경한 내용 확인
yoloai diff fix-bug
# 3. 실제 프로젝트에 좋은 부분 적용
yoloai apply fix-bug
# 4. 샌드박스 폐기
yoloai destroy fix-bug
yoloai new exploration ./my-project -a
# 샌드박스의 tmux에서 실행 중인 에이전트 안에 있습니다.
# Ctrl-B, D로 분리.
# yoloai attach exploration으로 다시 연결.
더 긴 세션의 경우 루프로 작업하세요: 에이전트에게 진행하면서 커밋하도록 지시하고, 완성된 커밋을 실제 프로젝트로 가져오고 싶을 때마다 다른 터미널에서 yoloai apply를 실행하세요. 각 apply는 마지막 이후의 새 커밋만 가져옵니다. 결과에 만족하면 평소처럼 푸시하고 샌드박스를 폐기하세요. 전체 워크플로는 사용 가이드를 참조하세요.
샌드박스 생성, 에이전트 프롬프트, 결과 적용:
https://github.com/user-attachments/assets/9d6740b4-a34e-4253-82ec-cb0e4c7a8bd9
샌드박싱
--env, --dir).--cpus, --memory) 및 포트 포워딩(--port).clonefile), 이를 지원하는 Linux 파일시스템(btrfs, XFS)의 파일별 reflink. reflink가 없는 파일시스템(ext4)은 일반 복사..gitignore 존중: 무시된 항목은 샌드박스로 복사되지 않음(디스크의 개발 자격 증명에 대한 보안 관행).자격 증명
워크플로
.patch 파일 내보내기, ref로 커밋 선택, 또는 먼저 --dry-run.yoloai run --prompt ... --rm, 모든 명령에 --json 출력.통합
shell 모드.--vscode-tunnel).yoloai mcp serve는 외부 에이전트가 샌드박스를 도구로 구동하게 하고, yoloai mcp proxy는 샌드박스 내부에서 MCP 서버를 실행.yoloai x).~/.yoloai/에 저장(--data-dir로 이동 가능).참고: Tart는 전체 macOS VM을 제공하므로 샌드박스 내에서 시뮬레이터를 실행할 수 있습니다.
선택적으로 OCI 런타임을 업그레이드하여 더 강력한 격리를 제공합니다. gVisor 모드는 docker와 podman에서 사용 가능하며, VM 모드는 containerd 백엔드와 함께 제공됩니다.
# 모든 새 샌드박스에 gVisor 사용
yoloai config set isolation container-enhanced
# 또는 샌드박스별로
yoloai new task . --isolation container-enhanced
사용 가능한 에이전트를 나열하려면 yoloai system agents를 사용하세요.
공개 베타. 핵심 워크플로는 안정적이며 매일 사용됩니다. 인터페이스는 0.x 릴리스 사이에 변경될 수 있으며, 모든 호환성 변경 사항은 BREAKING-CHANGES에 문서화됩니다. 피드백을 환영합니다.
| Backend | Supported Hosts | Dependencies |
|---|
| docker | Linux, macOS, Windows (WSL2) | Docker Engine, Docker Desktop, 또는 OrbStack |
| podman | Linux, macOS | Podman (macOS에서는 brew install podman) |
| containerd | Linux | Kata Containers |
| apple | macOS (Apple Silicon) | Apple Container |
| tart | macOS (Apple Silicon) | Tart (brew install cirruslabs/cli/tart) |
| seatbelt | macOS (모든 모델) | 없음 (내장 sandbox-exec 사용) |
| Mode | Description |
|---|
container | 기본 runc: 표준 Linux 네임스페이스 및 cgroups |
container-enhanced | 사용자 공간 커널(gVisor/runsc): syscall 인터셉트, KVM 불필요 |
container-privileged | 모든 capabilities, seccomp/AppArmor 비제한. Docker-in-Docker 및 Compose용 |
vm | Kata Containers(QEMU): 하드웨어 VM 격리 |
vm-enhanced | Kata + Firecracker microVM: 경량 VM 격리 |
| Mode | Description |
|---|
claude | API 키 또는 구독 자격 증명으로 Claude Code 실행 (기본) |
codex | API 키 또는 구독 자격 증명으로 Codex 실행 |
gemini | API 키 또는 구독 자격 증명으로 Gemini CLI 실행 |
aider | Aider 실행 (구성이 복사됨) |
opencode | OpenCode 실행 (구성이 복사됨) |
shell | 모든 에이전트 자격 증명이 시드된 tmux 셸 실행 |
idle | MCP 프록시를 허용하는 유휴 프로세스 실행 |