nvx README

The project's README from github.com/microsoft/nvx. As one markdown file: README.md.

NVX: An Ultra-Light Micro-VM Sandbox

NVX is an ultra-light micro-VM sandbox for running untrusted workloads with hardware-enforced isolation. It is built on top of OpenVMM and runs Linux as a guest.

NVX was jointly developed by the MSR Systems Research Group and Azure Research - Systems, building on research results from the Nanvix system.

This repository includes version pins for Linux and OpenVMM, along with the patches, guest source files, build tools, and benchmarks needed to use NVX.

Quick Start

Python 3.10 or newer is required. The commands below download the latest NVX release for the selected platform, so no local build is required. A successful boot prints NVX-GUEST-BOOT-OK: alpine and opens a root shell. Select Ubuntu userland with the same NVX kernel by passing --guest ubuntu.

Exit cleanly from the guest with /sbin/nvx-exit 0. See the setup and run guides for detailed prerequisites and runtime options.

ℹ️ For direct OpenVMM integration without the scripts/nvx.py runtime harness, see Run OpenVMM directly.

Linux / KVM

Requires KVM configured with read/write access to /dev/kvm.

git clone https://github.com/microsoft/nvx.git && cd nvx
python3 scripts/nvx.py download
python3 scripts/nvx.py run

Linux / MSHV

Requires MSHV configured with read/write access to /dev/mshv.

git clone https://github.com/microsoft/nvx.git && cd nvx
python3 scripts/nvx.py download --hypervisor mshv
python3 scripts/nvx.py run --hypervisor mshv

Windows / WHP

Requires Windows Hypervisor Platform enabled.

git clone https://github.com/microsoft/nvx.git; Set-Location nvx
python scripts\nvx.py download
python scripts\nvx.py run

Documentation

Usage

Development

nvx (microsoft/nvx)

Searching Database…

404 ·GitHub
Что это?NVX — ультралёгкая песочница на микроВМ для запуска недоверенных нагрузок с аппаратной изоляцией, построенная на OpenVMM и использующая Linux в качестве гостевой ОС.
Это библиотека для импорта или отдельный инструмент?Это консольная обвязка времени выполнения (scripts/nvx.py), которая загружает микроВМ и управляет ими, а не библиотека для импорта в свой код; есть и путь управлять OpenVMM напрямую без обвязки.
Как запустить песочницу?Установите Python 3.10 или новее, затем выполните quick-start команды для своей платформы; они скачивают последний релиз NVX, так что локальная сборка не нужна, а при успешной загрузке печатается сообщение boot-OK и открывается root-шелл.
Какой гипервизор уже должен быть настроен на моей машине?Нужен гипервизор, включённый в вашей ОС: KVM с доступом на чтение/запись к /dev/kvm в Linux, MSHV в Linux или Windows Hypervisor Platform (WHP), включённая в Windows.
Главный подводный камень при загрузке NVX?У каждого бэкенда своё предварительное условие, которое должно быть выполнено заранее — например, правильные права чтения/записи на /dev/mshv для MSHV или включённый WHP в Windows — иначе микроВМ не запустится.
Для кого это создано?Оно нацелено на инженеров и исследователей, которым нужны песочницы с аппаратной изоляцией для запуска недоверенного или сгенерированного агентами кода, например агентных кодинг-нагрузок.
Можно ли выбрать гостевую ОС, отличную от стандартной?Да, по умолчанию NVX загружает гостя Alpine Linux, а перейти на пользовательское окружение Ubuntu с тем же ядром NVX можно, передав --guest ubuntu.
Что такое OpenVMM и почему NVX от него зависит?OpenVMM — среда выполнения гипервизора, на которой построен NVX; репозиторий фиксирует конкретные версии Linux и OpenVMM и добавляет патчи, гостевые исходники, инструменты сборки и бенчмарки, нужные, чтобы запускать их вместе как NVX.
Проверяет ли проект собственную изоляцию песочницы?Да, там описано «состязательное тестирование под управлением Copilot» — ограниченные адаптивные кампании стресса и сдерживания, используемые для проверки на прочность изоляции песочницы.
What are similar projects?coop, smolvm, CubeSandbox, brig, quicksand, ProxmoxVE, agentbox, qemu
Creator
microsoft
Size
32.9 MB
Stars
404
Updated
CommitOct 16
Age
1mo
Commits · 90 Days