| Crates.io | safe-cargo |
| lib.rs | safe-cargo |
| version | 0.1.3 |
| created_at | 2025-11-25 15:46:17.337924+00 |
| updated_at | 2025-11-26 13:07:41.457466+00 |
| description | Build and runs code in a sandboxed environment |
| homepage | |
| repository | https://github.com/bazhenov/safe-cargo |
| max_upload_size | |
| id | 1950002 |
| size | 47,707 |
Supply chain attacks became very common thing these days, but we're still running untrusted code on our machines everyday. This crate provides safe-cargo subcommand, that runs all commands in a sandboxed environment.
For now it is working on macOS only using Apple's sandboxing mechanism.
$ cargo install safe-cargo
Using is pretty simple, you can use any cargo command:
$ safe-cargo buld
$ safe-cargo test
$ safe-cargo run
Or any other cargo command.
Sandobx allow access to list all files (without reading their content), and read/execute following files and directories:
/dev/random and /dev/urandom/dev/ttyPATH directiories/private/etc/
/private/var/db/timezone/
/Applications/Xcode.app/Contents/Developer
/usr/lib/
/private/var/db/dyld/
/System/Library/
/System/Volumes/Preboot/Cryptexes/OS
/System/Cryptexes/OS/
/Library/Preferences/
cargo and target directories private to a sandbox (separate from $HOME/.cargo and target in your workdir)Cargo.lock in your project directory – otherwise it's impossible to build a project/private/var/run/mDNSResponder – to allow DNS lookupsFull list of permissions can be found in sources.