
Un benchmark DAST di applicazioni intenzionalmente vulnerabili con chiavi di risposta ground-truth per valutare gli scanner.
Un benchmark DAST di applicazioni intenzionalmente vulnerabili con chiavi di risposta ground-truth per valutare gli scanner.
⚠️ Questo repository contiene applicazioni DELIBERATAMENTE INSICURE. Esistono solo per valutare gli strumenti di sicurezza - scanner DAST, motori SAST e agenti di sicurezza LLM. Ogni app si associa a
127.0.0.1, mostra un banner BEN VISIBILE e non contiene dati reali. Non distribuire mai nulla di tutto ciò su una rete pubblica.
Una suite di 19 applicazioni intenzionalmente vulnerabili, una per stack, ciascuna con una ground truth documentata e verificabile automaticamente. Lo scopo è misurare quanto bene uno scanner o un agente (a) trova i bug inseriti, (b) ignora il codice sicuro quasi identico che si trova proprio accanto ad essi, e (c) non allucina risultati sul gemello corretto.
19 app · 559 vulnerabilità inserite · 155 quasi-errori · 556 PoC eseguibili ·
634 endpoint catalogati. Ogni app si avvia su 127.0.0.1:13311, include una
coppia gemella vuln/+safe/ e una build --solo a immagine singola. dynast-bench list
stampa questa tabella in tempo reale; dynast-bench surface <app> stampa il catalogo dei suoi endpoint.
| App | Stack | Datastore | Vulns | Near-miss | Docs |
|---|---|---|---|---|---|
| aspnet | C# / ASP.NET Core Razor Pages | SQL Server | 28 | 12 | plan |
| fastapi | Python / FastAPI + Jinja2 | Postgres | 26 | 5 | plan |
| gin | Go / Gin | Postgres | 17 | 12 | readme |
| golang | Go / chi | Postgres | 26 | 4 | plan |
| graphql | Node / GraphQL 16 API-only | Postgres | 31 | 6 | plan |
| jsp | Java / JSP + Servlets (Tomcat) | Postgres | 28 | 6 | plan |
| laravel | PHP 8.3 / Laravel 11 + Blade | MySQL | 25 | 7 | plan |
| llmagent | Node / Fastify + AI SDK + MCP | Postgres | 29 | 8 | plan |
| llmchat | Python / FastAPI + LangChain RAG | Postgres+pgvector | 30 | 9 | plan |
| nestjs | Node / NestJS + Handlebars | Postgres | 23 | 6 | plan |
| network | Gamma di rete multi-host simulata | flotta mista | 32 | 5 | plan |
| nextjs | Node / Next.js 15 (impl. di riferimento) | Postgres | 40 | 19 | plan |
| php | PHP / LAMP procedurale | MySQL | 21 | 5 | plan |
| rails | Ruby / Rails 7.2 | Postgres | 26 | 6 | plan |
| springboot | Java / Spring Boot + Thymeleaf | Postgres | 30 | 4 | plan |
| swagger | OpenAPI / Swagger UI + caricamento spec | Postgres | 19 | 5 | plan |
| websocket | Node 22 / ws + Socket.IO realtime | Postgres | 28 | 6 | plan |
| weirdproxy | nginx + Apache + Traefik su un'unica origine | nessuno | 16 | 4 | plan |
| wordpress | PHP / WordPress + plugin personalizzato | MySQL | 28 | 6 | plan |
Sidecar aggiuntivi per stack (Mailpit, MinIO, Redis, Jenkins, Prometheus, Ollama, …) sono elencati in Le app di seguito.
I documenti di progettazione per stack si trovano in benchmark-plans/ -
inizia da lì per il catalogo completo delle vulnerabilità di ciascuna app. Questo README è la
guida operativa: come è strutturato il repository e come eseguire e valutare un'app.
Ogni bug inserito è associato a un CWE e a una categoria OWASP. Aggregati per classe - ogni bug conteggiato una sola volta, sotto il suo CWE primario - i bug inseriti si distribuiscono approssimativamente come segue (aggregazione rigenerata l'ultima volta a 480 bug; i conteggi per app sopra riportati sono aggiornati):