nono
Capability-based sandboxing library using Landlock (Linux) and Seatbelt (macOS).
Overview
nono provides OS-enforced process level sandboxing. It allows you to restrict filesystem access, network access, and process execution for your application and its child processes.
Installation
[]
= "0.1"
Usage
use ;
// Build a capability set
let mut caps = new;
caps.allow_read?;
caps.allow_write?;
caps.allow_execute?;
// Apply the sandbox (irreversible)
apply_auto?;
// All subsequent operations are restricted to granted capabilities
Features
- Landlock (Linux 5.13+) - Filesystem access control
- Seatbelt (macOS) - Filesystem and network restrictions
- Child process inheritance - All spawned processes inherit restrictions and individual policy may be applied to child processes (tool sandboxing)
Platform Support
| Platform | Mechanism | Minimum Version |
|---|---|---|
| Linux | Landlock | Kernel 5.13+ |
| macOS | Seatbelt | 10.5+ |
Documentation
License
Apache-2.0