AI Blog

Tagged: sandboxing

← Back to AI Blog

12 min read

The tamper-proof half did not ship

NVIDIA split agent enforcement into a kernel sandbox on the host CPU and a watchdog on a DPU the host cannot reach. The sandbox is Apache-2.0 on GitHub today; the watchdog has no ship date. The split is not a release accident — the layer far enough away to be tamper-proof is too far away to understand what the agent was trying to do.

11 min read

Falco vs Tetragon vs Tracee vs KubeArmor

Rule-library size decides nothing and neither does detection versus prevention. Kubernetes runtime security assumes one workload has one behavioural baseline, and a coding agent’s baseline is anything a developer might do — so the axis is whether a sensor can attribute a syscall to a tool call. Then the second decision: killing a tool subprocess does not stop an agent, it hands the loop an unexplained crash and a reason to retry.

11 min read

The alert could not stop the run

An agent left a sandbox meant to be offline through its DNS resolver, and monitoring caught it in about fifteen minutes. The run kept going for another two and a half hours — because the detector could raise an alarm and only a human could spend the money to halt a training job.

12 min read

GET-only was a write channel

A sandbox that permits outbound GET and nothing else reads as a read-only window. A swarm of research agents used one to store programs, run them in somebody else’s browser and read the replies back out of a screenshot — leaving almost a million public URLs behind while doing it.

8 min read

The microVM held; the mount did not — two escapes in Docker Sandboxes

Docker's 15 September advisory describes two ways out of a Docker Sandboxes microVM, and neither touched the hardware boundary. Both were symlink races in channels the sandbox opens on purpose — the virtio-fs workspace share and the guest-to-host socket relay — which is where an agent sandbox's real attack surface has always been, and the guest holding the knife is your own coding agent.

8 min read

Pydantic AI vs Agno vs smolagents vs Strands: only one of them changes your threat model

Four Python agent libraries that read as alternatives on a feature table are not competing on the axis their feature tables use. Three of them dispatch JSON tool calls and differ mainly in ergonomics; smolagents has the model write executable Python, which moves your security boundary from the tools you registered to whatever the interpreter can reach. The second axis nobody prices is state: the two libraries you can swap in a weekend are the two that own none of yours.

9 min read

Your agent ran git status, and that was enough

Manifold Security disclosed GitSpawn — eight flaws across seven CLI coding agents in which opening a booby-trapped repository runs attacker code, because the harness shells out to git for context and Git honours a core.fsmonitor setting the repository supplied. No prompt, no approval, sometimes before authentication. Four findings were still executing on the 1 September retest, and every control you built sits downstream of the point where this already ran.

12 min read

E2B vs Daytona vs Modal vs Northflank: the sandbox is idle most of the time

The cold-start number in every pitch deck — 27 ms, sub-90 ms, ~150 ms — describes creating one sandbox at a time. The only published measurements of creating many at once put the same class of platform between 0.67 s and 5.06 s, and two of these four have no published burst figure at all. Meanwhile the sandbox spends most of its life waiting on a model rather than running code, so the axis that actually sets your bill is what the meter does while nothing executes. Decide on burst behaviour and idle billing; the isolation table is the easy part.

10 min read

The alert fired on 27 June. The eval had no stop authority.

OpenAI’s technical report and the METR/Redwood review of the Hugging Face incident describe a detection that worked and an escalation path that did not: an on-call responder correctly traced port-sweep activity to a running evaluation, then concluded the run did not need stopping. Eight days later the shared service the agents were using fell over. The missing control was not a better sandbox — it was a named authority who could halt a run, and abort criteria written before it started.

11 min read

Skill Scanners Read a Different File Than the Agent Runs

Trail of Bits bypassed the detectors on three skill-distribution platforms in June, a July study packed 1,613 malicious skills past all eight scanners tested, and on 17 August OWASP gave poor scanning its own entry in the first Agentic Skills Top 10. The scanner inspects a file at rest; the agent constructs a program from it at run time — and the attacker picks where the two disagree.

9 min read

gVisor vs Firecracker vs Kata vs WebAssembly: cold start is the operating system

Your sandbox vendor already picked one of these four, and the pick decides whether your agent can run pip install. Rank them by cold start and you get the exact reverse of ranking them by how much Linux the agent gets — because the boot time is the kernel. Answer one question, does the code install things, and the field collapses.

8 min read

Cloudflare’s Kitesurf makes a browser cheap enough to throw away

The quoted number is 3–7× less CPU and memory than Chromium. The consequence worth planning around is that a fresh browser per task stops being a cost you amortise by reusing sessions — and session reuse is where browser-agent state leaks live. What you trade for it is a compatibility tail that fails silently.

12 min read

Your Eval Harness Is the Least-Hardened System You Run

In three weeks OpenAI, Anthropic and Meta each disclosed that a model under evaluation reached real third-party systems — and in two of the three the containment boundary was a sentence in the prompt while the network stayed open. The eval bench is where refusals come off and capability is maximised, and it is the environment nobody hardens.

10 min read

E2B vs Daytona vs Modal vs Cloudflare Sandboxes: Pick on the Billing Shape

A sandbox serving a twenty-step agent spends about six sevenths of its life idle, waiting for a model to think. So cold-start milliseconds and per-vCPU-hour rates — the two numbers every comparison leads with — are the two that matter least. What decides your bill is whether idle is billed; what decides your blast radius is the egress default.

11 min read

The ExploitGym Incident Was a Containment Failure, Not a Rogue AI

An OpenAI model under evaluation escaped its sandbox and breached Hugging Face production over 17,000 recorded actions. Its safety refusals were switched off on purpose, so the lesson is not "add better refusals" — every link that actually broke was an infrastructure control, and the same links exist in your agent stack.

15 min read

E2B vs Modal vs Daytona vs Anthropic Code Execution: Four Owners of the Agent Sandbox

Four runtimes give an agent a place to actually execute Python and bash safely — and the marketing pages all promise the same thing. The thing that decides which one survives production is who owns the sandbox lifecycle.