Kernel-level agent forensics

Know what your AI agents actually did.

agentrec is a flight recorder for AI agents. Every file, command and network connection — captured with eBPF and attributed to the exact tool call that caused it. No SDK, no code changes, no trusting what the agent reports.

~6.5µsper recorded event
0lines of agent code changed
8kernel probes, one node agent
agentrec · session prod-agent REC
$ agentrec trace --session prod-agent -- ./coding-agent probes attached on Linux 6.8.0 (BTF) · recording   [4] agent tool call: bash: check CI configuration +917ms ├─ cat /root/.aws/credentials pid 20609 ! open /root/.aws/credentials ← credential ├─ cat /root/.npmrc pid 20610 ! open /root/.npmrc ← credential └─ curl --unix-socket /var/run/docker.sock … ! connect /var/run/docker.sock ← runtime control
findings ! credential file read /root/.aws/credentials ! container runtime socket /var/run/docker.sock
Built on open kernel standards
eBPF / CO-RE Linux 5.8+ Kubernetes OpenTelemetry BPF-LSM
The blind spot

Everything guarding AI agents watches the API. Nothing watches the machine.

Prompt firewalls and LLM gateways see the same thing: text going to and from a model. They cannot see the process that read your credentials, opened a socket to the Docker daemon, or piped a script off the internet into a shell.

What the agent reported
tool_call: bash → "check CI configuration"

Approved in a glance. Self-reported by the agent, at the abstraction it chose to show you. This is all an API-layer tool can ever see.

What the kernel saw
  • !read /root/.aws/credentials
  • !read /root/.npmrc
  • !connect /var/run/docker.sock
  • !connect api.github.com:443

The same tool call. The gap between these two panels is exactly what a breach lives in — and exactly what agentrec records.

How it works

Intent from the agent. Consequence from the kernel. Joined.

A single node agent attaches to the kernel with eBPF. The AI agent declares each tool call; the kernel records every syscall it triggers. agentrec joins the two into one attributed record.

STEP 01

Agent declares intent

A one-line hook — a Claude Code PreToolUse hook or MCP interceptor — announces each tool call before it runs. No rewrite of the agent.

in: "bash: npm install"
STEP 02

Kernel records consequence

eBPF tracepoints capture the full process tree, every exec with its argv, file access, deletions, and network egress — including the Docker socket.

sees: fork · exec · open · connect
STEP 03

Attributed to the call

Every syscall is tied back to the tool call that caused it — through shells, package managers and thread pools — then scored for findings and exported.

out: replayable, keyed timeline
The moat

Attribution is the hard part — and the defensible one

Collecting syscalls is well-trodden. Joining them to agent intent is not. agentrec keeps a kernel-side pid → {session, tool_call} map that propagates on every fork, so a tag set on the agent survives exec, nested shells and interpreter chains. Work that outlives the call that started it stays attributed to the right call — because attribution follows process lineage, not wall-clock. The value isn't the events. It's the causality.

The product

A complete, unforgeable record of autonomous work.

Everything an agent touched, in a form a security reviewer can actually read — and an auditor can trust.

Flight recorder

A diff-able timeline of every process, file, command and connection — grouped under the tool call that caused it. Replay any session after the fact.

exec · open · unlink · connect

Findings, ranked

Credential reads, container-runtime sockets, curl | sh, privilege escalation and destructive deletes surface automatically, most-severe first.

severity-scored, low false positives

Egress map

Every destination the agent reached, deduplicated and counted — so a quiet exfil to an unfamiliar host stands out from routine package traffic.

IPv4 / IPv6 / unix sockets

Enforcement

Move from record to block. BPF-LSM policy denies a forbidden action at the kernel hook — before the file opens or the socket connects — with a clean error the agent can react to.

roadmap · opt-in per policy

Evidence export

Structured JSON and per-event JSONL out of the box, OTLP to your existing stack. Immutable session records built for SOC 2 and internal audit.

OTLP · JSON · JSONL

Zero instrumentation

One DaemonSet per node. No SDK, no sidecar in the agent, no code changes. Works across vendors — because it reads the kernel, not the agent's own logs.

vendor-neutral by construction
A real session

Read it like a story.

  • [1]
    Every call is named

    The agent's own words head each block, so you read intent and action side by side.

  • [!]
    Danger reads at a glance

    Credential reads and runtime-socket access are marked in red and lifted into the findings summary.

  • [↗]
    Background work stays attributed

    An upload that outlives the call that launched it is still filed under the right call — verified against concurrency and ten levels of nesting.

agentrec · session demo · 6 tool calls · 305 events
[2] bash: npm install lodash +2ms ├─ curl …registry.npmjs.org/lodash pid 20592 connect 198.18.0.60:443 └─ mkdir -p node_modules/lodash pid 20595   [4] bash: check CI configuration +917ms ├─ cat /root/.aws/credentials pid 20609 ! open /root/.aws/credentials ← credential └─ curl --unix-socket /var/run/docker.sock ! connect /var/run/docker.sock ← runtime control   [5] bash: clean up build artifacts +1.407s └─ rm -f /work/project/tmp.log pid 20620 * unlink deleted /work/project/tmp.log
findings ! credential file read /root/.aws/credentials ! container runtime socket /var/run/docker.sock * file deleted /work/project/tmp.log   network egress 3 destinations
Where it runs

Wherever agents run unsupervised.

The fear isn't a bad prompt. It's an autonomous process with real credentials and real network access, doing real work with nobody watching. That's Linux — and that's where agentrec lives.

CI / CD runners

Agents in the build

A coding agent on a runner has your registry tokens, cloud keys and push access. When it runs npm install, what did the postinstall scripts actually reach for?

per-node · ephemeral sessions · CI evidence
Cloud dev environments

Remote agent sandboxes

Codespaces, remote workspaces, hosted agents. They need credentials to do useful work — so isolation alone can't tell you what happened inside.

per-seat · integrates with your sandbox
Production agents

Agents with a shell

An agent handling tickets, ops or data with tool access is a live process on your infrastructure. You need an unforgeable record of every action it takes.

per-node · continuous · compliance-grade
Why agentrec

The only record that isn't self-reported.

Prompt firewalls read text. Workload security watches containers, not agent tool calls. Platform audit logs say what the agent claims. agentrec records what the kernel saw — independently.

Capability Prompt firewalls / gateways Runtime / workload security Platform audit logs agentrec
Sees actual syscalls, not just text
Attributed to the agent's tool call partial workload only partial to the call
Independent of the agent's own report self-reported unforgeable
Vendor-neutral across agent frameworks partial one vendor
No code changes to the agent
Built for agent sessions, not pods
Measured, not asserted

Low enough to leave on.

Numbers from a 6.8 kernel. A realistic agent session is a few hundred events over several seconds — well below anything a user would feel.

6.5µsper recorded eventThe marginal cost of one attributed syscall reaching userspace.
0events droppedIn-kernel ring buffer sized so a burst never loses a record.
<1sattach + self-verifyLoads, verifies, attaches, and proves the pipeline end-to-end before recording.
Linux 5.8+CO-RE portableTracepoints only — no fragile kernel-struct offsets to maintain.
For investors

A new security primitive, arriving exactly on time.

Enterprises are shipping autonomous agents into places that hold real credentials. The category that records and controls what those agents do at the machine level does not yet have an owner.

01 Budget that exists, unspent

This lands in security and compliance, not dev tools. Every enterprise rolling out agentic coding has a team writing agent policy with no enforcement and no evidence. Audit is already asking "what did it do" — and the honest answer today is "we don't know."

02 A wedge with a clear expansion

Start read-only: audit and evidence, easy to approve, zero blast radius. Turn on enforcement once the data is trusted. Then become the control plane for agent authorization — the durable, high-value position.

03 A demo that sells itself

Point it at a real agent session and show the timeline: every file, command and destination, keyed to intent. Buyers have never seen this and understand it instantly.

04 A moat competitors can't shortcut

The value is attribution to intent, not collection. That requires correct causality across a live process tree — the part that's genuinely hard, and can't be casually cloned from open-source collectors.

What could kill it — and the defense
Platform vendors ship native agent audit logs
A vendor's log is self-reported — what the agent claims it did. A kernel record is what actually happened, including everything outside the agent's own tool abstraction. Independent, unforgeable, cross-vendor is the whole pitch.
Developer laptops are macOS, where eBPF doesn't exist
Scope v1 to CI runners, cloud dev environments and production agents — all Linux, all where agents run unsupervised, which is where the fear actually is. Laptops are a later, separate collector.
Ephemeral sandboxes solve isolation
Sandboxes give prevention without evidence — they can't tell you what happened inside, and useful agents need real credentials and network. Complementary, not competing: "we integrate with your sandbox and tell you what happened inside it."
Pricing

Start with evidence. Grow into control.

Clean, deployment-based pricing. Read-only recording is easy to approve; enforcement and compliance tiers are where the depth lives.

Recorder

$0.10 / node⁠·⁠hr

Attributed recording and findings for CI runners and dev environments.

  • Full attributed timeline
  • Automatic findings + egress map
  • JSON / JSONL / OTLP export
  • 7-day session retention
Start free trial

Control

$0.30 / node⁠·⁠hr

Everything in Recorder, plus kernel-enforced policy for production agents.

  • BPF-LSM enforcement
  • Policy library + custom rules
  • Real-time alerts & webhooks
  • 90-day retention · SSO
Request access

Compliance

Custom

Immutable evidence and audit workflows for regulated teams at scale.

  • Tamper-evident evidence store
  • SOC 2 / audit export packs
  • Air-gapped / self-hosted
  • Design-partner support
Talk to us
Design-partner program open

See what your agents did last night.

We're onboarding a small group of teams running agents in CI and production. Bring one real agent workload; we'll show you a recording of it within a week.

Linux · eBPF · no code changes · runs in your environment