ActPlane
ActPlane is an eBPF-based policy engine that enforces information-flow policies for AI agent harnesses at the OS kernel level. It provides deterministic runtime enforcement and observability, solving the problem of probabilistic prompt constraints and bypassable tool-layer guards. It is for developers building or using AI agent harnesses that need fine-grained, lineage-aware control over agent actions.
✨ Key features
- Kernel-level enforcement via eBPF, covering exec, file, and network operations.
- Process-lineage-aware rules that follow subprocess trees across any tool path.
- Data-flow constraints tracking labels across fork/exec and file read/write edges.
- Causal ordering with 'since' clauses for temporal rules like test-before-commit.
- Corrective feedback to agents via hooks and MCP, not just blocking.
- Prebuilt CO-RE eBPF object, no clang/llvm/libbpf required at runtime.
🎯 Use cases
- Enforce sandboxing rules like
no git push or writes outside /srcfor an AI coding agent. - Prevent deletion of build cache unless explicitly asked, with bypassable conditions.
- Notify agents when schema changes require regenerating code or updating docs.
- Require running tests before committing, with staleness tracking on file edits.
- Confine sub-agents or untrusted commands to read-only or no-network domains.
📦 Installation
🧰 Requirements: Linux kernel 5.10+ with BTF (/sys/kernel/btf/vmlinux); full runtime requires 6.1+; root or CAP_BPF+CAP_SYS_ADMIN for run/watch; Rust toolchain for installation.
cargo install actplane
To build from source:
git clone --recurse-submodules https://github.com/eunomia-bpf/ActPlane
cd ActPlane
cargo build --release -p actplane
🚀 Usage
actplane init # write a starter actplane.yaml
actplane compile # validate rules (no privileges)
actplane doctor # diagnose hooks, MCP, kernel support
codex # MCP auto-attach tries passwordless sudo
sudo -E actplane run claude -p "review this repo"
⚠️ Good to know
Linux 5.10-6.0 supports only static exec/file/IPv4 policies with file suffixes up to 16 bytes; attach is post-hoc and does not reconstruct history before attach; requires root or specific capabilities for run/watch.
❓ FAQ
What Linux kernel versions are supported?
Linux 5.10+ with BTF is required. Linux 5.10-6.0 supports static exec/file/IPv4 policies with file suffixes up to 16 bytes; the full runtime requires 6.1+.
Do I need to install clang/llvm or libbpf?
No, the eBPF program ships prebuilt (CO-RE, architecture independent), so only a Rust toolchain is needed for installation.
How does ActPlane provide feedback to agents?
It integrates with agent hook systems (e.g., Codex, Claude Code) via actplane feedback-hook and also offers an MCP server to expose policy and feedback.
Can I attach ActPlane to an already-running agent?
Yes, using 'actplane attach --pid <pid>' but it is post-hoc: future events are tracked, but labels and history from before the attach are not reconstructed.
📊 Repository
🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.