flawopen.com/Reference/Agent MicroVM Sandboxing
Imagine testing wild animals inside a submarine. Putting them behind a cardboard curtain (Docker) seems fine until an animal tears through it and attacks the crew. Instead, you put them inside an armored glass bubble with its own air supply (MicroVM). Even if the animal goes berserk, the submarine hull remains completely untouched. In AI security, standard Docker shares the host Linux kernel, while MicroVMs give every agent run its own isolated mini-operating system.
Standard Linux containers share the host kernel. When autonomous agents compile and execute arbitrary C, Rust, or Python code, any kernel vulnerability (dirty COW, io_uring bugs, unpatched cgroup flaws) allows immediate breakout to the physical host. Furthermore, mounting shared repository volumes enables cross-sample covert channels.
# VULNERABLE: Shares host kernel, open networking, mounted docker socket
services:
agent-runner:
image: python:3.11
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Instant root escape!
- /shared/repo:/workspace # Allows out-of-band communication
network_mode: bridge # Can communicate with external servers
# HARDENED: gVisor user-space kernel, read-only root, zero egress
services:
agent-runner:
image: agent-sandbox:latest
runtime: runsc # gVisor: all syscalls intercepted in user space
read_only: true
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
network_mode: none # Zero outbound networking
tmpfs:
- /workspace:size=256M,mode=0700 # Ephemeral, discarded on exit
io_uring.:runsc) or Firecracker microVMs.network_mode: none. If internet access is strictly needed, route traffic through an authenticating egress proxy with domain allowlisting./var/run/docker.sock gives the container root control over the host daemon. Prohibit docker socket mounts by policy.tmpfs RAM disks to ensure all generated files are incinerated upon task completion.