Skill
Regression Hunt
Adjudicate evidence
Input: candidate, frozen sources, available reproduction/replay packages and registry assignment.
Install
/plugin install trailofbits/skills/plugins/regression-hunt Run in Claude Code to add the Regression Hunt plugin, then enable this skill.
When to Use
Input: candidate, frozen sources, available reproduction/replay packages and registry assignment. Use a fresh context distinct from the reproducer and replayer. Early exclusions may lack experiments. Follow project guidance before target work.
When NOT to Use
Producing missing evidence; return the gap to the caller.
Decide
- Read the standard, labels and file contract. Verify seals. Inspect source, setup, PoC, actual logs and security assumptions, not only summaries.
- Identify the claimed defect and assess whether the change introduced it. Rule out incomplete fixes, latent/pre-existing bugs, intentional changes, unsupported expectations and unreachable scenarios with cited evidence. Establish attacker access and applicable protections for security findings.
- Confirm only when reproduction and independent replay ran the same PoC/input against live S0/S1 through real interfaces, showing correct behavior before and failure afterward. Explain supported behavior, reachability and patch causality. Assign severity/likelihood with reasons.
- Otherwise select an evidenced exclusion or
UNRESOLVED; state what remains unproved. ForUNRESOLVED, put the standard's concise paragraph separating observed gaps, plausible explanations and resolving checks inreasonso reports retain it. Incomplete fixes and existing bugs stay outside regression totals. Check known findings/issues/PRs before claiming novelty; report unknown if unavailable. - For requested deduplication, establish whether supplied candidates share a root cause. Preserve change mappings; never deduplicate unresolved claims into confirmation.
- Write and seal
decision.json; cite evidence for every conclusion. Record any blocker preventing adjudication.
Report Back
Keep detailed reasoning in the sealed package. Return only:
- Status:
completeorblocked, matching the record. - Record: sealed
decision.jsonpath, or why none was produced. - Result: outcome and one-sentence reason.
- Gap: missing evidence or required caller action, if any.
A completed decision may be UNRESOLVED; task status and finding outcome differ.
Rationalizations to Reject
- “S0 passes and S1 fails”: exposing an existing defect is a latent bug.
More in Regression Hunt
- Discover candidates Input: sealed preparation, frozen S0/S1, change context and registry assignment.
- Prepare a change Input: PR URL or repository plus commit/range, and registry assignment.
- Coordinate a regression hunt Investigate supplied PRs of any status or commits, including local commits.
- Independently replay a PoC Input: candidate, frozen source records, complete sealed reproduction package and registry assignment.
- Report a campaign Input: frozen scope.json, campaign index, progress ledger, sealed stage packages and registry assignment.
- Reproduce a candidate Input: sealed preparation/discovery packages, candidate and registry assignment.