TriageGuard
TriageGuard is an autonomous validator for vulnerability reports.
Core trick
Four parallel agents write structured JSON findings, and a deterministic non-LLM synthesizer maps them to a reproducible 0-100 score.
Description
TriageGuard is an autonomous validator for vulnerability reports. Drop in a report + PoC + claimed affected code; it returns a Signal-vs-Slop verdict with auditable reasoning, end to end and unattended.
The bug bounty industry is collapsing under AI-generated low-quality reports. HackerOne paused the Internet Bug Bounty program on 2026-03-27 after 13 years; curl ended its program in January; valid-submission rates at major OSS programs fell from ~15% to under 5%. The bottleneck has shifted from **discovery** to **validation** — and that is the bottleneck TriageGuard attacks.
The orchestrator (Python, Claude Agent SDK) fans out four parallel Opus 4.7 sub-agents at `xhigh` effort:
Each sub-agent writes a strict JSON artifact to `findings/{report_id}/`. A **deterministic synthesizer** (no LLM) maps the four artifacts to a 0–100 Signal Score using the rubric in `signal-score-rubric/SKILL.md`. The verdict is auditable, reproducible, and cheap. Haiku 4.5 runs a preflight digest before fan-out (~$0.0015, ~1.5s) that extracts the report's claimed bug class, locations, and evidence — surfaced in the CLI and the synthesizer narrative as a fast sanity check. The web UI streams the same artifacts via SSE.
Primary target: **wolfSSL** (~5B devices). The eval set includes two of my own published wolfSSL CVEs (CVE-2026-3849, CVE-2026-2646), plus two public curl slop reports and one live-generated slop sample.
Built by a bug-bounty researcher with 9 published CVEs across wolfSSL, Mozilla NSS, and PowerDNS. *"I helped create this crisis. TriageGuard is my contribution to solving it."*
README excerpt
# TriageGuard
**Autonomous validator for vulnerability reports.** Drop in a report
+ PoC + claimed affected code; get back a Signal-vs-Slop verdict with
reasoning in ~12 minutes.
**Demo video (3 min):** https://youtube.com/shorts/jqrxefYqbO4
> Built for the Anthropic "Built with Opus 4.7" hackathon,
> 2026-04-21 – 2026-04-28.
## Why
The bug bounty industry is collapsing under AI-generated low-quality
reports. HackerOne paused the Internet Bug Bounty program on
2026-03-27 after 13 years. Google's OSS VRP rejects AI-generated
submissions outright. curl ended its program. Valid submission rate
at major programs dropped from ~15 % to under 5 %.
The ecosystem bottleneck has shifted from **discovery** to
**validation**. TriageGuard attacks that new bottleneck.
## How it works
```mermaid
flowchart LR
INPUT["INPUT<br/>Report + PoC<br/>+ claimed code"]
ORCH["ORCHESTRATOR<br/>Python · Claude Agent SDK<br/>fan-out · fan-in<br/><i>Haiku 4.5 — glue / routing</i>"]
A["REPRODUCIBILITY<br/>build · run PoC<br/>capture trace"]
B["ROOT CAUSE<br/>read source<br/>trace data flow"]
C["DUPLICATE<br/>CVE / advisories<br/>git log"]
D["HALLUCINATION<br/>functions / APIs<br/>line refs"]
FIND["findings/{report_id}/<br/>repro.json<br/>root_cause.json<br/>duplicate.json<br/>hallucination.json"]
SYN["SYNTHESIZER<br/>weighted rubric<br/>reasoning trace<br/><i>Opus 4.7 (xhigh)</i>"]
VER["VERDICT<br/>Signal Score 0–100<br/>SIGNAL · UNCERTAIN · SLOP"]
INPUT -->