
Бенчмарк DAST, состоящий из намеренно уязвимых приложений с эталонными ключами ответов для оценки сканеров.
Бенчмарк DAST для намеренно уязвимых приложений с эталонными ключами ответов для оценки сканеров.
⚠️ Этот репозиторий содержит НАМЕРЕННО НЕБЕЗОПАСНЫЕ приложения. Они существуют только для бенчмаркинга инструментов безопасности — DAST-сканеров, SAST-движков и LLM агентов безопасности. Каждое приложение привязывается к
127.0.0.1, выводит ГРОМКИЙ баннер и не содержит реальных данных. Никогда не разворачивайте ничего из этого в публичной сети.
Набор из 19 намеренно уязвимых приложений, по одному на стек, каждое с документированной, машинно-проверяемой эталонной истиной. Цель — измерить, насколько хорошо сканер или агент (а) находит внедрённые уязвимости, (б) игнорирует безопасный близкий код, находящийся прямо рядом с ними, и (в) не галлюцинирует находки на исправленном двойнике.
19 приложений · 559 внедрённых уязвимостей · 155 близких промахов · 556 запускаемых PoC ·
634 каталогизированных эндпоинтов. Каждое приложение запускается на 127.0.0.1:13311, поставляется с
парой двойников vuln/+safe/ и сборкой --solo в одном образе. dynast-bench list
выводит эту таблицу в реальном времени; dynast-bench surface <app> выводит каталог его эндпоинтов.
| Приложение | Стек | Хранилище данных | Уязвимости | Близкие промахи | Документация |
|---|---|---|---|---|---|
| aspnet | C# / ASP.NET Core Razor Pages | SQL Server | 28 | 12 | план |
| fastapi | Python / FastAPI + Jinja2 | Postgres | 26 | 5 | план |
| gin | Go / Gin | Postgres | 17 | 12 | readme |
| golang | Go / chi | Postgres | 26 | 4 | план |
| graphql | Node / GraphQL 16 API-only | Postgres | 31 | 6 | план |
| jsp | Java / JSP + Servlets (Tomcat) | Postgres | 28 | 6 | план |
| laravel | PHP 8.3 / Laravel 11 + Blade | MySQL | 25 | 7 | план |
| llmagent | Node / Fastify + AI SDK + MCP | Postgres | 29 | 8 | план |
| llmchat | Python / FastAPI + LangChain RAG | Postgres+pgvector | 30 | 9 | план |
| nestjs | Node / NestJS + Handlebars | Postgres | 23 | 6 | план |
| network | Имитированный диапазон мультихостовой сети | смешанный парк | 32 | 5 | план |
| nextjs | Node / Next.js 15 (эталонная реализация) | Postgres | 40 | 19 | план |
| php | PHP / процедурный LAMP | MySQL | 21 | 5 | план |
| rails | Ruby / Rails 7.2 | Postgres | 26 | 6 | план |
| springboot | Java / Spring Boot + Thymeleaf | Postgres | 30 | 4 | план |
| swagger | OpenAPI / Swagger UI + загрузка спецификаций | Postgres | 19 | 5 | план |
| websocket | Node 22 / ws + Socket.IO в реальном времени | Postgres | 28 | 6 | план |
| weirdproxy | nginx + Apache + Traefik через один origin | нет | 16 | 4 | план |
| wordpress | PHP / WordPress + пользовательский плагин | MySQL | 28 | 6 | план |
Дополнительные сайдкары для каждого стека (Mailpit, MinIO, Redis, Jenkins, Prometheus, Ollama, …) перечислены в разделе Приложения ниже.
Проектные документы для каждого стека находятся в benchmark-plans/ —
начните оттуда для полного каталога уязвимостей каждого приложения. Этот README — это
операционное руководство: как устроен репозиторий и как запускать и оценивать приложение.
Каждая внедрённая уязвимость имеет CWE и категорию OWASP. В сводке по классам — каждая уязвимость учитывается один раз, под своим основным CWE — внедрённые уязвимости распределяются примерно следующим образом (сводка последний раз пересчитывалась при 480 уязвимостях; приведённые выше счётчики по приложениям актуальны):