NVIDIA's OpenShell turns agent containment into a product
OpenShell runs coding agents unmodified inside kernel-enforced sandboxes and makes every policy change pass a formal check first. 18,000 stars say the timing is right.
NVIDIA put its agent sandbox on the front page of Hacker News this week. OpenShell, the Rust runtime that executes coding agents inside kernel-enforced sandboxes, picked up 393 points and 193 comments on October 22. The repository counter crossed 18,000 stars the same day. The timing matters more than the points: it landed while every other thread about agents was about the damage they can do.
The same front page carried the PHP fiasco. A researcher broke the embargo on CVE-2026-109618 and CVE-2026-109619, a pair of RCE chains in PHP that had been patched on October 21, and spent his "Tell HN" post apologizing for it. The front page also carried a post titled "Every AI model has the same controversial take on humans" with 416 points, and Anthropic's piece on LLMs making formal verification feasible at larger scale at 344. Read together, the front page made one argument: autonomous agents are here, unsupervised access is how they hurt you, and containment is now an engineering discipline.
OpenShell's premise is simple. Agents are most useful when they can read files, install packages, call APIs, and use credentials. Those are also the four fastest ways to lose data. OpenShell gives agents that reach without handing over the keys. Each agent runs in an isolated sandbox. The kernel enforces policy on every file access, every syscall, every network connection. Agents never see real credentials: the gateway injects them into requests bound for approved endpoints, and nowhere else.
The part that separates it from a dressed-up chroot is the policy gate. When someone proposes a policy change, OpenShell runs a formal verification pass first. If the new rules would let an agent reach a new host with credentials or call a new API method, the change queues for human review instead of applying itself. Approval becomes a reviewed decision with a record attached. The architecture page describes how the gateway, supervisor, and sandbox split the work.
It runs agents unmodified. The quickstart ships a default sandbox image with no agent in it, and the Run Your First Agent guide drives OpenCode against a free OpenRouter model, approving access as the agent asks for it. When the agent hits a destination the policy blocks, OpenShell denies the request, drafts a narrow rule, runs its prover over the draft, and queues it for a human. Claude Code and Codex are named as supported workloads. SDKs exist for Python, TypeScript, Go, and Rust. Apache 2.0 license, Rust codebase, Helm chart for Kubernetes gateways where your CNI enforces NetworkPolicy.
The v0.1.5 release, published October 20, shows a project moving from demo cadence to operations cadence. The release notes read like a change log from a fleet product, not a demo: policy and config changes can now push to running sandboxes in about 100 ms instead of a 10-second poll. The gateway emits OCSF Authentication events for rejected requests, with mechanism, reason, peer address, and request ID, so denied access lands in your SIEM as a first-class record. Kubernetes sandboxes stopped accepting pod annotations and labels unless an operator allowlists the keys first. And the rustls bump to 0.23.46 closed four RustSec advisories. Thirty-three release assets, six releases in under a month: the project is moving.
The honest caveats are version numbers and scope. This is 0.1.x, with the upgrade guide to prove it: the OCSF log files changed naming schemes in this release, and old logs do not migrate. Kernel-level enforcement is Linux and macOS on Apple Silicon, with Windows on WSL 2 marked experimental. Formal verification checks the policy, not the agent's intent: a policy you approved still governs whatever the agent does inside it.
Why this post instead of another model release: the containment problem is the unglamorous half of agent infrastructure, and this week it got its own dataplane. I run agent fleets on my own hardware. The choice OpenShell encodes is the one I keep having to make by hand: capability without blanket trust. A policy file that a prover has checked, and a log line for every denial, is a much better answer than a prayer and a readonly mount.
Two directions worth watching from here. One: whether the formally-verified-policy pattern spreads from the runtime up into the agent frameworks themselves, so a harness proposes a plan and a prover signs off before execution. Two: whether ops teams adopt denial analytics the way they adopted error tracking, treating "what did the agent try to do that it could not" as a signal worth charting. The Sandbox Protocol shipped versioned in this release, so independently implemented backends can now be tested against the same spec. Containment used to be an afterthought in agent deploys. This week it shipped release notes.
Comments ()