Repolode
microsoft

microsoft/nvx

An ultra-light micro-VM sandbox for running untrusted workloads with hardware-enforced isolation, built on OpenVMM with Linux as the guest.

Stars
582
Forks
39
Open issues
108
Last commit
1 hour ago

What is it?

NVX is a micro-VM sandbox for running untrusted workloads, such as code produced by AI agents, inside a hardware-isolated virtual machine. It is built on top of OpenVMM and runs Linux as its guest, and it is developed jointly by Microsoft Research's Systems Research Group and Azure Research - Systems, building on the Nanvix system.

The repository pins versions of Linux, OpenVMM and the Rust guest toolchain, and includes the patches, guest sources, build tools and benchmarks needed to use it. Prebuilt packages for Alpine, Ubuntu and Azure Linux userlands can be downloaded with a Python script, and it can run on KVM, MSHV or Windows Hypervisor Platform (WHP). A Rust crate (`nvx`) handles the control protocol, launch, policy lowering and supervision of microVMs, and a Rust API crate exposes sandbox lifecycle operations.

Key features

  • 01Runs untrusted workloads in hardware-isolated micro-VMs.
  • 02Boots Linux guests with Alpine, Ubuntu or Azure Linux userlands.
  • 03Supports KVM on Linux, MSHV on Linux and Windows Hypervisor Platform on Windows.
  • 04Provides a Python harness (scripts/nvx.py) to download, build and run sandboxes.
  • 05Ships a Rust crate and API for driving microVM lifecycle from code.

Use cases

  • Running code generated by AI agents in an isolated environment.
  • Executing untrusted scripts or binaries without exposing the host.
  • Experimenting with micro-VM isolation on KVM, MSHV or WHP.

Quick start

  1. 1

    Clone the repository

    git clone https://github.com/microsoft/nvx.git && cd nvx
  2. 2

    Download the prebuilt NVX package

    python3 scripts/nvx.py download
  3. 3

    Boot the Alpine guest (requires KVM access to /dev/kvm)

    python3 scripts/nvx.py run

Things to know

  • Requires hypervisor access: KVM on Linux, MSHV on Linux, or Windows Hypervisor Platform on Windows.
  • Requires Python 3.10 or newer and Git, and Rust via rustup if the nvx-rs component must be built from source.
  • Running a clone of the latest dev branch often requires building nvx-rs with Cargo.

Topics

FAQ

What is nvx?
An ultra-light micro-VM sandbox for running untrusted workloads with hardware-enforced isolation, built on OpenVMM with Linux as the guest. NVX is a micro-VM sandbox for running untrusted workloads, such as code produced by AI agents, inside a hardware-isolated virtual machine. It is built on top of OpenVMM and runs Linux as its guest, and it is developed jointly by Microsoft Research's Systems Research Group and Azure Research - Systems, building on the Nanvix system.
Is nvx free to use? What license does it have?
nvx is open source under the MIT license. Check the license terms before using it in commercial products.
Is nvx still maintained?
Actively maintained. The last commit to nvx was on Oct 21, 2026.
What can I use nvx for?
Running code generated by AI agents in an isolated environment. Executing untrusted scripts or binaries without exposing the host. Experimenting with micro-VM isolation on KVM, MSHV or WHP.
How do I install nvx?
Clone the repository: git clone https://github.com/microsoft/nvx.git && cd nvx Download the prebuilt NVX package: python3 scripts/nvx.py download Boot the Alpine guest (requires KVM access to /dev/kvm): python3 scripts/nvx.py run
Where can I get nvx?
The source code and installation instructions are on GitHub: https://github.com/microsoft/nvx

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects