Repository navigation
Conversation
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>
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
Bashfor a static (not merely read-only) run, with the containment rationale for untrusted third-party/open-weight models.Bashis blocked, and the invocation that opts into a non-recommended model past the model gate.🤖 Generated with Claude Code