Show HN: Drop – a rootless Linux sandbox with gVisor support
Recorded: Sept. 22, 2026, 3:09 p.m.
| Original | Summarized |
Drop sandbox for LinuxSkip to contentDrop CTRL KDocumentation Dark System Dark System |
Drop provides a method for Linux sandboxing designed to isolate programs and coding agents without interfering with the user's familiar work environment. It serves the purpose of isolating applications and agents by enforcing permissions at the operating system level, mitigating risks associated with code execution. Use cases for Drop include isolating coding agents to prevent catastrophic accidental commands, such as ensuring that commands like rm -rf are contained within the sandbox and do not affect the actual home directory, and isolating connections to localhost services. Furthermore, Drop allows for the installation of third-party programs sourced from repositories like PyPI or npm, ensuring that any potential maliciousness or compromise stems only from the installed program and remains contained within the sandbox boundaries. The mechanism of Drop relies on creating disposable and isolated environments, drawing inspiration from Python’s virtualenv concept. Each environment possesses its own distinct home directory, while the original user home directory is hidden, ensuring containment. Unlike container technologies such as Docker or Podman, Drop leverages the existing operating system distribution, eliminating the need for separate container setup procedures, as all previously installed programs are readily available within the sandbox. Configuration is managed through a high-level TOML configuration language, which allows users to precisely specify which files, directories, and local network services should be exposed to the sandboxed environment. A key design feature is the ability to share a base configuration, enabling users to define Drop settings once and subsequently create numerous new environments without redundant configuration work. Drop operates in a rootless manner, meaning it does not require root privileges to execute. It functions within a Linux user namespace, managing its own dedicated process, mount, network, Inter-Process Communication, and cgroup namespaces. Before executing a sandboxed program, Drop drops all user namespace capabilities, effectively preventing the program from performing privileged operations within that namespace, such as bind mounts. Optionally, Drop integrates with gVisor, offering an additional layer of isolation by utilizing the gVisor user-space kernel. This integration serves to prevent programs from directly accessing the host kernel, thereby significantly reducing the potential attack surface related to kernel vulnerability exploitation. |