Skip to content

Repository files navigation

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 ALPINE-MICROVM-BOOT-OK and opens a root shell.

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

  • Setup - Instructions for setting up your environment.
  • Build - Instructions for building NVX.
  • Run - Instructions for running NVX.
  • Benchmark - Instructions for benchmarking NVX.
  • Command-line reference - Complete scripts/nvx.py command and option reference.

Development

About

A Micro-VM for Agentic Workloads

Resources

Code of conduct

Security policy

Stars

4 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages