An ultra-light micro-VM sandbox for running untrusted workloads with hardware-enforced isolation, built on OpenVMM with Linux as the guest.
firecracker-microvm/firecracker
A minimalist KVM-based virtual machine monitor that runs lightweight microVMs for secure, multi-tenant serverless and container workloads.
- Stars
- 37,592
- Forks
- 2,703
- Open issues
- 133
- Last commit
- 20 hours ago
What is it?
Firecracker is a virtualization technology for running container and function workloads in lightweight virtual machines called microVMs. Its core is a virtual machine monitor that uses Linux KVM to create and run microVMs. The design deliberately omits unnecessary devices and guest-facing functionality, which reduces each microVM's memory footprint and attack surface and shortens startup time.
Firecracker exposes a single API endpoint per process, specified in OpenAPI format, for configuring vCPUs, memory, CPU templates, network interfaces, block devices with rate limiters, vsock, entropy, pmem, and memory hotplug. It is also used as a backend in container runtimes such as Kata Containers and Flintlock. The project was developed at AWS for services like Lambda and Fargate and is released under Apache 2.0.
Running it securely depends on a properly configured Linux host; the project provides a production host setup guide and a jailer process that applies cgroup and namespace isolation before dropping privileges.
Key features
- 01Runs workloads in microVMs using Linux KVM with a minimal device set.
- 02Configurable vCPUs, memory, CPU templates, and block or network devices via an API.
- 03Per-process seccomp filters and a jailer for cgroup and namespace isolation.
- 04Supports rate limiters for virtio devices, vsock, entropy, pmem, and memory hotplug.
- 05Integrates with container runtimes such as Kata Containers and Flintlock.
Use cases
- Running untrusted function or container workloads in isolated microVMs on a multi-tenant host.
- Building a serverless platform backend that needs fast microVM startup.
- Using Firecracker as the VM layer under a container runtime such as Kata Containers.
- Testing or prototyping VM-based isolation on Linux hosts with KVM support.
Quick start
- 1
Clone the repository
git clone https://github.com/firecracker-microvm/firecracker - 2
Enter the project directory
cd firecracker - 3
Build Firecracker with the development container (requires Docker and bash)
tools/devtool build
Things to know
- Requires a Linux host with KVM support and a well-configured host OS for secure multi-tenant use.
- The pl031 RTC device on aarch64 does not support interrupts, so RTC alarms such as hwclock do not work.
Topics
FAQ
- What is firecracker?
- A minimalist KVM-based virtual machine monitor that runs lightweight microVMs for secure, multi-tenant serverless and container workloads. Firecracker is a virtualization technology for running container and function workloads in lightweight virtual machines called microVMs. Its core is a virtual machine monitor that uses Linux KVM to create and run microVMs. The design deliberately omits unnecessary devices and guest-facing functionality, which reduces each microVM's memory footprint and attack surface and shortens startup time.
- Is firecracker free to use? What license does it have?
- firecracker is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is firecracker still maintained?
- Actively maintained. The last commit to firecracker was on Oct 24, 2026.
- What can I use firecracker for?
- Running untrusted function or container workloads in isolated microVMs on a multi-tenant host. Building a serverless platform backend that needs fast microVM startup. Using Firecracker as the VM layer under a container runtime such as Kata Containers. Testing or prototyping VM-based isolation on Linux hosts with KVM support.
- How do I install firecracker?
- Clone the repository: git clone https://github.com/firecracker-microvm/firecracker Enter the project directory: cd firecracker Build Firecracker with the development container (requires Docker and bash): tools/devtool build
- Where can I get firecracker?
- The source code and installation instructions are on GitHub: https://github.com/firecracker-microvm/firecracker
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Embeddable, portable microVMs in Rust for running AI agents and untrusted code locally with hardware isolation.
A Linux CLI that embeds a Firecracker microVM (binary, kernel, initrd, rootfs) into a single standalone executable that boots a container in the VM.
Fork-style microVM sandboxes for AI agents: children fork copy-on-write from a warmed Firecracker parent, KVM-isolated, with live BRANCH of running VMs.
A cross-platform VMM that runs AI agents such as OpenClaw inside isolated Linux virtual machines with controlled file access.
Open-source sandbox service for AI agents that runs each workload in a hardware-isolated MicroVM, with E2B SDK compatibility and sub-60ms startup.