Scanner deep-dive
Claude Opus 4.6 by Anthropic ↗
General-Purpose LLM · agentic-v1 · scored on 19/66 Python repositories. Strict scoring (unfinished repos counted as misses).
18.0
F3 (strict)
19.7
F2 (strict)
16.6%
Recall (strict)
80.2%
Precision
19/66
Repos scored
claude-opus-4-6
Model
$22
Total cost
763s
Avg latency
§
Per-repository breakdown
Each bar shows true positives, false positives, and misses on one repository; bar length is proportional to that repo's labeled vulnerabilities. Ranked by F2.
| Repository | TP | FP | FN | Recall % | F2 |
|---|---|---|---|---|---|
| vfapi | 8 | 3 | 1 | 88.9 | 85.1 |
| python-app | 17 | 3 | 4 | 81.0 | 82.0 |
| python-insecure-app | 6 | 0 | 2 | 75.0 | 78.9 |
| lets-be-bad-guys | 18 | 0 | 6 | 75.0 | 78.7 |
| vulnpy | 58 | 8 | 22 | 72.1 | 74.7 |
| insecure-web | 7 | 4 | 2 | 77.8 | 74.5 |
| damn-vulnerable-flask-application | 11 | 5 | 3 | 76.2 | 74.3 |
| intentionally-vulnerable-python-application | 5 | 1 | 2 | 71.4 | 73.7 |
| vulnerable-api | 10 | 2 | 4 | 71.4 | 73.2 |
| vampi | 11 | 4 | 4 | 71.1 | 71.7 |
| vulnerable-flask-app | 14 | 5 | 7 | 65.1 | 66.7 |
| vulnerable-tornado-app | 9 | 4 | 5 | 64.3 | 65.7 |
| threatbyte | 16 | 6 | 10 | 60.3 | 62.5 |
| extremely-vulnerable-flask-app | 16 | 3 | 16 | 50.0 | 54.4 |
| vulpy | 26 | 2 | 31 | 45.6 | 50.7 |
| pygoat | 34 | 12 | 44 | 44.2 | 48.1 |
| damn-vulnerable-graphql-application | 16 | 10 | 20 | 43.0 | 45.6 |
| djangoat | 21 | 4 | 31 | 40.4 | 45.1 |
| flask-xss | 12 | 2 | 18 | 40.0 | 44.8 |
§
Detection by severity
| Severity | TP | FP | FN | Recall % |
|---|---|---|---|---|
| Critical | 58 | 1 | 8 | 87.9 |
| High | 131 | 1 | 82 | 61.5 |
| Medium | 112 | 0 | 108 | 50.9 |
| Low | 20 | 0 | 28 | 41.7 |
§
Detection by vulnerability class
| CWE family | TP | FP | FN | Recall % |
|---|---|---|---|---|
| Code Injection / RFI | 13 | 0 | 0 | 100.0 |
| SQL Injection | 29 | 0 | 0 | 100.0 |
| Insecure Deserialization | 13 | 0 | 0 | 100.0 |
| Open Redirect | 3 | 0 | 0 | 100.0 |
| HTTP Header Injection | 1 | 0 | 0 | 100.0 |
| XPath Injection | 3 | 0 | 0 | 100.0 |
| Server-Side Request Forgery | 19 | 0 | 1 | 95.0 |
| Command / OS Injection | 14 | 1 | 1 | 93.3 |
| Hardcoded Credentials | 40 | 0 | 6 | 87.0 |
| Path Traversal | 18 | 1 | 4 | 81.8 |
| Broken Access Control / IDOR | 16 | 0 | 4 | 80.0 |
| XML External Entities | 5 | 0 | 2 | 71.4 |
| Cross-Site Scripting | 43 | 0 | 24 | 64.2 |
| Missing Authentication / Authorization | 18 | 0 | 20 | 47.4 |
| Security Misconfiguration | 9 | 0 | 15 | 37.5 |
| Sensitive Data Exposure | 17 | 0 | 29 | 37.0 |
| Other | 58 | 0 | 103 | 36.0 |
| Denial of Service | 2 | 0 | 17 | 10.5 |
§
LLM operational metrics
7
Avg input tokens
4,608
Avg output tokens
176,970
Avg total tokens
763s
Avg latency / repo
0.0%
JSON repair rate
72
Total runs
±13.6
F2 run-to-run σ
§
Cost
$22
Total cost
$0.49
Cost / run
$0.062
Cost / 100 LOC
18,251
Lines of code scanned
46
Successful runs