ebkalderon / bastille

Process sandboxing library written in Rust
Apache License 2.0
7 stars 0 forks source link
cross-platform namespace rust sandbox security

Bastille

A process sandboxing library written in Rust.

Please note that this sandboxing library is a work in progress and has not yet been reviewed for correctness and overall security, so use at your own risk.

Motivation

At the time of writing, Arch Linux chose to enable unprivileged namespace support with kernel version +5.1.8, meaning that gaol now finally works on Arch Linux. However, it relies on a chroot jail which is rather easy to escape, and the API is also incompatible with std::command::Command. rusty-sandbox works as expected on macOS using more secure methods, but Linux is unsupported and it does not allow for filesystem mapping and mounting nor fine-grained access control.

Work in progress

Credit

Design for the Linux backend implementation is loosely inspired by Bubblewrap.

License

Bastille is free and open source software distributed under the terms of the MIT and the Apache 2.0 licenses.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.