Repolode
microsoft

microsoft/nvx

基于 OpenVMM 构建、以 Linux 为客户机的超轻量微虚拟机沙箱,用于硬件隔离地运行不可信负载。

Star
582
Fork
39
未关闭 Issue
108
最近提交
1小时前

这是什么?

NVX 是一个微虚拟机沙箱,用于在硬件隔离的虚拟机中运行不可信的负载,例如 AI 智能体生成的代码。它基于 OpenVMM 构建,以 Linux 作为客户机系统,由微软研究院系统研究组与 Azure Research - Systems 联合开发,基于 Nanvix 系统的研究成果。

仓库固定了 Linux、OpenVMM 和 Rust 客户机工具链的版本,并包含使用所需的补丁、客户机源码、构建工具和基准测试。通过 Python 脚本可下载 Alpine、Ubuntu 和 Azure Linux 用户空间的预编译包,运行环境支持 KVM、MSHV 以及 Windows Hypervisor Platform(WHP)。Rust 的 `nvx` crate 负责微虚拟机的控制协议、启动、策略转换与监管,另有 Rust API 可管理沙箱生命周期。

核心功能

  • 01在硬件隔离的微虚拟机中运行不可信负载。
  • 02支持 Alpine、Ubuntu 和 Azure Linux 用户空间的 Linux 客户机。
  • 03支持 Linux 上的 KVM 与 MSHV,以及 Windows 上的 Windows Hypervisor Platform。
  • 04提供 Python 脚本(scripts/nvx.py)用于下载、构建和运行沙箱。
  • 05提供 Rust crate 与 API,可在代码中管理微虚拟机生命周期。

适用场景

  • 在隔离环境中运行 AI 智能体生成的代码。
  • 在不暴露宿主机的前提下执行不可信脚本或二进制程序。
  • 在 KVM、MSHV 或 WHP 上试验微虚拟机隔离方案。

快速上手

  1. 1

    克隆仓库

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

    下载预编译的 NVX 软件包

    python3 scripts/nvx.py download
  3. 3

    启动 Alpine 客户机(需要对 /dev/kvm 的读写权限)

    python3 scripts/nvx.py run

使用前须知

  • 需要虚拟化支持:Linux 上的 KVM 或 MSHV,或 Windows 上的 Windows Hypervisor Platform。
  • 需要 Python 3.10 或更高版本以及 Git;若必须从源码构建 nvx-rs,还需通过 rustup 安装 Rust。
  • 运行最新 dev 分支的克隆版本通常需要用 Cargo 构建 nvx-rs。

标签

常见问题

nvx 是什么?
基于 OpenVMM 构建、以 Linux 为客户机的超轻量微虚拟机沙箱,用于硬件隔离地运行不可信负载。 NVX 是一个微虚拟机沙箱,用于在硬件隔离的虚拟机中运行不可信的负载,例如 AI 智能体生成的代码。它基于 OpenVMM 构建,以 Linux 作为客户机系统,由微软研究院系统研究组与 Azure Research - Systems 联合开发,基于 Nanvix 系统的研究成果。
nvx 可以免费使用吗?用的什么许可证?
nvx 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
nvx 还在维护吗?
活跃维护中。nvx 最近一次提交是在 2026年10月21日。
nvx 适合用来做什么?
在隔离环境中运行 AI 智能体生成的代码。 在不暴露宿主机的前提下执行不可信脚本或二进制程序。 在 KVM、MSHV 或 WHP 上试验微虚拟机隔离方案。
nvx 怎么安装和运行?
克隆仓库: git clone https://github.com/microsoft/nvx.git && cd nvx 下载预编译的 NVX 软件包: python3 scripts/nvx.py download 启动 Alpine 客户机(需要对 /dev/kvm 的读写权限): python3 scripts/nvx.py run
在哪里获取 nvx?
源代码和安装说明在 GitHub 上:https://github.com/microsoft/nvx

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目