Sobre o projeto
O gVisor fornece uma forte camada de isolamento entre as aplicações em execução e o sistema operacional hospedeiro. É um kernel de aplicação que implementa uma interface semelhante ao Linux, mas, diferentemente do Linux, é escrito na linguagem segura em memória Go e roda em userspace. O gVisor inclui um runtime da Open Container Initiative (OCI) chamado runsc que se integra ao Docker e ao Kubernetes, tornando simples a execução de contêineres em sandbox.
Não é um filtro de syscalls como o seccomp-bpf, nem um wrapper sobre primitivas de isolamento do Linux como firejail ou AppArmor, e não é uma VM tradicional. Em vez disso, o gVisor adota uma terceira abordagem: oferece muitos dos benefícios de segurança das VMs, mantendo o menor consumo de recursos, a inicialização rápida e a flexibilidade das aplicações comuns em userspace. Ele limita a superfície do kernel do hospedeiro acessível à aplicação, ao mesmo tempo que dá à aplicação acesso aos recursos esperados, implementando efetivamente o Linux por meio do Linux.
O projeto compila em x86_64 e ARM64. As instruções de compilação abrangem o uso de um contêiner de build empacotado com Bazel, a compilação direta com Bazel, a execução de suítes de testes unitários e padrão e testes no macOS. Uma branch sintética go é mantida para compatibilidade com as ferramentas padrão do Go, de modo que pacotes externos possam importar subpacotes do gVisor, como rede em userspace via Netstack, embora builds do runsc a partir dessa branch não sejam suportados.
Documentação, guias de início rápido e arquitetura técnica estão disponíveis em gvisor.dev. O repositório também inclui informações sobre governança, adotantes, política de segurança e contribuição.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.