Сверхлёгкая песочница на микровиртуальных машинах для запуска недоверенных нагрузок с аппаратной изоляцией, созданная на базе OpenVMM и использующая Linux в качестве гостевой ОС.
firecracker-microvm/firecracker
Минималистичный монитор виртуальных машин на базе KVM для запуска лёгких microVM под безопасные serverless- и контейнерные нагрузки в многопользовательской среде.
- Звёзды
- 37,582
- Форки
- 2,702
- Открытые issues
- 133
- Последний коммит
- 19 часов назад
Что это?
Firecracker — технология виртуализации для запуска контейнеров и функций в лёгких виртуальных машинах, называемых microVM. В её основе лежит монитор виртуальных машин, который использует Linux KVM для создания и запуска microVM. Архитектура намеренно исключает ненужные устройства и функции, доступные гостевой системе: это уменьшает объём памяти, необходимый каждой microVM, сокращает поверхность атаки и ускоряет запуск.
Firecracker предоставляет для каждого процесса одну конечную точку API, описанную в формате OpenAPI. Через неё можно настраивать vCPU, память, шаблоны CPU, сетевые интерфейсы, блочные устройства с ограничителями скорости, vsock, энтропию, pmem и горячее подключение памяти. Firecracker также используется как бэкенд в средах выполнения контейнеров, например Kata Containers и Flintlock. Проект разработан в AWS для таких сервисов, как Lambda и Fargate, и распространяется по лицензии Apache 2.0.
Безопасная работа Firecracker зависит от правильной настройки хоста Linux. В проекте есть руководство по настройке хоста для production и процесс jailer, который применяет изоляцию с помощью cgroup и пространств имён, прежде чем сбросить привилегии.
Ключевые возможности
- 01Запускает нагрузки в microVM с помощью Linux KVM и минимального набора устройств.
- 02Позволяет через API настраивать vCPU, память, шаблоны CPU, а также блочные и сетевые устройства.
- 03Использует фильтры seccomp для каждого процесса и jailer для изоляции с помощью cgroup и пространств имён.
- 04Поддерживает ограничители скорости для устройств virtio, vsock, энтропию, pmem и горячее подключение памяти.
- 05Интегрируется со средами выполнения контейнеров, например Kata Containers и Flintlock.
Сценарии использования
- Запуск недоверенных функций или контейнерных нагрузок в изолированных microVM на многопользовательском хосте.
- Создание серверной части serverless-платформы, которой требуется быстрый запуск microVM.
- Использование Firecracker в качестве уровня виртуальных машин под средой выполнения контейнеров, например Kata Containers.
- Тестирование или прототипирование изоляции на основе виртуальных машин на хостах Linux с поддержкой KVM.
Быстрый старт
- 1
Клонируйте репозиторий
git clone https://github.com/firecracker-microvm/firecracker - 2
Перейдите в каталог проекта
cd firecracker - 3
Соберите Firecracker в контейнере для разработки (требуются Docker и bash)
tools/devtool build
Что важно знать
- Для безопасного использования в режиме мультиарендности требуется хост Linux с поддержкой KVM и правильно настроенная хостовая ОС.
- Устройство RTC pl031 в aarch64 не поддерживает прерывания, поэтому RTC-будильники, например hwclock, не работают.
Темы
Частые вопросы
- Что такое firecracker?
- Минималистичный монитор виртуальных машин на базе KVM для запуска лёгких microVM под безопасные serverless- и контейнерные нагрузки в многопользовательской среде. Firecracker — технология виртуализации для запуска контейнеров и функций в лёгких виртуальных машинах, называемых microVM. В её основе лежит монитор виртуальных машин, который использует Linux KVM для создания и запуска microVM. Архитектура намеренно исключает ненужные устройства и функции, доступные гостевой системе: это уменьшает объём памяти, необходимый каждой microVM, сокращает поверхность атаки и ускоряет запуск.
- firecracker можно использовать бесплатно? Какая у него лицензия?
- firecracker распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- firecracker всё ещё поддерживается?
- Активно поддерживается. Последний коммит в firecracker — 24 окт. 2026 г..
- Для чего можно использовать firecracker?
- Запуск недоверенных функций или контейнерных нагрузок в изолированных microVM на многопользовательском хосте. Создание серверной части serverless-платформы, которой требуется быстрый запуск microVM. Использование Firecracker в качестве уровня виртуальных машин под средой выполнения контейнеров, например Kata Containers. Тестирование или прототипирование изоляции на основе виртуальных машин на хостах Linux с поддержкой KVM.
- Как установить firecracker?
- Клонируйте репозиторий: git clone https://github.com/firecracker-microvm/firecracker Перейдите в каталог проекта: cd firecracker Соберите Firecracker в контейнере для разработки (требуются Docker и bash): tools/devtool build
- Где скачать firecracker?
- Исходный код и инструкции по установке — на GitHub: https://github.com/firecracker-microvm/firecracker
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Встраиваемые переносимые микровиртуальные машины на Rust для локального запуска AI-агентов и недоверенного кода с аппаратной изоляцией.
Linux CLI, который упаковывает Firecracker microVM (бинарный файл, ядро, initrd и rootfs) в единый автономный исполняемый файл, запускающий контейнер в виртуальной машине.
МикроВМ-песочницы с механизмом fork для AI-агентов: дочерние ВМ создаются из прогретой Firecracker-ВМ с копированием при записи, изоляцией через KVM и BRANCH работающих ВМ.
Кроссплатформенный VMM для запуска AI-агентов, например OpenClaw, в изолированных виртуальных машинах Linux с контролируемым доступом к файлам.
Open-source-сервис песочниц для AI-агентов: запускает каждую задачу в аппаратно изолированной MicroVM, совместим с E2B SDK и стартует менее чем за 60 мс.