Scanner deep-dive
Claude Sonnet 4.6 by Anthropic ↗
General-Purpose LLM · agentic-v1 · scored on 23/66 Python repositories. Strict scoring (unfinished repos counted as misses).
19.4
F3 (strict)
21.2
F2 (strict)
17.9%
Recall (strict)
79.9%
Precision
23/66
Repos scored
claude-sonnet-4-6
Model
$17
Total cost
367s
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 |
|---|---|---|---|---|---|
| vampi | 12 | 3 | 3 | 80.0 | 80.0 |
| vfapi | 8 | 4 | 1 | 85.2 | 79.8 |
| dsvw | 20 | 1 | 7 | 74.1 | 77.7 |
| python-app | 15 | 2 | 6 | 69.8 | 72.6 |
| insecure-web | 6 | 2 | 3 | 70.4 | 70.9 |
| vulnpy | 53 | 4 | 27 | 66.7 | 70.7 |
| dvblab | 15 | 4 | 7 | 68.2 | 70.1 |
| vulnerable-api | 10 | 4 | 4 | 69.0 | 69.7 |
| damn-vulnerable-flask-application | 9 | 4 | 5 | 66.7 | 67.2 |
| lets-be-bad-guys | 15 | 1 | 9 | 62.5 | 67.0 |
| vulnerable-flask-app | 12 | 3 | 9 | 58.7 | 61.8 |
| threatbyte | 15 | 2 | 11 | 56.4 | 60.9 |
| intentionally-vulnerable-python-application | 4 | 1 | 3 | 57.1 | 60.6 |
| dsvpwa | 18 | 5 | 14 | 55.2 | 58.5 |
| vulnerable-tornado-app | 8 | 5 | 6 | 57.1 | 58.0 |
| pythonssti | 1 | 0 | 1 | 50.0 | 55.6 |
| extremely-vulnerable-flask-app | 16 | 0 | 16 | 50.0 | 55.4 |
| dvpwa | 11 | 4 | 12 | 47.8 | 51.4 |
| pygoat | 33 | 11 | 45 | 41.9 | 45.9 |
| damn-vulnerable-graphql-application | 14 | 6 | 22 | 38.9 | 42.6 |
| flask-xss | 11 | 2 | 19 | 36.7 | 41.4 |
| djangoat | 17 | 9 | 35 | 32.7 | 36.3 |
| vulpy | 18 | 9 | 39 | 32.2 | 35.9 |
§
Detection by severity
| Severity | TP | FP | FN | Recall % |
|---|---|---|---|---|
| Critical | 74 | 1 | 8 | 90.2 |
| High | 141 | 0 | 101 | 58.3 |
| Medium | 111 | 1 | 150 | 42.5 |
| Low | 22 | 0 | 38 | 36.7 |
§
Detection by vulnerability class
| CWE family | TP | FP | FN | Recall % |
|---|---|---|---|---|
| SQL Injection | 39 | 0 | 0 | 100.0 |
| Insecure Deserialization | 16 | 0 | 0 | 100.0 |
| Open Redirect | 6 | 0 | 0 | 100.0 |
| HTTP Header Injection | 2 | 0 | 0 | 100.0 |
| XPath Injection | 4 | 0 | 0 | 100.0 |
| Code Injection / RFI | 13 | 0 | 1 | 92.9 |
| XML External Entities | 7 | 0 | 1 | 87.5 |
| Path Traversal | 20 | 0 | 5 | 80.0 |
| Command / OS Injection | 14 | 1 | 4 | 77.8 |
| Hardcoded Credentials | 37 | 1 | 14 | 72.5 |
| Broken Access Control / IDOR | 15 | 0 | 7 | 68.2 |
| Server-Side Request Forgery | 14 | 0 | 7 | 66.7 |
| Cross-Site Scripting | 44 | 0 | 35 | 55.7 |
| Missing Authentication / Authorization | 21 | 0 | 22 | 48.8 |
| Security Misconfiguration | 12 | 0 | 20 | 37.5 |
| Other | 67 | 0 | 126 | 34.7 |
| Sensitive Data Exposure | 14 | 0 | 38 | 26.9 |
| Denial of Service | 3 | 0 | 17 | 15.0 |
§
LLM operational metrics
10
Avg input tokens
5,709
Avg output tokens
232,970
Avg total tokens
367s
Avg latency / repo
0.0%
JSON repair rate
72
Total runs
±13.3
F2 run-to-run σ
§
Cost
$17
Total cost
$0.29
Cost / run
$0.030
Cost / 100 LOC
19,983
Lines of code scanned
58
Successful runs