eBPF Verifier Repair
Repareert eBPF-verifier-afwijzingen uit de ruwe verbose load log, proof-first
Getest · Werkt
Wat het doet
Een reparatieworkflow voor eBPF-programma's die de kernel-verifier weigert te laden: het leest de verbose verifier log, koppelt de afgewezen instructie terug aan de waarde die het vereiste bewijs verloor, en maakt de kleinste bronwijziging die het herstelt zonder de programmasemantiek te wijzigen. Behandelt pakketgrenzen, nullable pointers, ongeïnitialiseerde stack, referentielevensduur, scalaire bereik en pointer provenance over libbpf C, Rust/Aya, libbpf-rs en BCC. Activeert bij verifier-fouten, -EACCES laadfouten, BPFix-diagnostiek en CI load logs.
Testrapport
Getest tegen de repo's eigen benchmarkcase packet_checked_wrong_base_001, waarbij alleen de buggy bron en de verifier log werden gelezen. Zonder de skill is de voor de hand liggende reparatie om de guard te verbreden van data+14 naar data+15, wat de fout stilzet en de verkeerde header-lees behoudt; de README van de case noemt dat het verkeerde antwoord en de gebundelde test zou falen op de 14-byte-frame controle. Het volgen van de raw-log-triage en Bounds-regels van de skill produceerde de maintainer's fixed.bpf.c bijna woordelijk - getypte ethhdr base, guard op dezelfde pointer die later wordt gebruikt - en slaagde voor alle drie de bronpredicaten van de bench oracle waar de baseline 0-uit-3 faalde. De gebundelde extract_verifier_failure.py draaide ook schoon op een echte 3.2KB log, waarbij de libbpf-preamble werd teruggebracht tot de daadwerkelijke PROG LOAD-regio. De bpfix-binary zelf is optioneel en nooit nodig voor dit pad, maar de kloon trekt ongeveer 200MB.
Getest op: 2026-07-30 · Claude Code 2.x (agent harness)
Installatie
git clone --depth 1 https://github.com/eunomia-bpf/bpfix.git mkdir -p ~/.claude/skills cd bpfix && cp -r skills/ebpf-verifier-repair ~/.claude/skills/ebpf-verifier-repair
Commando's en voorbeeldprompts
/ebpf-verifier-repairRepareert eBPF-verifier-afwijzingen uit de ruwe verbose load log, proof-first
Skills reageren op gewone verzoeken — geen commando's om te onthouden. Na installatie activeren prompts zoals deze de skill (in het Engels):
My XDP program won't load, verifier says R1 offset is outside of the packetlibbpf gives -EACCES on prog load, here's the verbose verifier log, fix itAya program rejected with "Unreleased reference id=2", help me repair it