cd /news/developer-tools/seitan-syscall-expressive-interprete… · home › topics › developer-tools › article
[ARTICLE · art-163764] src=seitan.rocks ↗ pub= topic=developer-tools verified=true sentiment=· neutral

Seitan: Syscall Expressive Interpreter, Transformer and Notifier

The seitan project released a framework that filters, transforms and impersonates system calls to reduce privileges in container and virtualisation engines, letting operators replay only the system calls they need instead of running processes as root or granting capabilities. The framework comprises seitan-cooker, which builds a BPF program and a bytecode file called gluten from a recipe of system-call matches and actions; seitan-eater, which loads the BPF program into the kernel and runs the target process, loadable by container engines such as Podman via OCI annotations; and seitan, the supervisor that receives notifications via seccomp_unotify, interprets them per gluten and triggers configured actions. The project's documentation notes it still has rough edges, with no versions or packages yet, and it was presented at DevConf.CZ 2023.

read1 min views3 publishedNov 4, 2026

seitan was at DevConf.CZ 2023! Check out the slides and the recording #

seitanwas at

#

seitan is a framework to filter, transform and impersonate system calls, enabling privilege reduction in container and virtualisation engines

It allows you to filter and replay only the system calls you need, instead of running things as root, or granting capabilities to processes. #

seitan-cooker

builds a BPF program and a bytecode file (gluten ) from a recipe with matches on system calls and corresponding actions #

seitan-eater

loads the BPF program associated to the process context into the kernel, and runs the target process. Container engines such as Podman can directly load this program via OCI annotations instead #

seitan

is the supervisor, getting notifications via

seccomp_unotify

, interpreting them according togluten , and triggering the configured actions as a result

Note that this project and its documentation still have some rough edges! No versions, no packages yet.

Do you want to know more?

Watch the demosbelow, ask your questions on the users'

list,

chatwith us.

Do you want to contribute?

Send patches to the development list...

and chatwith us!

Demo: handle and impersonate connect() of a target process in several ways #

connect() of a target process in several ways

Demo: issue mknod() on behalf of a Podman container #

mknod() on behalf of a Podman container

── more in #developer-tools 4 stories · sorted by recency
── more on @seitan 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/seitan-syscall-expre…] indexed:0 read:1min 2026-11-04 · —