gvisor
Application Kernel for Containers
gVisor is a container security sandbox from Google that intercepts system calls between containerized apps and the host kernel, reducing attack surface without the weight of a full virtual machine.
gVisor is a security sandbox for containers, created by Google. To understand why it exists, a little background helps: containers (like those managed by Docker or Kubernetes) are a way to run multiple isolated applications on a single computer. However, all containers on a machine share the same underlying operating system kernel — the core software that manages hardware and system calls. That shared kernel means a vulnerability in one container could potentially be exploited to escape the container and affect the host machine or other containers.
gVisor takes a different approach. It acts as an application kernel — essentially a lightweight software layer that sits between a containerized application and the real host kernel. When a containerized app wants to do something at the system level (read a file, open a network connection, etc.), those requests go to gVisor first rather than directly to the host kernel. gVisor intercepts and handles them, dramatically reducing how much of the host kernel is exposed to the application. Crucially, gVisor itself is written in Go, a memory-safe programming language, which avoids entire categories of common security bugs.
It is not a virtual machine in the traditional sense — it has a much smaller resource footprint and starts quickly. It ships with a runtime component called runsc that plugs into Docker and Kubernetes, so existing container workflows require minimal changes to gain the added isolation. gVisor runs on x86-64 and ARM64 Linux systems.
Where it fits
- Add an extra security layer to Docker containers running untrusted third-party code without spinning up full VMs.
- Run multi-tenant container workloads on Kubernetes with reduced risk of a container escape reaching the host.
- Isolate sensitive applications from the host OS on x86-64 or ARM64 Linux with minimal resource overhead.