eBPF Verifier Repair

Repairs eBPF verifier rejections from the raw verbose load log, proof-first

Tested · Works

Test report

Verdict
Tested · Works
Score
9.2/10
Tested
Jul 30, 2026
Environment
Claude Code 2.x (agent harness)
Upstream re-checked
Jul 30, 2026 · d630d24

This skill is no longer available upstream. Our re-check on Aug 10, 2026 couldn't find it any more (repo unreachable/deleted). The test below is what we measured on Jul 30, 2026 and we're leaving it up as a record — but there is nothing left to install, so we've removed the command.

Tested against the repo's own benchmark case packet_checked_wrong_base_001, reading only the buggy source and the verifier log. Without the skill the obvious repair is to widen the guard from data+14 to data+15, which silences the error and keeps the wrong-header read; the case README calls that out as the wrong answer and the bundled test would fail its 14-byte-frame check. Following the skill's raw-log-triage and Bounds rules produced the maintainer's fixed.bpf.c almost verbatim - typed ethhdr base, guard on the same pointer that is later used - and passed all three of the bench oracle's source predicates that the baseline failed 0-for-3. The bundled extract_verifier_failure.py also ran clean on a real 3.2KB log, slicing the libbpf preamble down to the actual PROG LOAD region. The bpfix binary itself is optional and never needed for this path, but the clone pulls about 200MB.

Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works

  • Installs cleanly 5/5
  • Triggers reliably 5/5
  • Output vs. baseline 9/10
  • Docs & honesty 4/5

What eBPF Verifier Repair does

A repair workflow for eBPF programs the kernel verifier refuses to load: it reads the verbose verifier log, maps the rejected instruction back to the value that lost the required proof, and makes the smallest source change that restores it without altering program semantics. Covers packet bounds, nullable pointers, uninitialized stack, reference lifetime, scalar range and pointer provenance across libbpf C, Rust/Aya, libbpf-rs and BCC. Triggers on verifier errors, -EACCES load failures, BPFix diagnostics and CI load logs.

How to install eBPF Verifier Repair

Nothing to install: the source repository no longer has this skill. If the author brings it back, our daily re-check will pick it up and the command will reappear here.

Commands — how to trigger eBPF Verifier Repair

  • /ebpf-verifier-repair Repairs eBPF verifier rejections from the raw verbose load log, proof-first

It also activates on plain-language prompts like these:

  • My XDP program won't load, verifier says R1 offset is outside of the packet
  • libbpf gives -EACCES on prog load, here's the verbose verifier log, fix it
  • Aya program rejected with "Unreleased reference id=2", help me repair it

Frequently asked questions

Is the eBPF Verifier Repair skill free?
Yes. The skill itself is free from eunomia-bpf/bpfix. SkillProof publishes the install command and an independent test verdict at no cost.
Does eBPF Verifier Repair work with Claude Code?
We tested it with Claude Code 2.x (agent harness) on Jul 30, 2026. Verdict: Tested · Works. Tested against the repo's own benchmark case packet_checked_wrong_base_001, reading only the buggy source and the verifier log. Without the skill the obvious repair is to widen the guard from data+14 to data+15, which silences the error and keeps the wrong-header read; the case README calls that out as the wrong answer and the bundled test would fail its 14-byte-frame check. Following the skill's raw-log-triage and Bounds rules produced the maintainer's fixed.bpf.c almost verbatim - typed ethhdr base, guard on the same pointer that is later used - and passed all three of the bench oracle's source predicates that the baseline failed 0-for-3. The bundled extract_verifier_failure.py also ran clean on a real 3.2KB log, slicing the libbpf preamble down to the actual PROG LOAD region. The bpfix binary itself is optional and never needed for this path, but the clone pulls about 200MB.
What is the eBPF Verifier Repair SkillProof Score?
9.2/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 9/10, docs & honesty 4/5.
How do I install eBPF Verifier Repair?
Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
Can I use eBPF Verifier Repair with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.