Skip to content

docs: working with non-Anthropic models - #11

Open
schenksj wants to merge 10 commits into
capitalone:mainfrom
schenksj:docs-non-anthropic-models
Open

schenksj wants to merge 10 commits into
capitalone:mainfrom
schenksj:docs-non-anthropic-models

Conversation

@schenksj

Copy link
Copy Markdown
Contributor

Adds docs/working-with-non-anthropic-models.md — how to run the VulnHunter skills on non-Anthropic models via OpenRouter, and which models actually work, grounded in a cross-model evaluation.

Contents

  • How it works — OpenRouter's Anthropic-compatible endpoint, pinning the main agent + aliases + subagents to one model, and blocking Bash for a static (not merely read-only) run, with the containment rationale for untrusted third-party/open-weight models.
  • Quick start — key handling without shell-history leakage, pre-creating the results dir + metadata VulnHunter can't collect while Bash is blocked, and the invocation that opts into a non-recommended model past the model gate.
  • Recommended models — Opus 4.8 (report quality/consistency) and GLM-5.2 (severity-weighted coverage/value), each with its evaluated weakness and the "run GLM 2–3× and union" caveat; plus the objectivity caveat (Opus adjudicated while under evaluation).
  • Completed evaluations not recommended — Kimi (noisy/slow), Nemotron (incomplete/low-precision), Gemma (failed).
  • Model criteria — baseline (1M+ context, instruction-following, reasoning, code understanding) + eval-derived discriminators (agentic subagent orchestration, long-horizon stamina, output consistency & valid citations, trust-boundary judgment & false-positive discipline).
  • Roadmap — OpenAI frontier models planned under OpenAI's trusted cyber program (separate access path), not yet evaluated; DeepSeek eval to finish.

🤖 Generated with Claude Code

Add docs/working-with-non-anthropic-models.md covering the
~/.local/bin/openrouter_claude wrapper (OpenRouter env overrides, single-model
tier pinning, read-only-by-default because Bash is omitted, Agent as the
load-bearing tool), a quick start, and the currently recommended models
(Opus 4.8 native, GLM-5.2 via OpenRouter) with the not-recommended set and the
reasons (Kimi noisy/slow, Nemotron incomplete, Gemma failed).

Documents the criteria a model must meet, grounded in the cross-model eval:
baseline (1M+ context, instruction-following, reasoning, code understanding)
plus the eval-derived discriminators (agentic subagent orchestration,
long-horizon stamina, output consistency & valid citations, trust-boundary
judgment & false-positive discipline). Notes OpenAI frontier models are planned
under OpenAI's trusted cyber program (separate access path) and not yet tested.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@schenksj
schenksj requested a review from a team as a code owner July 18, 2026 18:53
schenksj and others added 9 commits July 19, 2026 15:53
Fold in two new cross-model evaluation runs:

- Kimi K3 (moonshotai/kimi-k3): now recommended on a single run — led the
  corpus on true-positive count and cost-effectiveness with strong precision,
  and uniquely discovered two exploitable High-severity vulnerabilities no
  other model found (a dot-segment token path-prefix bypass and an ambient-
  credential scp-form clone). Caveats noted: single run, ~5.5 h, and its severe
  coverage is credit for vulns it discovered. Distinguished from the older,
  superseded Kimi k2.7-code.
- Qwen 3.7 Max (qwen/qwen3.7-max): not recommended — strong recon but the hunt
  stage mass-dismissed nearly every real finding (1 TP + 1 FP vs 37 known
  vulns, missing all five Highs) despite 40 subagents and 1,100+ tool calls;
  also self-mislabeled its model and declared the codebase "well-hardened."

Updates the TL;DR accordingly. Full data in eval_rep/EVAL_REPORT.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds Opus 5 (11th evaluated run) to the recommended-models table and TL;DR.
32 adjudicated-real findings at 0.865 precision — more than double any other
model — but $110.07/run and third place when scored only on the vulnerabilities
every model was measured against.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adds GLM-5.3 (12th evaluated run) as the new default recommendation for a
serious scan. 31 adjudicated-real findings at 0.838 precision and zero invalid
citations for $54.04 — within one finding of Opus 5 at half the cost, and first
place ahead of Opus 5 when scored only on the vulnerabilities the original
six-model field was measured against.

Also notes that GLM-5.3 does not subsume GLM-5.2 (the 5.2 runs still hold eight
vulnerabilities, including one High, that 5.3 missed) and that Opus 5 + GLM-5.3
is the highest-coverage pairing measured so far.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adds Opus 5 run 2 (13th evaluated run, $203.02): 67 adjudicated-real
findings, the first run to catch all five known High-severity
vulnerabilities, and first place on every answer key including the
original six-model one.

The more useful finding is variance. Two Opus 5 runs on identical code
overlapped only 41% — one found 67 real vulnerabilities, the other 32 —
which is worse spread than the GLM-5.2 runs that originally motivated the
ensembling advice, on a model costing 4-10x more per run. The caveat is
generalised from "GLM (and any single run)" to any single run, and now
recommends unioning different models over repeating one: Opus 5 + GLM-5.3
covers 83% of the key for $257, beating two Opus 5 runs (71% for $313).

Opus 5 also produced the most false positives of any run (16, of which 11
argue VulnHunter's own gates are weak rather than identifying
vulnerabilities), and only 4 of its 16 "High" calls survived adjudication.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Adds GLM-5.3 run 2 (14th evaluated run, $43.29): 37 adjudicated-real
findings, 4 of the 5 known Highs, and the best cost-efficiency in the
corpus at $1.17 per true positive and 0.855 findings per dollar.

With three models now run more than once, run-to-run inconsistency is the
strongest signal in the evaluation and is promoted accordingly: GLM-5.3
overlapped 31% with itself, Opus 5 41%, GLM-5.2 46%. The guidance is now
explicit that unioning two cheap runs beats one expensive run per dollar
(two GLM-5.3 runs: 52 reals for $97; one weak Opus 5 run: 32 for $110),
with a table of measured combinations.

Note: this run executed in a separate checkout pinned to an older commit,
so it was adjudicated against that commit's source; its recall is mildly
understated. Detail in the eval report addendum.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
One run at $10.79 / 40 min: 6 findings, all 6 adjudicated real, zero false
positives and zero invalid citations — but 5.8% recall against the 104-vuln
key, and every finding was already covered by another model, so it adds
nothing to an ensemble. Listed as a fast triage pass rather than a scan.

Also flags that its six exploit tests never import the target code despite
being labelled PASS, and notes that Kimi K3 and Muse have no measured
self-consistency figure since each has only one run.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EyupweNUVt1ujXq2jbXVby
One run at $82.53: 52 adjudicated-real findings, 0.881 precision (best of any
high-yield run), zero invalid citations, and the first run to hold all 7 Highs
in the key — still 5 of 5 when scored against the key as it stood beforehand.
Opened a symlink-write vulnerability class no other model found.

Listed above Opus 5, which it supersedes on findings, precision and cost.
Refreshed the ensemble table for the 114-vulnerability key and noted that
Opus 5.5 and Opus 5 share only 35% of their findings.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
High+ is part of the /vulnhunt severity rubric, not something the run made
up: it is the masked replacement term for Critical under REQ-SEC-001
(vulnhunter-fix/references/severity-mask-rule.md), weighted identically to
Critical in cluster_score.py, and listed in the phase1_extract severity enum.

The previous wording called it an invented tier above the scale. Opus 5.5 was
using the rubric correctly; the finding was rated one notch hot against an
adjudicated High, which is ordinary inflation.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant