Repolode
microsoft

microsoft/nvx

Um sandbox de microVM ultraleve para executar cargas de trabalho não confiáveis com isolamento imposto por hardware, baseado no OpenVMM e com Linux como sistema convidado.

Estrelas
582
Forks
39
Issues abertas
108
Último commit
há 1 hora

O que é?

O NVX é um sandbox de microVM para executar cargas de trabalho não confiáveis, como código produzido por agentes de IA, em uma máquina virtual isolada por hardware. Ele é baseado no OpenVMM e executa Linux como sistema convidado. O projeto é desenvolvido em conjunto pelo Systems Research Group da Microsoft Research e pelo Azure Research - Systems, com base no sistema Nanvix.

O repositório fixa as versões do Linux, do OpenVMM e da toolchain Rust do sistema convidado, além de incluir os patches, o código-fonte do sistema convidado, as ferramentas de build e os benchmarks necessários para usar o projeto. É possível baixar pacotes pré-compilados para userlands do Alpine, Ubuntu e Azure Linux usando um script Python. O NVX pode ser executado no KVM, no MSHV ou no Windows Hypervisor Platform (WHP). Um crate Rust (`nvx`) gerencia o protocolo de controle, a inicialização, a redução de políticas e a supervisão das microVMs; outro crate Rust oferece uma API para operações de ciclo de vida do sandbox.

Recursos principais

  • 01Executa cargas de trabalho não confiáveis em microVMs isoladas por hardware.
  • 02Inicializa sistemas convidados Linux com userlands do Alpine, Ubuntu ou Azure Linux.
  • 03Oferece suporte a KVM no Linux, MSHV no Linux e Windows Hypervisor Platform no Windows.
  • 04Inclui um harness Python (`scripts/nvx.py`) para baixar, compilar e executar sandboxes.
  • 05Disponibiliza um crate Rust e uma API para controlar por código o ciclo de vida das microVMs.

Casos de uso

  • Executar código gerado por agentes de IA em um ambiente isolado.
  • Executar scripts ou binários não confiáveis sem expor o host.
  • Experimentar o isolamento por microVM no KVM, MSHV ou WHP.

Início rápido

  1. 1

    Clone o repositório

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

    Baixe o pacote NVX pré-compilado

    python3 scripts/nvx.py download
  3. 3

    Inicialize o guest Alpine (requer acesso KVM a /dev/kvm)

    python3 scripts/nvx.py run

Antes de usar

  • Requer acesso ao hipervisor: KVM ou MSHV no Linux, ou Windows Hypervisor Platform no Windows.
  • Requer Python 3.10 ou posterior e Git. Se o componente nvx-rs precisar ser compilado a partir do código-fonte, também será necessário ter Rust via rustup.
  • Para executar um clone da branch dev mais recente, geralmente é necessário compilar nvx-rs com Cargo.

Tópicos

Perguntas frequentes

O que é nvx?
Um sandbox de microVM ultraleve para executar cargas de trabalho não confiáveis com isolamento imposto por hardware, baseado no OpenVMM e com Linux como sistema convidado. O NVX é um sandbox de microVM para executar cargas de trabalho não confiáveis, como código produzido por agentes de IA, em uma máquina virtual isolada por hardware. Ele é baseado no OpenVMM e executa Linux como sistema convidado. O projeto é desenvolvido em conjunto pelo Systems Research Group da Microsoft Research e pelo Azure Research - Systems, com base no sistema Nanvix.
nvx é gratuito? Qual é a licença?
nvx é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
nvx ainda é mantido?
Manutenção ativa. O último commit de nvx foi em 21 de out. de 2026.
Para que posso usar nvx?
Executar código gerado por agentes de IA em um ambiente isolado. Executar scripts ou binários não confiáveis sem expor o host. Experimentar o isolamento por microVM no KVM, MSHV ou WHP.
Como instalar nvx?
Clone o repositório: git clone https://github.com/microsoft/nvx.git && cd nvx Baixe o pacote NVX pré-compilado: python3 scripts/nvx.py download Inicialize o guest Alpine (requer acesso KVM a /dev/kvm): python3 scripts/nvx.py run
Onde consigo nvx?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/microsoft/nvx

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados