16 competitors — 95 case hits across 351 audited cases
| # | Competitor | Size | Detect | det+½ | Hits/Elig | Partial | False pos | Precision | FP/case | Other real | Cost/case | Latency | Tokens/case | Cases |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | gpt-5.6-sol/codex ★ | large | 68% 3 passes, de-duped | 70% | 15/22 | 1 | 15 | 73% | 0.68 | 18 | $0.00 | 352s | 0 | 22 |
| 2 | gpt-5.6-sol/api | large | 41% 3 passes, de-duped | 45% | 9/22 | 2 | 24 | 69% | 1.09 | 42 | $8.02 | 584s | 1.5M | 22 |
| 3 | opus-4.8/api ★ | large | 36% 3 passes, de-duped | 36% | 8/22 | — | — | 100% | 0.00 | 13 | $6.43 | 272s | 1.2M | 22 |
| 4 | gpt-5.5 | large | 36% 3 passes, de-duped | 41% | 8/22 | 2 | 23 | 67% | 1.05 | 34 | $3.77 | 504s | 2.4M | 22 |
| 5 | mimo-v2.5-pro | large | 35% 3 passes, de-duped | 38% | 7/20 | 1 | 3 | 91% | 0.14 | 22 | $0.44 | 1520s | 2.2M | 22 |
| 6 | opus-4.8/claude-code† | large | 32% 3 passes, de-duped † | 34% | 6/19 | 1 | 3 | 84% | 0.14 | 9 | $2.47 | 395s | 1.6M | 21 |
| 7 | glm-5.2 | large | 30% 3 passes, de-duped | 32% | 6/20 | 1 | 2 | 92% | 0.09 | 16 | $0.96 | 941s | 1.5M | 22 |
| 8 | deepseek-v4-pro | large | 27% 3 passes, de-duped | 34% | 6/22 | 3 | 15 | 62% | 0.68 | 16 | $0.99 | 738s | 2.4M | 22 |
| 9 | gemma4-31b | small | 24% 3 passes, de-duped | 29% | 5/21 | 2 | 12 | 67% | 0.55 | 18 | $0.00 | 3454s | 934k | 22 |
| 10 | qwen3.6-27b | small | 23% 3 passes, de-duped | 30% | 5/22 | 3 | 13 | 59% | 0.59 | 13 | $0.00 | 2804s | 1.8M | 22 |
| 11 | minimax-m3 | large | 23% 3 passes, de-duped | 25% | 5/22 | 1 | 11 | 59% | 0.50 | 10 | $0.71 | 839s | 2.2M | 22 |
| 12 | qwen3.7-max | large | 20% 3 passes, de-duped | 25% | 4/20 | 2 | 9 | 69% | 0.41 | 14 | $1.22 | 1027s | 1.8M | 22 |
| 13 | gemma4-12b-think | small | 18% 3 passes, de-duped | 25% | 4/22 | 3 | 26 | 28% | 1.18 | 6 | $0.00 | 2203s | 1.3M | 22 |
| 14 | deepseek-v4-flash | medium | 16% 3 passes, de-duped | 18% | 3/19 | 1 | 7 | 56% | 0.32 | 3 | $0.36 | 453s | 2.5M | 22 |
| 15 | laguna-s-2.1 | small | 9% 3 passes, de-duped | 9% | 2/22 | — | 7 | 36% | 0.32 | 2 | $0.23 | 1050s | 2.2M | 22 |
| 16 | gemma4-12b-nothink ★ | small | 9% 3 passes, de-duped | 9% | 2/22 | — | 31 | 16% | 1.41 | 3 | $0.00 | 101s | 261k | 22 |
Every count below is de-duped across the --repeat passes — the same bug (or the same false positive) reported in several passes is counted once, never once per pass. This is the point of multipass scanning: more bites at the apple to find a bug, without inflating the tally. Detect = distinct cases HIT in any pass / eligible cases (hits + partials + genuine misses); undetermined, refused and auth/infra-excluded cases are out of the denominator. Partial = distinct cases localized to the right spot but judged a different bug — right place, wrong bug; an eligible non-hit that never moves Detect or the ranking, but still points a human at the vulnerable line. False pos = absolute distinct confirmed false positives — the human-time-wasted number, to weigh against the bugs found. Precision = true / (true + false positives). Other real = confirmed real bugs that are not the planted target CVE (extra capability, not counted as detection). det+½ = (hits + 0.5·partials) / eligible, informational. Cost/latency are the competitor's own spend per audited case. ★ = on a Pareto frontier below.
This run used repeated trials (--repeat). Detect and every finding count are the de-duped union across passes (best-of-N pooled), not a per-trial mean — hover a Hits/Elig cell for the per-trial spread. In the per-case matrix, a HIT marked n/N was found in only n of N trials (flaky). See bench noise for the full per-trial breakdown.
† Partial coverage: this competitor completed fewer than the full 22 cases (see the Cases column). Its detection rate is therefore based on fewer audited cases and is not directly rank-comparable with full-corpus competitors — read it alongside the Cases count, not the rank.
Quality = detection rate x precision (precision treated as 1.0 when a competitor reported no scorable findings). Green points are non-dominated — no other competitor is at least as good on quality while also cheaper/faster. Size is shown in the table; it is categorical, so it is not used as a numeric Pareto axis.
Mean total tokens (prompt + completion, with the ReAct loop's resent context counted each turn) per audited case; the trailing number is mean latency/case. Bars are linear, so brute-force models dwarf frugal ones. Data-quality caveat: these are the tokens the provider's API reported — some OpenAI-compatible endpoints under-report usage (a near-zero bar with input ≈ output is the tell), so a suspiciously short bar may mean broken metering rather than a frugal model, and that competitor's cost/case is then an underestimate.
| Competitor | CVE-2026-27654 | CVE-2026-32316 | CVE-2026-33721 | CVE-2026-5199 | CVE-2026-5446 | CVE-2026-5447 | CVE-2026-5448 | CVE-2026-5466 | CVE-2026-5477 | CVE-2026-5479 | CVE-2026-5500 | CVE-2026-5501 | CVE-2026-7474 | GHSA-9f49-8x56-jmjc | GHSA-cc7p-2j3x-x7xf | GHSA-chgx-jx3p-rf73 | GHSA-crr4-7rm4-8gpw | GHSA-f26g-jm89-4g65 | GHSA-j273-m5qq-6825 | GHSA-mpxh-8fq3-x8mh | GHSA-w52v-v783-gw97 | GHSA-x9h5-r9v2-vcww |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| gpt-5.6-sol/codex | miss | HIT 2/3 | HIT | miss | miss | miss | miss | miss | HIT 2/3 | HIT 2/3 | HIT 1/3 | HIT | HIT | HIT 2/3 | part | HIT 2/3 | HIT | HIT 2/3 | HIT 2/3 | HIT | HIT | HIT 2/3 |
| gpt-5.6-sol/api | miss | HIT | HIT 1/3 | miss | miss | miss | miss | HIT 1/3 | miss | miss | part | HIT 1/3 | HIT 2/3 | miss | part | miss | HIT | HIT | HIT 1/3 | miss | HIT | miss |
| opus-4.8/api | miss | HIT 1/3 | HIT | miss | miss | HIT 1/3 | HIT 1/3 | miss | miss | miss | miss | miss | HIT 1/3 | miss | miss | miss | miss | miss | HIT 1/3 | HIT 2/3 | HIT | miss |
| gpt-5.5 | miss | HIT | HIT 1/3 | HIT 2/3 | miss | miss | miss | miss | miss | miss | miss | HIT 2/3 | HIT 1/3 | miss | miss | part | part | HIT | HIT 2/3 | miss | HIT | miss |
| mimo-v2.5-pro | miss | jerr | jerr | miss | miss | miss | HIT 1/3 | miss | miss | miss | miss | miss | HIT 2/3 | HIT 1/3 | miss | miss | part | HIT | HIT 1/3 | HIT 1/2 | HIT 2/3 | miss |
| opus-4.8/claude-code | miss | jerr | jerr | miss | miss | excl | miss | miss | miss | miss | miss | miss | HIT 2/3 | miss | miss | miss | part | HIT 1/3 | HIT | HIT 1/3 | HIT | HIT 1/3 |
| glm-5.2 | miss | jerr | jerr | miss | miss | miss | HIT 1/3 | miss | miss | miss | miss | miss | HIT | HIT 1/3 | miss | miss | part | HIT | HIT 1/3 | miss | HIT | miss |
| deepseek-v4-pro | miss | HIT 1/3 | HIT 2/3 | miss | miss | miss | part | miss | miss | miss | miss | miss | HIT 2/3 | miss | miss | part | part | HIT 1/2 | HIT 1/3 | miss | HIT | miss |
| gemma4-31b | miss | jerr | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | HIT 1/3 | miss | part | part | HIT 1/3 | HIT 1/3 | HIT 2/3 | miss | HIT 2/3 | miss |
| qwen3.6-27b | miss | HIT | HIT 2/3 | miss | miss | miss | part | miss | miss | miss | miss | miss | miss | miss | miss | part | part | HIT | HIT | miss | HIT | miss |
| minimax-m3 | miss | HIT 1/3 | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | HIT 1/3 | miss | miss | miss | part | HIT 2/3 | HIT | miss | HIT | miss |
| qwen3.7-max | miss | jerr | jerr | miss | miss | miss | part | miss | miss | miss | miss | miss | HIT 2/3 | miss | miss | miss | part | HIT | HIT 1/3 | miss | HIT | miss |
| gemma4-12b-think | miss | HIT 1/3 | miss | HIT 1/3 | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | part | part | part | miss | HIT 1/3 | miss | HIT 2/3 | miss |
| deepseek-v4-flash | miss | jerr | miss | miss | miss | miss | jerr | miss | miss | miss | miss | miss | jerr | miss | miss | part | miss | HIT 2/3 | HIT | miss | HIT | miss |
| laguna-s-2.1 | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | HIT 1/3 | miss | miss | HIT 2/3 | miss |
| gemma4-12b-nothink | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | miss | HIT 2/3 | miss | HIT | miss |
HIT = detected; part = right spot, wrong bug (half credit, eligible non-hit); miss = looked, found nothing; jerr = judge undetermined (out of denominator); refu = model refused the task (out of denominator, never a miss); excl = auth/infra failure (never a miss); · = not run. A HIT marked n/N was found in only n of N trials (flaky); a bare HIT was found in every trial.