Using bubblewrap to add sandboxing to NetBSD

blog.netbsd.org

96 points by jaypatelani a day ago


qwertox - 21 hours ago

Bubblewrap is a really interesting project, really worth checking out.

https://github.com/containers/bubblewrap

It's the base for Flatpack, the thing that makes Flatpack be sandboxed.

I use it to run Claude Code / Codex / Gemini CLI, to make sure that they have a limited / fake view of my system.

You can bind directories into it, or overlay them into it, restrict other kinds of access.

If Docker is a thing in a scale between a VM and your OS, Bubblewrap is a thing a scale between Docker and your OS. You use your OS, instead of installing and managing an OS like you do with Docker, but you get filesystem and process isolation like with Docker.

Though I had an issue where I cannot use `--new-session`, which is kind of dangerous to not use, but you can get around it if you use seccomp to block ioctl calls, and ptrace.

matesz - 20 hours ago

As a side note NetBSD is THE ONLY operating system of which binaries are fully bit by bit reproducible.

Moreover it vendores patched gcc compiler, so the entire toolchain is reproducible too as well.

How cool is that?! For the record golang brings it further - its entire package registry containing +40mln packages is bit by bit reproducible.

dsp_person - 16 hours ago

It's possible to run a full DE bwrapped.

    bwrap --dev-bind /dev /dev --tmpfs /tmp -- labwc
    bwrap --dev-bind /dev /dev --tmpfs /tmp -- kwin_wayland konsole
    bwrap --dev-bind /dev /dev --tmpfs /tmp -- startplasma-wayland
eglgears_wayland and nvtop show gpu works.

That's obviously super permissive, but from there can take things away to expose as much or little of the host system as needed.

For my system I'm working on making a few bwrapped "zones". E.g. start a terminal that can see a certain subset of files, and can configure whether it should use gpu or not, have internet or not, have access to local network or not, etc. A bit more project/environment focused than bwrapping programs one by one.

jmclnx - a day ago

Always nice to see NetBSD posts here, that nice OS gets hardly any press.

aborsy - a day ago

I experimented bubblewrap as a better alternative to firejail. Unfortunately there are scripts for few applications. It’s tool for developers. Users are better off flatpaks powered by bubblewrap .

DeathArrow - 21 hours ago

I would have loved to see something like OCI containers.

lovegrenoble - a day ago

bubblewrap popping )) https://brainteaser.top/bubblespop.html