An autonomous, looping, multi-altitude security vulnerability hunt for a codebase, packaged as a Claude Code skill. It replaces the model's default "single pass, summarize, stop" behaviour with an explicit search procedure: traverse every altitude, generate candidates, adversarially verify them from raw source, run isolated parallel reasoners, and keep a persistent ledger so each loop is net-new coverage instead of rediscovery. In practice it finds far more real bugs than a one-shot scan — the "Karpathy auto-research" methodology.

It triggers whenever you point Claude at source code and want vulnerabilities found — "audit this", "find every bug", "security-review it", "find anything exploitable".

Install

As a plugin — no clone needed. Add the marketplace and install; Claude Code fetches it for you:

/plugin marketplace add dinosn/raptor-loop-hunt
/plugin install raptor-loop-hunt@raptor

Then /reload-plugins (or restart). The skill auto-triggers on audit requests, or invoke it directly.

Or drop it in as a personal skill — clone into your Claude Code skills directory and it is discovered automatically on the next session:

git clone https://github.com/dinosn/raptor-loop-hunt ~/.claude/skills/raptor-loop-hunt

Use

Invoke it explicitly:

/raptor-loop-hunt

…or just describe an audit task ("audit ./src for security", "find every exploitable bug in this service") and the skill triggers on its own. Point it at a repo, a service, a module, or a directory.

What it does

  • Multi-altitude generate → judge → verify loop. Candidates are generated at every altitude (whole-system down to a single function), then adversarially judged and verified from raw source — never from the generator's own summary.
  • Isolated parallel reasoners so independent findings don't contaminate one another.
  • Monotonic-scrutiny knowledge base (raptor-loop-kb) that can only ever raise scrutiny across runs, never lower it — each loop is net-new coverage rather than rediscovery.
  • Disposition ledger (raptor-loop-ledger) — an engagement-scoped state machine that certifies every disposition transition (confirm / reject / downgrade / sweep) against an evidence receipt, so a real bug can't be quietly rejected and a severe finding can't be laundered down to Low.
  • Execution-auth broker (raptor-loop-exec) — a live-PoC command runs only under a typed, least-privilege capability grant.
  • Eval trap battery (eval/) — 11 deterministic and orchestrator-driven axes (recall, FP-resistance, false-rejection, counterfeit-evidence, coverage-honesty, severity-downgrade integrity, …).

The prompt is the program. In an agentic system the model's "algorithm" is whatever you tell it to be; this skill specifies that algorithm. The quality comes from the structure, not from any single clever instruction.

Layout

Path Purpose
SKILL.md The skill itself — methodology, altitudes, generate→judge→verify loop, severity rubric.
references/vuln-class-discovery.md Leaf-level per-class search procedure (source → sink → oracle → variants).
references/kb-schema.md Schema + storage for the monotonic-scrutiny cross-run knowledge base.
references/ledger-schema.md Schema + the disposition-time transition gate (candidate ledger + evidence receipts).
scripts/raptor-loop-kb Deterministic cross-run KB helper (can only ever raise hunt scrutiny).
scripts/raptor-loop-ledger Candidate state machine — certifies each disposition against an evidence receipt.
scripts/raptor-loop-exec Execution-auth broker — least-privilege sandbox plan for live PoCs.
scripts/test-* Self-contained tests (no network, no external imports).
eval/ The 11-axis trap battery.

The scripts are pure-stdlib Python and self-contained; the execution broker will optionally use a host RAPTOR checkout's sandbox when one is present (RAPTOR_DIR), and refuses to run live commands otherwise.

Track record

So far: 200+ verified vulnerabilities across 40+ real-world codebases (Dec 2025 – Jul 2026).

Run against C network daemons, message brokers, routing stacks, web apps, language runtimes, and media libraries, the skill has surfaced original, verified vulnerabilities across most of them. Findings are listed by title and class only; exploit mechanics and PoCs are withheld, and outcomes are stated at their true strength (a proven DoS is not called an RCE; unweaponized primitives are labelled as such). All have been reported to or communicated with the respective vendor / maintainer.

Original findings

Target Highest verified outcome Class Status
memcached pre-auth heap buffer overflow, default config, client-reachable memory-corruption Fixed upstream, finder credited
Immich unauth restore endpoint → OS-command-exec RCE (container-root) + broken-authorization / IDOR cluster authz / command-exec Disclosed
RustDesk (client + server) malicious-host file-transfer path-traversal → RCE on controller; secure-channel / persistent-ID-hijack primitives path-traversal / crypto Reported
Samba 4.25 (master) 2× pre-auth memory-corruption crash (DNS TSIG underflow; LDAP type-confusion) — DoS-grade memory-corruption Reported
Apache Kafka (trunk / 4.0.0) pre-auth secret / file disclosure + static-init RCE-class primitive authz / code-load Reported
FRR (master) pre-auth EIGRP authentication bypass + ASAN-proven FPM stack overflow auth-bypass / memory-corruption Reported
Redis (unstable / 8.8.0) pre-auth AUTH/ACL bypass + RCE-grade primitives (not weaponized to full shell) auth-bypass / memory Reported
Linux XDP zero-copy OOB over-copy in xdp_build_skb_from_zc; root RCE demonstrated on an instrumented rig memory-corruption Reported
Apache ActiveMQ 5.19.6 authenticated RCE + multiple authz-bypass / IDOR primitives (incl. a pre-auth connection-kill) authz / deser Reported
LimeSurvey 7.0.1 unauth time-based SQL injection + zip-slip → webroot RCE injection / path-traversal Reported
Apache Axis 1.x / 2 unauth deserialization RCE (lab-proven) deserialization Reported
Apache Tomcat 12 (dev) unauth blind SSRF / DNS-exfil (Medium) SSRF Reported
Quagga 1.2.3 / 1.2.4 bgpd pre-auth stack OOB write + use-after-free (DoS-confirmed) memory-corruption Reported
llama.cpp pre-auth process-crash DoS (RCE escalation hypothesized, not proven) memory-safety Reported
Fastjson 1.2.83 RCE (lab-proven) deserialization Public
Pillow 12.3.0 blind-calibration run: rediscovered a real heap-OOB write + 4 net-new ASan-confirmed bugs memory-corruption Reported

Adversarial rigor, not just recall. The judge/verify half of the loop is built to refute, so it also kills bad findings: it disproved a fabricated pre-auth RCE exploit package live, and corrected an over-stated public "ASLR bypass" down to what actually reproduces.

Public CVEs reproduced / validated

Independent labs, PoCs, and patch analysis — validations of already-public issues, not original discoveries:

ID Component Class Notes
CVE-2026-42588 / -42253 Apache ActiveMQ Jolokia → XBean RCE; header-injection / XSS reproduced end-to-end
CVE-2026-15583 Grafana MCP (mcp-grafana ≤ 0.17.1) confused-deputy SA-token exfil reproduced; fixed 0.17.2
CVE-2026-20230 Cisco CUCM 14 / 15 pre-auth SSRF → Axis 1.4 → JSP webshell reproduced (in-the-wild chain)
CVE-2026-4282 Keycloak < 26.5.7 PAR request_uri → forged OAuth code → admin token lab A/B validated
CVE-2024-21182 Oracle WebLogic 12.2.1.4 / 14.1.1 T3 / IIOP JNDI-injection RCE reproduced; public lab repo
CVE-2025-13673 Tutor LMS (WordPress) ≤ 3.9.7 unauth SQLi via coupon_code UNION exploit + Docker lab
MDEV-39493 (ZDI-CAN-30333/4) MariaDB ≤ 11.4.10 FILE-priv bypass via CTE INTO OUTFILE reproduced; fixed 11.4.11
CVE-2026-6479 PostgreSQL pre-auth SSL/GSS unbounded recursion (DoS) reproduced (needs -O0 build)
ZDI-CAN-30607 dnsmasq find_soa() out-of-bounds read ASan-confirmed + 22-site variant sweep
CVE-2026-4176 Perl Compress::Raw::Zlib ≤ 2.219 crc32_combine DoS reproduced; reachability assessed low
CVE-2026-27654 nginx (WebDAV COPY/MOVE) heap overflow reproduced; fixed 1.29.7
CVE-2026-42945 (Rift) nginx primitive-recovery chain partial; corrected the public ASLR-bypass framing
CVE-2026-35273 Oracle PeopleSoft (PSEMHUB) unauth SSRF → XXE → webshell analysis-only (JAR patch-diff)

Scope

For defensive security research, education, and authorized penetration testing only.


Oh — and RAPTOR is required. Obviously. It's right there in the name. 🦖 Go feed the bird → github.com/gadievron/raptor