Bubblewrap is a Linux sandbox runner that creates lightweight, isolated execution environments for running untrusted applications. It combines Linux user, mount, network, PID, and UTS namespaces with seccomp-BPF system call filtering to restrict filesystem, network, process, and inter-process communication access.
The project provides comprehensive process isolation by giving each sandbox its own private tmpfs root with selective bind-mounts, a separate network stack containing only a loopback interface, an independent process ID space, and remapped user and group identifiers. It applies seccomp filters to block dangerous kernel system calls before they execute, and assigns an independent hostname to the sandbox environment through UTS namespace isolation.
Bubblewrap enforces read-only and nodev filesystem access by default, preventing sandboxed processes from writing to or creating device nodes on the host. The sandbox environment is created using user namespaces, which hide real user and group identifiers from sandboxed processes by mapping them to different values inside the namespace.