
zeroboot-vm-sandbox
Sub-millisecond VM sandboxes for AI agents using copy-on-write KVM forking via Zeroboot
- Installs
- 1.3K
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/reason-machines/trending-skills --skill zeroboot-vm-sandbox- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads zeroboot-vm-sandbox automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Zeroboot VM Sandbox
Skill by ara.so — Daily 2026 Skills collection.
Zeroboot provides sub-millisecond KVM virtual machine sandboxes for AI agents using copy-on-write forking. Each sandbox is a real hardware-isolated VM (via Firecracker + KVM), not a container. A template VM is snapshotted once, then forked in ~0.8ms per execution using mmap(MAP_PRIVATE) CoW semantics.
How It Works
Firecracker snapshot ──► mmap(MAP_PRIVATE) ──► KVM VM + restored CPU state
(copy-on-write) (~0.8ms)
- Template: Firecracker boots once, pre-loads your runtime, snapshots memory + CPU state
- Fork (~0.8ms): New KVM VM maps snapshot memory as CoW, restores CPU state
- Isolation: Each fork is a separate KVM VM with hardware-enforced memory isolation
Installation
Python SDK
pip install zeroboot
Node/TypeScript SDK
npm install @zeroboot/sdk
# or
pnpm add @zeroboot/sdk
Authentication
Set your API key as an environment variable:
export ZEROBOOT_API_KEY="zb_live_your_key_here"
Never hardcode keys in source files.
Quick Start
REST API (cURL)
curl -X POST https://api.zeroboot.dev/v1/exec \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $ZEROBOOT_API_KEY" \
-d '{"code":"import numpy as np; print(np.random.rand(3))"}'
Python
import os
from zeroboot import Sandbox
# Initialize with API key from environment
sb = Sandbox(os.environ["ZEROBOOT_API_KEY"])
# Run Python code
result = sb.run("print(1 + 1)")
print(result) # "2"
# Run multi-line code
result = sb.run("""
import numpy as np
arr = np.arange(10)
print(arr.mean())
""")
print(result)
TypeScript / Node.js
import { Sandbox } from "@zeroboot/sdk";
const apiKey = process.env.ZEROBOOT_API_KEY!;
const sb = new Sandbox(apiKey);
// Run JavaScript/Node code
const result = await sb.run("console.log(1 + 1)");
console.log(result); // "2"
// Run async code
const output = await sb.run(`
const data = [1, 2, 3, 4, 5];
const sum = data.reduce((a, b) => a + b, 0);
console.log(sum / data.length);
`);
console.log(output);
Common Patterns
AI Agent Code Execution Loop (Python)
import os
from zeroboot import Sandbox
def execute_agent_code(code: str) -> dict:
"""Execute LLM-generated code in an isolated VM sandbox."""
sb = Sandbox(os.environ["ZEROBOOT_API_KEY"])
try:
result = sb.run(code)
return {"success": True, "output": result}
except Exception as e:
return {"success": False, "error": str(e)}
# Example: running agent-generated code safely
agent_code = """
import json
data = {"agent": "result", "value": 42}
print(json.dumps(data))
"""
response = execute_agent_code(agent_code)
print(response)
Concurrent Sandbox Execution (Python)
import os
import asyncio
from zeroboot import Sandbox
async def run_sandbox(code: str, index: int) -> str:
sb = Sandbox(os.environ["ZEROBOOT_API_KEY"])
result = await asyncio.to_thread(sb.run, code)
return f"[{index}] {result}"
async def run_concurrent(snippets: list[str]):
tasks = [run_sandbox(code, i) for i, code in enumerate(snippets)]
results = await asyncio.gather(*tasks)
return results
# Run 10 sandboxes concurrently
codes = [f"print({i} ** 2)" for i in range(10)]
outputs = asyncio.run(run_concurrent(codes))
for out in outputs:
print(out)
TypeScript: Agent Tool Integration
import { Sandbox } from "@zeroboot/sdk";
interface ExecutionResult {
success: boolean;
output?: string;
error?: string;
}
async function runInSandbox(code: string): Promise<ExecutionResult> {
const sb = new Sandbox(process.env.ZEROBOOT_API_KEY!);
try {
const output = await sb.run(code);
return { success: true, output };
} catch (err) {
return { success: false, error: String(err) };
}
}
// Integrate as a tool for an LLM agent
const tool = {
name: "execute_code",
description: "Run code in an isolated VM sandbox",
execute: async ({ code }: { code: string }) => runInSandbox(code),
};
REST API with fetch (TypeScript)
const API_BASE = "https://api.zeroboot.dev/v1";
async function execCode(code: string): Promise<string> {
const res = await fetch(`${API_BASE}/exec`, {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.ZEROBOOT_API_KEY}`,
},
body: JSON.stringify({ code }),
});
if (!res.ok) {
const err = await res.text();
throw new Error(`Zeroboot error ${res.status}: ${err}`);
}
const data = await res.json();
return data.output;
}
Health Check
curl https://api.zeroboot.dev/v1/health
API Reference
POST /v1/exec
Execute code in a fresh sandbox fork.
Request:
{
"code": "print('hello')"
}
Headers:
Authorization: Bearer <ZEROBOOT_API_KEY>
Content-Type: application/json
Response:
{
"output": "hello\n",
"duration_ms": 0.79
}
Performance Characteristics
| Metric | Value |
|---|---|
| Spawn latency p50 | ~0.79ms |
| Spawn latency p99 | ~1.74ms |
| Memory per sandbox | ~265KB |
| Fork + exec Python | ~8ms |
| 1000 concurrent forks | ~815ms |
- Each sandbox is a real KVM VM — not a container or process jail
- Memory isolation is hardware-enforced (not software)
- CoW means only pages written by your code consume extra RAM
Self-Hosting / Deployment
See docs/DEPLOYMENT.md in the repo. Requirements:
- Linux host with KVM support (
/dev/kvmaccessible) - Firecracker binary
- Rust 2021 edition toolchain
# Check KVM availability
ls /dev/kvm
# Clone and build
git clone https://github.com/adammiribyan/zeroboot
cd zeroboot
cargo build --release
Architecture Notes
- Snapshot layer: Firecracker VM boots once per runtime template, memory + vCPU state saved to disk
- Fork layer (Rust):
mmap(MAP_PRIVATE)on snapshot file → kernel handles CoW page faults per VM - Isolation: Each fork has its own KVM VM file descriptors, vCPU, and page table — fully hardware-separated
- No shared kernel: Unlike containers, each sandbox runs its own kernel instance
Troubleshooting
/dev/kvm not found (self-hosted)
# Enable KVM kernel module
sudo modprobe kvm
sudo modprobe kvm_intel # or kvm_amd
API returns 401 Unauthorized
- Verify
ZEROBOOT_API_KEYis set and starts withzb_live_ - Check the key is not expired in your dashboard
Timeout on execution
- Default execution timeout is enforced server-side
- Break large computations into smaller chunks
- Avoid infinite loops or blocking I/O in sandbox code
High memory usage (self-hosted)
- Each VM fork starts at ~265KB CoW overhead
- Pages are allocated on write — memory grows with sandbox activity
- Tune concurrent fork limits based on available RAM
Resources
FAQ
What does the zeroboot-vm-sandbox skill do?
Sub-millisecond VM sandboxes for AI agents using copy-on-write KVM forking via Zeroboot
How do I install zeroboot-vm-sandbox?
Run npx skills add https://github.com/reason-machines/trending-skills --skill zeroboot-vm-sandbox in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/zeroboot-vm-sandbox/ (personal) or .claude/skills/zeroboot-vm-sandbox/ (project).
Which AI agents can use zeroboot-vm-sandbox?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is zeroboot-vm-sandbox safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains zeroboot-vm-sandbox?
It is published by reason-machines in reason-machines/trending-skills. It has 1,286 recorded installs.
More from reason-machines/trending-skills
openclaw-control-center
reason-machines/trending-skills
Local-first, security-first control center for OpenClaw agents — visibility dashboard with readonly defaults, token attribution, collaboration tracing, and safe write operations.
inkos-multi-agent-novel-writing
reason-machines/trending-skills
Multi-agent CLI system for autonomous novel writing, auditing, and revision with human review gates
claude-hud-statusline
reason-machines/trending-skills
A Claude Code plugin that displays a real-time HUD showing context usage, active tools, running agents, and todo progress in your terminal statusline.
understand-anything-knowledge-graph
reason-machines/trending-skills
Turn any codebase into an interactive knowledge graph using Claude Code skills — explore, search, and ask questions about any project visually.
agency-agents-ai-specialists
reason-machines/trending-skills
A collection of specialized AI agent personalities for Claude Code, Cursor, Aider, Windsurf, and other AI coding tools — covering engineering, design, marketing, sales, and more.
agent-browser-automation
reason-machines/trending-skills
Headless browser automation CLI for AI agents using native Rust binary with Chrome DevTools Protocol
Popular ai & agents skills
google-agents-cli-publish
google/agents-cli
This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).
google-agents-cli-eval
google/agents-cli
This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).
skill-creator
anthropics/skills
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
codex-pet
prime-skills/runcomfy-agent-skills
Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.
full-output-enforcement
leonxlnx/taste-skill
Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
executing-plans
obra/superpowers
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available