Scanner deep-dive
Sonnet 5 by Anthropic ↗
General-Purpose LLM · Claude Code · scored on 140/140 repositories. Strict scoring (unfinished repos counted as misses).
Methodology note
Full coverage (140/140). Claude Sonnet 5 run through the Claude Code CLI headless (claude -p) at high effort, Edit/Write/NotebookEdit disallowed so the agent can only read and report. F3 52.8 on Python (66/66), 35.3 on TypeScript / JS (74/74), Overall 43.3. Cost $130.67 across the corpus ($0.93/repo). Two runs were interrupted by the Claude Code subscription's session limit and resumed after each reset.43.3
F3 (strict)
44.2
F2 (strict)
42.5%
Recall (strict)
52.6%
Precision
140/140
Repos scored
sonnet
Model
$131
Total cost
230s
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 | 2 | 1 | 88.9 | 87.0 |
| react-test-bench | 1 | 1 | 0 | 100.0 | 83.3 |
| vuln-node-express | 4 | 1 | 1 | 80.0 | 80.0 |
| intentionally-vulnerable-python-application | 5 | 0 | 2 | 71.4 | 75.8 |
| vc-kimi-code-seeded-v2-legal-case-django | 19 | 4 | 7 | 73.1 | 74.8 |
| dsvw | 20 | 6 | 7 | 74.1 | 74.6 |
| vulnerable-api | 10 | 1 | 4 | 71.4 | 74.6 |
| dvblab | 15 | 0 | 7 | 68.2 | 72.8 |
| insecure-web | 7 | 6 | 2 | 77.8 | 71.4 |
| vc-codex-seeded-v2-crm-saas-django | 23 | 9 | 11 | 67.7 | 68.5 |
| vc-codex-high-seeded-v2-crm-saas-django | 17 | 8 | 8 | 68.0 | 68.0 |
| vc-codex-high-seeded-v2-marketplace-commerce-fastapi | 16 | 2 | 9 | 64.0 | 67.8 |
| vc-codex-high-seeded-v2-logistics-dispatch-fastapi | 19 | 6 | 10 | 65.5 | 67.4 |
| vulnerable-tornado-app | 9 | 2 | 5 | 64.3 | 67.2 |
| vc-codex-high-seeded-v2-hr-payroll-django | 16 | 5 | 9 | 64.0 | 66.1 |
| vampi | 10 | 6 | 5 | 66.7 | 65.8 |
| vulnpy | 49 | 7 | 31 | 61.3 | 65.2 |
| vc-claude-code-seeded-v2-fintech-lending-fastapi | 18 | 4 | 11 | 62.1 | 65.2 |
| vc-claude-code-seeded-v2-crm-saas-django | 18 | 10 | 10 | 64.3 | 64.3 |
| vc-codex-high-seeded-v2-property-management-fastapi | 16 | 5 | 10 | 61.5 | 64.0 |
| vc-codex-high-seeded-v2-education-lms-django | 15 | 5 | 10 | 60.0 | 62.5 |
| vc-codex-high-seeded-v2-fintech-lending-fastapi | 17 | 3 | 12 | 58.6 | 62.5 |
| vc-kimi-code-seeded-v2-crm-saas-django | 17 | 11 | 10 | 63.0 | 62.5 |
| vc-kimi-code-seeded-v2-marketplace-commerce-fastapi | 17 | 11 | 10 | 63.0 | 62.5 |
| vc-codex-high-seeded-v3-marketplace-commerce-express | 27 | 15 | 17 | 61.4 | 61.9 |
| dsvpwa | 19 | 8 | 13 | 59.4 | 61.3 |
| vc-kimi-code-seeded-v2-logistics-dispatch-fastapi | 19 | 13 | 12 | 61.3 | 60.9 |
| vc-codex-seeded-v2-marketplace-commerce-fastapi | 17 | 8 | 12 | 58.6 | 60.3 |
| vc-kimi-code-seeded-v2-property-management-fastapi | 17 | 5 | 13 | 56.7 | 59.9 |
| vc-codex-seeded-v2-logistics-dispatch-fastapi | 17 | 6 | 13 | 56.7 | 59.4 |
| vc-kimi-code-seeded-v2-support-desk-fastapi | 16 | 7 | 12 | 57.1 | 59.3 |
| vulnerable-rest-api-owasp-2023 | 9 | 7 | 6 | 60.0 | 59.2 |
| lets-be-bad-guys | 13 | 1 | 11 | 54.2 | 59.1 |
| vc-kimi-code-seeded-v2-fintech-lending-fastapi | 18 | 3 | 15 | 54.5 | 58.8 |
| vc-claude-code-seeded-v2-hr-payroll-django | 15 | 5 | 12 | 55.6 | 58.6 |
| vc-codex-high-seeded-v2-healthcare-clinic-django | 15 | 9 | 11 | 57.7 | 58.6 |
| vc-codex-seeded-v2-property-management-fastapi | 17 | 5 | 14 | 54.8 | 58.2 |
| vc-codex-seeded-v2-hr-payroll-django | 21 | 6 | 18 | 53.8 | 57.4 |
| owasp-web-playground | 15 | 5 | 13 | 53.6 | 56.8 |
| python-app | 12 | 10 | 9 | 57.1 | 56.6 |
| vc-claude-code-seeded-v2-healthcare-clinic-django | 16 | 11 | 13 | 55.2 | 55.9 |
| vc-kimi-code-seeded-v3-legal-case-remix | 24 | 27 | 17 | 58.5 | 55.8 |
| dvna | 9 | 4 | 8 | 52.9 | 55.6 |
| nextjs-vulnerable-app | 1 | 4 | 0 | 100.0 | 55.6 |
| vc-codex-high-seeded-v2-support-desk-fastapi | 15 | 8 | 13 | 53.6 | 55.6 |
| vc-kimi-code-seeded-v2-hr-payroll-django | 16 | 13 | 13 | 55.2 | 55.2 |
| vulnerable-node | 11 | 7 | 10 | 52.4 | 53.9 |
| vc-codex-seeded-v2-support-desk-fastapi | 16 | 15 | 14 | 53.3 | 53.0 |
| vc-claude-code-seeded-v2-logistics-dispatch-fastapi | 17 | 12 | 16 | 51.5 | 52.8 |
| node-api-goat | 4 | 6 | 3 | 57.1 | 52.6 |
| vc-kimi-code-seeded-v2-education-lms-django | 14 | 7 | 14 | 50.0 | 52.6 |
| vc-claude-code-seeded-v2-support-desk-fastapi | 16 | 2 | 18 | 47.1 | 51.9 |
| vc-kimi-code-seeded-v2-healthcare-clinic-django | 15 | 11 | 15 | 50.0 | 51.4 |
| vulnerable-python-apps | 10 | 1 | 12 | 45.5 | 50.5 |
| pythonssti | 1 | 1 | 1 | 50.0 | 50.0 |
| vc-claude-code-seeded-v2-legal-case-django | 14 | 4 | 17 | 45.2 | 49.3 |
| vc-kimi-code-seeded-v3-logistics-dispatch-fastify-vue | 21 | 16 | 23 | 47.7 | 49.3 |
| threatbyte | 12 | 6 | 14 | 46.2 | 49.2 |
| vc-claude-code-seeded-v3-property-management-fastify-vue | 16 | 19 | 16 | 50.0 | 49.1 |
| vc-deepseek-v4-flash-seeded-v3-hr-payroll-remix | 9 | 11 | 9 | 50.0 | 48.9 |
| vc-claude-code-seeded-v2-marketplace-commerce-fastapi | 14 | 2 | 18 | 43.8 | 48.6 |
| vc-codex-seeded-v2-education-lms-django | 16 | 9 | 19 | 45.7 | 48.5 |
| vc-claude-code-seeded-v2-education-lms-django | 14 | 3 | 18 | 43.8 | 48.3 |
| dvpwa | 10 | 2 | 13 | 43.5 | 48.1 |
| vulnerable-flask-app | 10 | 10 | 11 | 47.6 | 48.1 |
| vc-codex-seeded-v2-legal-case-django | 14 | 2 | 19 | 42.4 | 47.3 |
| vc-codex-seeded-v2-healthcare-clinic-django | 18 | 9 | 23 | 43.9 | 47.1 |
| extremely-vulnerable-flask-app | 14 | 7 | 18 | 43.8 | 47.0 |
| react-security | 4 | 11 | 3 | 57.1 | 46.5 |
| vc-codex-high-seeded-v3-healthcare-clinic-nextjs | 21 | 39 | 21 | 50.0 | 46.1 |
| vc-claude-code-seeded-v2-property-management-fastapi | 14 | 8 | 19 | 42.4 | 45.5 |
| vc-kimi-code-seeded-v3-marketplace-commerce-express | 19 | 18 | 24 | 44.2 | 45.5 |
| vc-deepseek-v4-pro-seeded-v3-healthcare-clinic-nextjs | 11 | 7 | 15 | 42.3 | 45.1 |
| vc-kimi-code-seeded-v3-support-desk-nestjs-angular | 14 | 15 | 18 | 43.8 | 44.6 |
| ivna | 8 | 7 | 11 | 42.1 | 44.0 |
| vc-kimi-code-seeded-v3-fintech-lending-express | 17 | 11 | 25 | 40.5 | 43.4 |
| vulnerable-app-angular | 4 | 11 | 4 | 50.0 | 42.6 |
| nodejs-goof | 7 | 8 | 10 | 41.2 | 42.2 |
| vc-deepseek-v4-flash-seeded-v3-crm-saas-nestjs-angular | 9 | 10 | 13 | 40.9 | 42.1 |
| python-insecure-app | 3 | 1 | 5 | 37.5 | 41.7 |
| vc-claude-code-seeded-v3-support-desk-nestjs-angular | 17 | 23 | 24 | 41.5 | 41.7 |
| vc-codex-high-seeded-v3-property-management-fastify-vue | 18 | 30 | 24 | 42.9 | 41.7 |
| vc-kimi-code-seeded-v3-education-lms-nextjs | 20 | 43 | 26 | 43.5 | 40.5 |
| vulnnodeapp | 11 | 9 | 18 | 37.9 | 40.4 |
| vc-claude-code-seeded-v3-fintech-lending-express | 16 | 23 | 24 | 40.0 | 40.2 |
| vc-kimi-code-seeded-v3-healthcare-clinic-nextjs | 16 | 39 | 20 | 44.4 | 40.2 |
| vc-codex-high-seeded-v3-logistics-dispatch-fastify-vue | 17 | 16 | 28 | 37.8 | 39.9 |
| pygoat | 28 | 13 | 50 | 35.9 | 39.7 |
| damn-vulnerable-graphql-application | 13 | 7 | 23 | 36.1 | 39.6 |
| vc-codex-high-seeded-v3-education-lms-nextjs | 19 | 29 | 29 | 39.6 | 39.6 |
| vc-claude-code-seeded-v3-hr-payroll-remix | 14 | 18 | 23 | 37.8 | 38.9 |
| vc-deepseek-v4-flash-seeded-v3-legal-case-remix | 8 | 8 | 14 | 36.4 | 38.5 |
| vc-deepseek-v4-flash-seeded-v3-logistics-dispatch-fastify-vue | 10 | 8 | 18 | 35.7 | 38.5 |
| vc-deepseek-v4-pro-seeded-v3-support-desk-nestjs-angular | 7 | 8 | 12 | 36.8 | 38.5 |
| vc-claude-code-seeded-v3-marketplace-commerce-express | 14 | 11 | 26 | 35.0 | 37.8 |
| vc-deepseek-v4-pro-seeded-v3-legal-case-remix | 9 | 10 | 16 | 36.0 | 37.8 |
| ninjasworkout | 8 | 13 | 14 | 36.4 | 36.7 |
| vc-claude-code-seeded-v3-logistics-dispatch-fastify-vue | 17 | 13 | 34 | 33.3 | 36.3 |
| vc-kimi-code-seeded-v3-crm-saas-nestjs-angular | 14 | 19 | 26 | 35.0 | 36.3 |
| juice-shop-goof | 19 | 40 | 32 | 37.2 | 36.1 |
| djangoat | 17 | 15 | 35 | 32.7 | 35.4 |
| vc-codex-high-seeded-v3-crm-saas-nestjs-angular | 12 | 11 | 25 | 32.4 | 35.1 |
| vuln-node-express-swagger | 16 | 17 | 33 | 32.6 | 34.9 |
| vc-claude-code-seeded-v3-education-lms-nextjs | 13 | 23 | 25 | 34.2 | 34.6 |
| vc-kimi-code-seeded-v3-hr-payroll-remix | 12 | 18 | 24 | 33.3 | 34.5 |
| flask-xss | 9 | 2 | 21 | 30.0 | 34.4 |
| vc-codex-high-seeded-v3-legal-case-remix | 15 | 16 | 32 | 31.9 | 34.2 |
| vc-claude-code-seeded-v3-healthcare-clinic-nextjs | 14 | 20 | 29 | 32.6 | 34.0 |
| dvws-node | 24 | 22 | 53 | 31.2 | 33.9 |
| vulnerable-nodejs | 6 | 7 | 13 | 31.6 | 33.7 |
| vc-deepseek-v4-pro-seeded-v3-logistics-dispatch-fastify-vue | 9 | 7 | 21 | 30.0 | 33.1 |
| vc-codex-high-seeded-v3-fintech-lending-express | 12 | 18 | 27 | 30.8 | 32.3 |
| vc-deepseek-v4-flash-seeded-v3-fintech-lending-express | 7 | 14 | 15 | 31.8 | 32.1 |
| oss-oopssec-store | 15 | 60 | 25 | 37.5 | 31.9 |
| vc-claude-code-seeded-v3-legal-case-remix | 8 | 8 | 20 | 28.6 | 31.2 |
| vulpy | 16 | 14 | 41 | 28.1 | 31.0 |
| vc-codex-seeded-v2-fintech-lending-fastapi | 10 | 5 | 27 | 27.0 | 30.7 |
| vc-deepseek-v4-flash-seeded-v3-healthcare-clinic-nextjs | 7 | 12 | 17 | 29.2 | 30.4 |
| vc-kimi-code-seeded-v3-property-management-fastify-vue | 9 | 12 | 23 | 28.1 | 30.2 |
| vc-claude-code-seeded-v3-crm-saas-nestjs-angular | 13 | 10 | 36 | 26.5 | 29.7 |
| simply-vulnerable-react | 1 | 12 | 0 | 100.0 | 29.4 |
| vc-deepseek-v4-pro-seeded-v3-marketplace-commerce-express | 7 | 9 | 19 | 26.9 | 29.2 |
| vc-deepseek-v4-flash-seeded-v3-education-lms-nextjs | 7 | 10 | 21 | 25.0 | 27.1 |
| vc-codex-high-seeded-v3-support-desk-nestjs-angular | 9 | 18 | 26 | 25.7 | 26.9 |
| vc-deepseek-v4-flash-seeded-v3-marketplace-commerce-express | 5 | 13 | 16 | 23.8 | 24.5 |
| vc-deepseek-v4-pro-seeded-v3-hr-payroll-remix | 6 | 15 | 20 | 23.1 | 24.0 |
| nodegoat | 6 | 11 | 22 | 21.4 | 23.3 |
| vc-deepseek-v4-flash-seeded-v3-support-desk-nestjs-angular | 5 | 15 | 19 | 20.8 | 21.6 |
| vc-codex-high-seeded-v3-hr-payroll-remix | 8 | 15 | 34 | 19.1 | 20.9 |
| vc-codex-high-seeded-v2-legal-case-django | 5 | 20 | 20 | 20.0 | 20.0 |
| vc-deepseek-v4-pro-seeded-v3-education-lms-nextjs | 5 | 13 | 22 | 18.5 | 19.8 |
| juice-shop | 12 | 15 | 69 | 14.8 | 17.1 |
| vc-deepseek-v4-flash-seeded-v3-property-management-fastify-vue | 3 | 17 | 22 | 12.0 | 12.5 |
| vc-deepseek-v4-pro-seeded-v3-fintech-lending-express | 3 | 18 | 24 | 11.1 | 11.6 |
| vc-deepseek-v4-pro-seeded-v3-crm-saas-nestjs-angular | 3 | 15 | 27 | 10.0 | 10.9 |
| vc-deepseek-v4-pro-seeded-v3-property-management-fastify-vue | 2 | 15 | 17 | 10.5 | 10.8 |
| vulnerable-react-fatih | 1 | 20 | 6 | 14.3 | 10.2 |
| damn-vulnerable-flask-application | 0 | 10 | 14 | 0.0 | 0.0 |
| reactvulna | 0 | 8 | 1 | 0.0 | 0.0 |
| xvna | 0 | 18 | 12 | 0.0 | 0.0 |
§
Detection by severity
| Severity | TP | FP | FN | Recall % |
|---|---|---|---|---|
| Critical | 140 | 1 | 18 | 88.6 |
| High | 1181 | 1 | 1667 | 41.5 |
| Medium | 403 | 3 | 563 | 41.7 |
| Low | 34 | 0 | 132 | 20.5 |
§
Detection by vulnerability class
| CWE family | TP | FP | FN | Recall % |
|---|---|---|---|---|
| HTTP Header Injection | 2 | 0 | 0 | 100.0 |
| Insecure Deserialization | 45 | 0 | 3 | 93.8 |
| Command / OS Injection | 125 | 0 | 11 | 91.9 |
| XPath Injection | 15 | 0 | 2 | 88.2 |
| SQL Injection | 129 | 0 | 25 | 83.8 |
| Code Injection / RFI | 67 | 0 | 13 | 83.8 |
| XML External Entities | 52 | 1 | 12 | 81.2 |
| Path Traversal | 79 | 0 | 25 | 76.0 |
| Open Redirect | 61 | 0 | 27 | 69.3 |
| Server-Side Request Forgery | 64 | 1 | 29 | 68.8 |
| Cross-Site Scripting | 100 | 0 | 106 | 48.5 |
| Security Misconfiguration | 84 | 0 | 120 | 41.2 |
| Other | 637 | 1 | 1248 | 33.8 |
| Hardcoded Credentials | 67 | 1 | 149 | 31.0 |
| Broken Access Control / IDOR | 69 | 0 | 163 | 29.7 |
| Missing Authentication / Authorization | 49 | 1 | 124 | 28.3 |
| Sensitive Data Exposure | 92 | 0 | 257 | 26.4 |
| Denial of Service | 21 | 0 | 66 | 24.1 |
§
LLM operational metrics
20
Avg input tokens
20,969
Avg output tokens
945,627
Avg total tokens
230s
Avg latency / repo
0.0%
JSON repair rate
140
Total runs
§
Cost
$131
Total cost
$0.93
Cost / run
$0.018
Cost / 100 LOC
741,034
Lines of code scanned
140
Successful runs