AegisBPF – Deterministic Runtime Enforcement via eBPF LSM
AegisBPF – Deterministic Runtime Enforcement via eBPF LSM
I built AegisBPF to explore deterministic runtime enforcement using BPF-LSM instead of the traditional detect-and-alert model common in eBPF security tooling. Most eBPF-based runtime security systems observe events (tracepoints/kprobes) and alert asynchronously. Aegis attaches to Linux Security Module (LSM) hooks such as: file_open inode_permission bprm_check_security socket_connect / socket_bind This allows operations to be denied synchronously before the syscall completes. Core ideas: Inode-first file enforcement (stable across renames) Dual-stack IPv4/IPv6 network deny rules enforced in-kernel Explicit enforce vs audit posture contract Capability-aware fail-closed mode Structured state transitions (ENFORCE / AUDIT_FALLBACK / DEGRADED) Performance (example baseline, 200k ops): ~2–3% p95 overhead on open ~0.5–1% overhead on connect O(1) map lookups regardless of rule count The project includes: Signed policy bundles (Ed25519) Capability/posture reporting Kernel compatibility matrix CI Documented threat model and TOCTOU analysis I wrote two technical deep dives explaining the design rationale: Part 1 – Synchronous Kernel-Level Denial via eBPF-LSM https://medium.com/@erenari27/part-1-synchronous-kernel-leve... Part 2 – Deterministic Enforcement Contracts & Posture Semantics https://medium.com/@erenari27/part-2-deterministic-enforceme... Happy to discuss hook selection tradeoffs, verifier constraints, seccomp vs LSM, Landlock comparisons, or enforcement failure modes.
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Correct prediction on native model
Similar products
A container runtime implemented in x86_64 assembly
Subverting Go's Runtime System
Toggle Methods and Endpoints at Runtime
Mixing C++ with Angelscript for runtime introspection and debugging
Restate, a Distributed Async Runtime
Kern – container and resource runtime in a 1.5 MB binary, no daemon
Cadenya – An Agent Runtime
TinyGo interoperability with Arduino-based WebAssembly runtime
Jetpack, a FreeBSD Jail/ZFS-based container runtime
Objection – runtime mobile exploration