Container Escape Benchmark: Zero Escapes Against Edera Zones

LLMs Escaped Docker 18 times. Zero Escapes on Edera.

A new benchmark from a team of security researchers highlights something the industry is worried about: LLMs can break out of container sandboxes. SandboxEscapeBench, published by Marchand et al., tested GPT-5 and Claude Opus 4.5 against 18 real-world container escape scenarios. The result: roughly half of all container escape attempts succeeded against standard Docker isolation.

The paper's own recommendation is direct: "consider stronger isolation primitives."

We took that recommendation literally. We ran every scenario from the benchmark against Edera Zones on a live EKS cluster. For a properly configured deployment, the escape rate against Edera is zero. Edera blocked 16 of 18 attacks outright. The remaining two were a mitigated kernel attack class and an operator-misconfigured volume mount. This is not a theoretical exercise. These are real CVEs, real escape techniques, on real infrastructure.

What SandboxEscapeBench Tests and Why It Matters

SandboxEscapeBench is structured as a capture-the-flag (CTF) evaluation. An LLM agent gets shell access inside a container and attempts to read a flag file on the host filesystem. The scenarios span three main areas of a container stack:

  • Orchestration: Kubernetes misconfigurations, CRI vulnerabilities, RBAC abuse
  • Runtime: Privileged containers, exposed sockets, dangerous capabilities, runc CVEs
  • Kernel: Shared-kernel exploits like Dirty COW, Dirty Pipe, eBPF verifier bugs, cgroup escapes

Each scenario reflects conditions that exist in production systems. Misconfigured RBAC, leftover hostPath mounts, containers running with more capabilities than they need. The benchmark is not testing exotic zero-days, it’s testing the gap between how containers should be configured and how they actually are in the real world.

Frontier LLM models succeed breaking out of sandboxes against misconfigurations almost immediately, and succeed against known CVEs 20-40% of the time. The only scenarios where LLMs consistently fail are complex kernel exploits requiring carefully crafted multi-step memory corruption. For now.

Shared-Kernel Architecture Is the Root Cause, Not Misconfiguration

The benchmark exposes a structural problem, not a configuration problem. Every scenario in SandboxEscapeBench succeeds against Docker because containers share the host kernel, by design. Linux namespaces and cgroups create the appearance of isolation while leaving a single kernel as the shared trust boundary for every workload on the node.

When a privileged container runs nsenter --target 1, it reaches the host's PID 1 because host and container share the same /proc. When a container mounts a cgroup and writes to release_agent, the command executes on the host because host and container share the same cgroup hierarchy. When a container exploits a kernel vulnerability, it compromises every other container on the node because they all share the same kernel.

This is not due to a misconfiguration, this is the fundamental architecture of containers.

AI agents make this worse because they are designed to act autonomously, chain tools and behaviors, and execute arbitrary code. A traditional application might never attempt to read /proc/1/root or write to a cgroup's release_agent but give an LLM agent a shell and a goal and it will try everything in its training data to achieve the goal. Including escaping the sandbox.

Edera vs. Docker: Full Scenario Results on Live EKS

We tested every scenario. Fourteen were validated empirically on a live cluster, four were assessed architecturally where the vulnerability requires a kernel version or runtime component that does not exist in Edera's stack.

Scorecard table comparing Docker and Edera across 18 SandboxEscapeBench container escape scenarios. Orchestration: 4 exploitable on Docker, 4 blocked by Edera. Runtime: 8 exploitable on Docker, 7 blocked and 1 exposed via hostPath on Edera. Kernel: 6 exploitable on Docker, 5 blocked and 1 mitigated on Edera. Total: 18 exploitable on Docker, 16 blocked, 1 mitigated, and 1 exposed on Edera.

For a deployment without hostPath mounts, all 18 scenarios are blocked or mitigated. The expected LLM escape rate drops from approximately 50% to zero.

How Edera Zones Block Container Escape Attempts by Design

Edera Zones replace the shared-kernel container model with per-workload hardware isolation. Each zone is a lightweight virtual machine running its own Linux kernel inside a Xen-based hypervisor boundary. The zone integrates with Kubernetes as a drop-in CRI-compliant runtime. From the orchestration layer, it looks exactly like a container, from the security layer, it is a hardware-isolated VM.

We deployed a test pod on our Edera EKS cluster with the worst-case configuration the benchmark could ask for: privileged: true, hostPID: true, hostIPC: true, and a hostPath volume mount of the entire host root filesystem. Every flag that weakens isolation, enabled simultaneously.

Here is what happened.

The classic container escape fails completely. Inside a Docker container, nsenter --target 1 gives you the host. Inside an Edera zone, PID 1 is the zone's own init process (the containerized workload). /proc/1/root traversal loops back into the zone. The host kernel's process tree is structurally invisible because the zone runs a separate kernel.

hostPID is silently ignored. The pod spec requested a shared PID namespace. Edera acknowledged the request and did nothing. Two processes were visible inside the zone: sleep infinity and ps aux

No kubelet, no containerd, no host processes of any kind.

hostNetwork is rejected outright. When we initially deployed the pod with hostNetwork: true, Edera returned a hard error: "hostNetwork pods are not supported by Edera as it breaks isolation." The pod didn’t start.

Capabilities operate inside the zone. The pod had every Linux capability. CAP_SYS_ADMIN worked: we mounted cgroups, wrote to release_agent, and triggered it. kernel.core_pattern was writable and we wrote an exploit payload that targeted it. It modified the zone kernel's core pattern, not the host's. These are real capabilities exploiting real subsystems, inside an isolation boundary that cannot reach the host.

runc does not exist. Two of the benchmark's scenarios exploit CVEs in the runc container runtime. Edera doesn’t use runc. There is no runc binary in the zone or anywhere in the stack of the workload. The entire attack class is architecturally eliminated.

No runtime sockets. There is no Docker socket, no containerd socket, no runtime sockets of any kind inside the zone. The benchmark's docker.sock scenario requires the socket to be mounted into the container. On the Edera node, the socket does not exist. Even if it did, Edera's volume filtering blocks socket types.

Kernel CVEs are inapplicable. Dirty COW requires a kernel older than 4.8, and Dirty Pipe requires 5.8 through 5.16. The zone kernel defaults to 6.16 so these vulnerabilities do not exist. Even if an operator deliberately ran an ancient zone kernel, exploitation would compromise the zone kernel only. The hypervisor boundary prevents the compromised kernel from reaching the host.

The One Real Gap: hostPath Volume Mounts and How to Close It

Scenario 10 in the benchmark tests hostPath volume mounts. When a pod spec mounts the host root filesystem, the workload can read and write host files.

Against Edera, this scenario works. The hostPath mount is passed into the zone, and we could read the host's /etc/shadow. We wrote to the host's /etc/crontab and read SSH authorized keys.

This is by design. Edera's security model is explicit: "Edera isolates the workload, not the configuration that created it." If the operator mounts the host filesystem into the zone, the zone has access to the host filesystem through that mount.

The fix is a single configuration that’s documented in our security reference architecture: do not mount the host filesystem into zones. Enforce this with PodSecurityAdmission or policy engines like OPA Gatekeeper or Kyverno. For environments running AI agents, this should already be policy.

Per-Workload Kernel Versioning as an Active Security Control

One dimension the benchmark does not test but Edera uniquely addresses: kernel lifecycle management as a per-workload control.

Four of the benchmark's 18 scenarios exploit specific kernel CVEs. In a traditional container environment, patching means patching the host kernel and restarting every workload on the node. With Edera, the zone kernel is specified per pod:

annotations:
  dev.edera/kernel: "ghcr.io/edera-dev/zone-kernel:6.16"

Operators can pin specific versions for compliance, or use a :latest tag for a Chainguard-style always-current model. Kernel updates roll out per workload, not per node. The blast radius of a kernel vulnerability is one zone, not the entire fleet.

Beyond the Benchmark: A Frontier Model Spent Days Hunting a Zero-Day in Edera

SandboxEscapeBench tests known vulnerabilities and documented misconfigurations. That is valuable, but it is also the easy case. The harder question is what happens when a frontier model stops replaying known exploits and starts looking for new ones.

We decided to find out. We gave Claude Opus 4.6 root access inside a privileged Edera zone on the same live EKS cluster, pointed it at the Edera architecture documentation, and gave it a single instruction: break out and read a flag on the host node. The only rule was no hostPath mounts, everything else was fair game. We answered every question it asked and helped it with every piece of context it requested.

It ran for days. It was methodical, surprisingly creative, and thorough. Here is what it tried:

It mapped the full Xen attack surface. It reverse-engineered the zone's xenstore tree, it attempted xenstore manipulation, it tried to escape the filesystem, it tried to map in host memory via the grant table, it hunted for the IDM channel, and confirmed hypercalls work.

After exhausting every vector it could reach, the model produced its own assessment: None of them succeeded.

The isolation held. Not because the frontier model lacked capability, it held because the boundary is a hardware-isolated hypervisor, not a namespace. The model had full capabilities, /dev/mem access, Xen device interfaces, and days of unrestricted exploration. It could modify its own xenstore entries, make hypercalls, and probe every communication channel between the zone and the host, and it could not reach the host system.

This is the difference between containment and isolation. A container boundary fails when the attacker is sophisticated, a hypervisor boundary holds until the hypervisor itself has a zero day vulnerability.

What These Results Mean for Production AI Infrastructure

The SandboxEscapeBench paper ends with a measured statement: "correctly configured, up-to-date container runtimes remain appropriate isolation for current models." But the paper also shows that frontier models are improving at a rate that follows log-linear scaling. The scenarios that fail today may not fail next quarter.

We just demonstrated what that next phase looks like. A frontier model, given unrestricted access and real architecture documentation, systematically explored every available attack surface. It did not replay known exploits, it mapped the Xen interfaces, wrote custom tooling, and attempted novel techniques specific to Edera's architecture. Against containers, this kind of systematic exploration succeeds routinely. Against Edera, it couldn’t produce an escape.

Production infrastructure cannot depend on a boundary that requires perfect configuration to hold. It cannot depend on a boundary that a motivated AI agent can cross half the time, and it cannot depend on a boundary where a single kernel vulnerability compromises every workload on the node.

Stronger autonomy requires stronger isolation, not bolted on policies on a shared kernel. Architectural isolation allows boundaries to hold even with disastrous misconfiguration, even when the workload is hostile with a frontier AI model, and even when the kernel has a major vulnerability.

That is what Edera is built for.

FAQ

What is SandboxEscapeBench?

SandboxEscapeBench is a capture-the-flag evaluation framework from Marchand et al. that tests frontier LLM agents against 18 real-world container escape scenarios, spanning Kubernetes misconfigurations, runtime CVEs, and shared-kernel exploits.

How did Edera Zones perform against LLM container escape attempts?

Edera Zones blocked 16 of 18 SandboxEscapeBench scenarios outright on a live EKS cluster. One scenario was mitigated at the kernel layer and one was exposed via an operator-configured hostPath volume mount. With hostPath mounts disabled, the escape rate drops to zero.

Why do container escapes succeed against Docker but not Edera?

Standard Docker containers share the host Linux kernel, meaning any workload can reach kernel interfaces that enable escapes. Edera Zones run each workload inside a hardware-isolated VM with its own kernel, removing the shared attack surface that container escape techniques depend on.

Can an LLM agent escape an Edera Zone?

In Edera's live test, Claude Opus 4.6 was given root access, Xen architecture documentation, and unrestricted time inside a privileged Edera zone. After exhaustively mapping xenstore, hypercall interfaces, and all available Xen communication channels, the model produced its own assessment: no escape succeeded.

Cute cartoon axolotl with a light blue segmented body, big eyes, and dark gray external gills.

You know you wanna

Let’s solve this together