26 releases (16 breaking)
0.17.0 | Sep 28, 2023 |
---|---|
0.16.2 | Nov 12, 2022 |
0.16.1 | Sep 11, 2021 |
0.15.0 | Oct 6, 2020 |
0.7.0 | Jul 22, 2018 |
#435 in Unix APIs
332 downloads per month
Used in 6 crates
105KB
5.5K
SLoC
syscallz-rs
Simple seccomp library for rust. Please note that the syscall list is incomplete and you might need to send a PR to get your syscalls included. This crate releases frequently if the syscall list has been updated.
# Cargo.toml
[dependencies]
syscallz = "0.16"
License
MIT/Apache-2.0
lib.rs
:
Simple seccomp library for rust. Please note that the syscall list is incomplete and you might need to send a PR to get your syscalls included. This crate releases frequently if the syscall list has been updated.
Example
use syscallz::{Context, Syscall, Action};
fn main() -> syscallz::Result<()> {
// The default action if no other rule matches is syscallz::DEFAULT_KILL
// For a different default use `Context::init_with_action`
let mut ctx = Context::init()?;
// Allow-list some syscalls
ctx.allow_syscall(Syscall::open);
ctx.allow_syscall(Syscall::getpid);
// Set a specific action for a syscall
ctx.set_action_for_syscall(Action::Errno(1), Syscall::execve);
// Enforce the seccomp filter
ctx.load()?;
Ok(())
}
Dependencies
~0.4–1MB
~21K SLoC