license: apache-2.0
task_categories: [text-classification]
language: [en]
tags: [security, appsec, vulnerability-detection, ai-native, owasp, cwe, llm-security, prompt-injection]
size_categories: [n<1K]
pretty_name: AI-SaaS AppSec Benchmark (v25)
configs:
- config_name: default
data_files: heldout_public_v25.jsonl
π‘οΈ AI-SaaS AppSec Benchmark β v25
ΠΡΠΊΡΡΡΡΠΉ held-out Π±Π΅Π½ΡΠΌΠ°ΡΠΊ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ Π΄Π΅ΡΠ΅ΠΊΡΠΎΡΠΎΠ² ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² AI-ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅
(Β«vibe-codedΒ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: LLM-Π°Π³Π΅Π½ΡΡ, RAG, Supabase/Next-ΡΡΠ΅ΠΊ). ΠΠ΅Π΄ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
red-team.tech β AI-native ΡΠΊΠ°Π½Π΅ΡΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
857 ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ
ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² (518 ΡΡΠ·Π²ΠΈΠΌΡΡ
+ 339 Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ
), 25 ΠΊΠ»Π°ΡΡΠΎΠ²:
17 ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ
(CWE) + 8 AI-native (OWASP LLM Top-10). ΠΠΊΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» β heldout_public_v25.jsonl.
ΠΠ°ΡΠ΅ΠΌ ΡΡΠΎ
ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ SAST (Semgrep, CodeQL) ΠΈΡΠ΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ ΠΈ ΡΠ»Π΅ΠΏ ΠΊ AI-native ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠΌ
β prompt injection, ΡΡΠ΅ΡΠΊΠΈ Π² embeddings, RAG-poisoning, Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ LLM. Π Π½Π°ΡΠ΅ΠΌ Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠ΅
Semgrep ΠΏΠΎΠΊΠ°Π·Π°Π» F1 = 0.00 Π½Π° Π²ΡΠ΅Ρ
8 AI-native ΠΊΠ»Π°ΡΡΠ°Ρ
. Π€ΡΠΎΠ½ΡΠΈΡ-LLM Β«ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈΒ» ΠΈΡ
Π²ΠΈΠ΄ΡΡ, Π½ΠΎ
Π΄ΠΎΡΠΎΠ³ΠΈ, ΡΡΠ΅Π±ΡΡΡ egress ΠΊΠΎΠ΄Π° ΠΈ Ρ
Π΅Π΄ΠΆΠΈΡΡΡΡ Π½Π° security-Π·Π°Π΄Π°ΡΠ°Ρ
. ΠΡΠΆΠ΅Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ
Π΄Π΅ΡΠ΅ΠΊΡΠΎΡ β ΠΈ Π½ΡΠΆΠ΅Π½ ΡΠ΅ΡΡΠ½ΡΠΉ ΠΎΡΠΊΡΡΡΡΠΉ Π±Π΅Π½ΡΠΌΠ°ΡΠΊ, ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ.
ΠΠ°Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ (red-team.tech)
ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠΊΠ°Π΄: Π΄Π΅ΡΠ΅ΠΊΡΠΎΡ ΠΠΎΠ½ΡΠ°Ρ-3B (Qwen2.5-Coder, fine-tuned) + semgrep (recall-Π³Π΅ΠΉΡ) +
2-ΡΡΠ°Π΄ΠΈΠΉΠ½ΡΠΉ ΡΡΠ΄ΡΡ Gemma-3-12B (ΡΡΠΈΠ°ΠΆ β Π±ΠΎΠ³Π°ΡΡΠΉ Π²Π΅ΡΠ΄ΠΈΠΊΡ Ρ PoC) + execution-grounding
(sink-gate: ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² docker-ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅, Π³Π°Π»Π»ΡΡΠΈΠ½Π°ΡΠΈΠΈ ΠΎΡΡΠ΅ΠΊΠ°ΡΡΡΡ). Π Π°Π±ΠΎΡΠ°Π΅Ρ
100% Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ β ΠΊΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π½Π΅ ΡΡ
ΠΎΠ΄ΠΈΡ Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ API. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅: red-team.tech/methodology.
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΡΡΠΎΠ½ΡΠΈΡΠΎΠΌ
ΠΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ ΡΠ΅Π²ΠΈΠ·ΠΈΡ (755 ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², 20 ΠΊΠ»Π°ΡΡΠΎΠ², Π΅Π΄ΠΈΠ½Π°Ρ ΡΠ°ΠΊΡΠΎΠ½ΠΎΠΌΠΈΡ ΠΈ ΡΠΊΠΎΡΠ΅Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ):
| Π‘ΠΈΡΡΠ΅ΠΌΠ° | macro-F1 | AI-native | classic | exact |
|---|---|---|---|---|
| red-team.tech (ΠΊΠ°ΡΠΊΠ°Π΄, Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ) | 0.65 | 0.70 | 0.61 | 0.94 |
| Claude Sonnet 4.6 (egress, Π°Π²ΡΠΎΡΠΈΠ·.) | 0.58 | 0.52 | 0.64 | 0.74 |
| GPT-5 (egress) | 0.54 | 0.59 | 0.49 | 0.58 |
| Semgrep (SAST) | β | 0.00 | β | β |
Π£Π·ΠΊΠΈΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠ°ΡΠΊΠ°Π΄ Π±ΡΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠΎΠ½ΡΠΈΡ-ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΡΠ²ΠΎΠ΅ΠΉ Π·Π°Π΄Π°ΡΠ΅ β ΠΏΡΠΈ ΡΡΠΎΠΌ
Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ. ΠΠ΅ΡΠ΅Π³ΠΎΠ½ ΡΡΠΎΠ½ΡΠΈΡΠ° Π½Π° v25 (25 ΠΊΠ»Π°ΡΡΠΎΠ²) β Π² ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ΅; Π½ΠΈΠΆΠ΅ β ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠΊΠ°Π΄Π° Π½Π° v25.
ΠΠ΅ΡΡΠΈΠΊΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠΊΠ°Π΄Π° Π½Π° v25
| ΠΊΠ»Π°ΡΡ | P | R | F1 |
|---|---|---|---|
| d5_sysprompt_leak | 1.00 | 1.00 | 1.00 |
| path_traversal | 1.00 | 0.99 | 0.99 |
| d2_ssrf | 0.91 | 0.99 | 0.95 |
| a3_sqli | 0.68 | 0.96 | 0.80 |
| b3_service_role_client | 0.67 | 1.00 | 0.80 |
| nosql_injection | 0.71 | 0.83 | 0.77 |
| c5_public_share | 0.56 | 1.00 | 0.72 |
| b7_agent_tools | 0.68 | 0.74 | 0.71 |
| mass_assignment | 1.00 | 0.47 | 0.64 |
| d3_rag_ingest | 0.50 | 0.75 | 0.60 |
| d4_insecure_output | 0.82 | 0.45 | 0.58 |
| prototype_pollution | 1.00 | 0.38 | 0.55 |
| a5_cmdi | 0.37 | 0.94 | 0.53 |
| b5_prompt_injection | 0.33 | 1.00 | 0.50 |
| ssti | 0.58 | 0.32 | 0.41 |
| c1_embed_egress | 0.20 | 1.00 | 0.33 |
| argument_injection | 0.60 | 0.19 | 0.29 |
| b8_sandbox_escape | 0.15 | 0.88 | 0.26 |
| c3_cloud_misconfig | 1.00 | 0.09 | 0.16 |
| b2_idor | 0.00 | 0.00 | 0.00 |
| b2c_route_no_auth | 0.00 | 0.00 | 0.00 |
macro-F1 0.483 (classic 0.475 / ai-native 0.498), exact-match 0.623. Held-out 857 ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠΊΠ°Π΄.
Execution-grounding (Π΄ΠΈΠΊΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ)
ΠΠ° ΡΠ΅Π°Π»ΡΠ½ΡΡ
GitHub-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ
sink-gate (execution-grounded verification) ΠΎΡΡΠ΅ΠΊΠ°Π΅Ρ 62% Π»ΠΎΠΆΠ½ΡΡ
command-injection ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠΉ (8 ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π², 23 ΠΈΠ· 37 confirmed-Π½Π°Ρ
ΠΎΠ΄ΠΎΠΊ β refuted ΠΊΠ°ΠΊ
ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡΠ΅). ΠΡΠΎ Π»Π΅ΡΠΈΡ Π³Π»Π°Π²Π½ΡΡ Π±ΠΎΠ»Ρ ΠΠ-ΡΠΊΠ°Π½Π΅ΡΠΎΠ² β Π³Π°Π»Π»ΡΡΠΈΠ½Π°ΡΠΈΠΈ.
Π§ΡΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π² v25
- Π’Π°ΠΊΡΠΎΠ½ΠΎΠΌΠΈΡ 20 β 25 ΠΊΠ»Π°ΡΡΠΎΠ²: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ
argument_injection,prototype_pollution,ssti,nosql_injection,mass_assignment(ΡΠ°ΡΡΡΠ΅ Π² JS/Node-ΡΡΠ΅ΠΊΠ΅). - ΠΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΡΠ°Π½Ρ Π΄Π²ΡΡ
ΠΌΠΎΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡΠΎΠΌ (Claude Fable + Opus): ΡΡΡΡΠ°Π½ΡΠ½ ΡΠ°ΠΊΡΠΎΠ½ΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ
Π΄ΡΠ΅ΠΉΡ β SSTI/NoSQL/argument-injection Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄ ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈa5_cmdi/a3_sqli. - ΠΠΎΠ²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ β ΠΈΠ· CodeQL test-suite (github/codeql) + ΡΠ΅Π°Π»ΡΠ½ΡΠΉ ΡΠΊΡΠ°ΠΏ GitHub.
- Anti-leak: ΡΠ΅ΡΡ-ΡΠ΅Ρ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°Π΅ΡΡΡ Ρ ΠΎΠ±ΡΡΠ°ΡΡΠΈΠΌ ΠΊΠΎΡΠΏΡΡΠΎΠΌ (ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΎ ΠΏΠΎ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌΡ Ρ Π΅ΡΡ).
Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ² (518 ΠΏΠΎΠ·ΠΈΡΠΈΠ²ΠΎΠ²)
| ΠΊΠ»Π°ΡΡ | ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² | ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ |
|---|---|---|
d2_ssrf |
71 | classic |
path_traversal |
70 | classic |
c3_cloud_misconfig |
67 | classic |
a3_sqli |
56 | classic |
a5_cmdi |
52 | classic |
b7_agent_tools |
35 | AI-native |
d4_insecure_output |
31 | AI-native |
ssti |
22 | classic |
nosql_injection |
18 | classic |
b8_sandbox_escape |
17 | AI-native |
argument_injection |
16 | classic |
prototype_pollution |
16 | classic |
mass_assignment |
15 | classic |
d5_sysprompt_leak |
10 | AI-native |
c5_public_share |
9 | classic |
d3_rag_ingest |
4 | AI-native |
b2c_route_no_auth |
3 | classic |
b3_service_role_client |
2 | classic |
b5_prompt_injection |
2 | AI-native |
b2_idor |
1 | classic |
c1_embed_egress |
1 | AI-native |
Π€ΠΎΡΠΌΠ°Ρ
JSONL, ΠΎΠ΄Π½Π° Π·Π°ΠΏΠΈΡΡ Π½Π° ΡΡΡΠΎΠΊΡ:
{"id": 0, "code": "<ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°>", "classes": ["<class-id>", ...], "group": "<ΠΈΡΡΠΎΡΠ½ΠΈΠΊ>"}
ΠΡΡΡΠΎΠΉ classes = Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ (Π½Π΅Π³Π°ΡΠΈΠ²). Π‘ΠΊΠΎΡΠ΅Ρ: multi-label P/R/F1, macro ΠΏΠΎ Π³ΡΡΠΏΠΏΠ°ΠΌ
classic β ai-native + exact-match.
Π¦ΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
AI-SaaS AppSec Benchmark v25. red-team.tech, 2026. https://huggingface.co/datasets/Qwovadis/red-team-appsec-benchmark
β
ΠΠ΅Π΄ΡΡΡΡ red-team.tech Β· AI-native AppSec Π΄Π»Ρ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Ρ ΠΠ Β·
ΠΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΈ Π»ΠΈΠ΄Π΅ΡΠ±ΠΎΡΠ΄