Run untrusted code (Box)
Use this right before executing code you generated or fetched when running it locally would be risky: shell scripts, scraped snippets, dependency installs, anything with side effects. Pattern: create → run → delete, so nothing touches the host.
Why Box
- Isolation — a separate VM; the host filesystem and network are never exposed.
- Disposable & cheap —
box deletewhen done; per-second billing, a run costs cents. - Real machine — generated code that needs
pip install, subprocesses, or Docker actually works.
Prefer another tool for: thousands of tiny <500 ms runs (E2B/Modal microVMs).
Prereqs
curl -fsSL https://box.ascii.dev/install | sh, then box login "$BOX_API_KEY" --json.
Recipe
box_id="$(box new --json | jq -r 'select(.event == "ready") | .id')"
trap 'box delete "$box_id" --json' EXIT # never leak a VM
box ssh "$box_id" -- "mkdir -p /run && cat > /run/main.sh" < ./main.sh
box ssh "$box_id" -- "cd /run && timeout 120 bash main.sh"
Always wrap in timeout and delete in a trap/finally.
Limits
EU-only; disk-level snapshots; 100 active VMs soft cap.