ranger_danger 41 minutes ago

> I wanted specifically to find a minimal set of restrictions to run untrusted code.

I don't think we should consider containers to be a security boundary. Even full VMs can be escaped, and have been, many times.

The fact that this is possible in the first place makes me think we need a much better approach.

  • chubot 37 minutes ago

    As far as I know, Firecracker, gVisor, and Kata Containers are the solution here. They use VM primitives (x64_64 and ARM64 extensions) and have lighter codebases

    https://firecracker-microvm.github.io/

    https://gvisor.dev/

    https://katacontainers.io/

    But I don't have any direct experience with any of them. I'd be curious what people who have built on top of them think

    edit: OK it looks like Kata can use Firecracker, so as far as isolation, it's Firecracker or gVisor. And Firecracker is the VMM I mentioned, but gVisor is quite different -- it's more like a user space kernel that emulates syscalls.

    • laurencerowe 28 minutes ago

      As I understand it Kata supports multiple VMM backends, Firecracker, QEmu, Cloud Hypervisor, and their own Dragonball. Except QEmu, I believe those are all built on crates in the rust-vmm ecosystem, each making slightly different tradeoffs.