a3s-box

a3s-box is a skill for Claude Code, Codex from AI45Lab/Box. It costs 134 tokens per session (2,104 once invoked), scanned A, original, MIT.

A command-line sandbox that runs container images inside isolated lightweight virtual machines. Containers are packaged environments used to run software separately from the main computer.

In plain words
What is it for?
Use it to run, build, inspect, pause, resume, copy files to, snapshot, or remove isolated environments.
Why use it?
It provides a safer place to run untrusted or temporary code and avoids mixing that work with the host system.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/ai45lab/box/a3s-box
Any agent
npx skills add AI45Lab/Box --skill a3s-box
Clone the repo
git clone --depth 1 https://github.com/AI45Lab/Box

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for a3s-box

README.md
[![agentmods](https://agentmods.dev/badge/skills/ai45lab/box/a3s-box.svg)](https://agentmods.dev/skills/ai45lab/box/a3s-box)
Your own site
<a href="https://agentmods.dev/skills/ai45lab/box/a3s-box"><img src="https://agentmods.dev/badge/skills/ai45lab/box/a3s-box.svg" alt="Measured on agentmods" height="20"></a>
Per session 134 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,104 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00134 $0.02104
Opus 5 $0.00067 $0.01052
Sonnet 5 $0.00027 $0.00421
Haiku 4.5 $0.00013 $0.00210

Measured 5d ago against content hash 94334277219d, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

a3s-box scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

allowed-tools: Bash(a3s-box*), Bash(curl*), Read(*), Grep(*)
integrations/skills/a3s-box/SKILL.md · 122 lines

How it starts

The opening of the file, as written. The whole thing — 122 lines — stays where its author put it; the contents beside it link to each section on GitHub.

a3s-box - drive the microVM sandbox

a3s-box runs OCI images inside hardware-isolated microVMs with a Docker-like CLI (verbs mirror Docker). Preflight once: a3s-box info (confirms virtualization + home dir).

Mental model (these cause silent failures)

  • Lifecycle: created -> running -> paused -> stopped -> dead.
    • run = create and start. create stops at created -> start it. snapshot restore -> created -> start it.
    • A box dies when its PID 1 exits - it needs a foreground process. run -d alpine runs sh, which exits at once -> dead. Use a long-lived command: run -d nginx, or run -d alpine -- sleep 3600.
    • exec/shell/cp/top/attach need a running box. start accepts only created|stopped|dead. rm removes created/stopped/dead without -f; -f is only for a running/paused box.
  • The -- rule: the in-box command goes after --. a3s-box exec <box> -- <cmd> (required); a3s-box run <image> [-- <cmd>] (optional override). Missing it -> error: unexpected argument '...' found.
  • exec has a 5-second default timeout - long builds/installs/tests get killed mid-run (and look like a failure). Use --timeout 300 (or --timeout 0 to disable): a3s-box exec --timeout 300 web -- <cmd>.
  • Detached boxes need the monitor. run -d prints the id and exits; its health/restart task dies with it. For --restart policies and health checks to fire, run a3s-box monitor in the background first.
  • No in-guest localhost by default. A box can't reach its own service on 127.0.0.1 (so --health-cmd 'curl localhost' and in-box curl fail). To make in-guest localhost work, attach a bridge network (recipe below). To check a service from your side, curl the published HOST port (see Ports).
  • Ports: publish with -p HOST:GUEST (TCP). But ps's PORTS column and a3s-box port <box> render GUEST -> 0.0.0.0:HOST - the host port to curl is the one after 0.0.0.0:. Read it with a3s-box port <box>.
  • Output streams: run -d prints a human Creating box <name> (<id>)... line, the full box id, and (when uncached) image-pull progress - all to stdout; only tracing/WARN/ERROR go to stderr. Don't parse the id from stdout - reference boxes by --name. JSON where offered: inspect, image-inspect, snapshot ls --json, and ps --format json (2.6+ only; on 2.0 use ps --format '{{.ID}} {{.Status}} {{.Names}}').

Read the full file on GitHub · 122 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 122 lines · 134 tokens per session scan A 94334277219d

Subscribe to this mod's changes

a3s-box is a skill published in the GitHub repository AI45Lab/Box (53 stars, last pushed 2mo ago), licensed MIT. It adds 134 tokens to every session and 2,104 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

deploy-docker-compose

Run the Omnigent server as a Docker compose stack (server + Postgres) on any Docker host — your laptop, a VPS, EC2 by hand, or as the base layer of any container-platform deploy. Invoke when the user wants to build the image, bring up the compose stack, debug the stack on a host they already have, or extend the stack…

omnigent-ai/omnigent · 84 tokens

compute-env-setup

Set up a reproducible Feynman compute environment for research jobs. Use when a task needs Python/R packages, GPU libraries, containers, Modal, SSH, caches, or managed model runtime setup.

companion-inc/feynman · 45 tokens

securing-kubernetes-on-cloud

This skill covers hardening managed Kubernetes clusters on EKS, AKS, and GKE by implementing Pod Security Standards, network policies, workload identity, RBAC scoping, image admission controls, and runtime security monitoring. It addresses cloud-specific security features including IRSA for EKS, Workload Identity for…

xalgorix/xalgorix · 80 tokens

detecting-privilege-escalation-in-kubernetes-pods

Detect and prevent privilege escalation in Kubernetes pods by monitoring security contexts, capabilities, and syscall patterns with Falco and OPA policies.

xalgorix/xalgorix · 40 tokens

implementing-rbac-hardening-for-kubernetes

Harden Kubernetes Role-Based Access Control by implementing least-privilege policies, auditing role bindings, eliminating cluster-admin sprawl, and integrating external identity providers.

xalgorix/xalgorix · 41 tokens

docker-socket-mount

Docker / containerd socket mounted into a container → host RCE. Common in CI runners, GitOps controllers (ArgoCD, Flux), and 'Docker-in-Docker' setups. Single-command escape via docker run --rm --privileged -v /:/host alpine chroot /host.

PurpleAILAB/Decepticon · 67 tokens