
의도적으로 취약점을 포함한 애플리케이션으로 구성된 DAST 벤치마크로, 스캐너 점수를 매기기 위한 정답 키를 제공합니다.
의도적으로 취약하게 만든 앱들로 구성된 DAST 벤치마크로, 스캐너 채점을 위한 정답 키를 제공합니다.
⚠️ 이 저장소에는 의도적으로 안전하지 않은 애플리케이션이 포함되어 있습니다. 이들은 오직 보안 도구(DAST 스캐너, SAST 엔진, LLM 보안 에이전트)를 벤치마크하기 위해서만 존재합니다. 모든 앱은
127.0.0.1에 바인딩되고, 눈에 띄는 배너를 표시하며, 실제 데이터를 보유하지 않습니다. 이 중 어떤 것도 공용 네트워크에 배포하지 마십시오.
스택당 하나씩, 의도적으로 취약하게 만든 19개의 앱 모음이며, 각 앱에는 문서화되고 기계적으로 검증 가능한 정답(ground truth) 이 있습니다. 목적은 스캐너나 에이전트가 (a) 심어놓은 버그를 얼마나 잘 찾아내는지, (b) 바로 옆에 있는 안전한 유사 코드를 얼마나 잘 무시하는지, (c) 패치된 쌍둥이 앱에서 발견 사항을 환각하지 않는지를 측정하는 것입니다.
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 | 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 | 시뮬레이션된 멀티 호스트 네트워크 범위 | 혼합 플릿 | 32 | 5 | plan |
| nextjs | Node / Next.js 15 (참조 구현) | Postgres | 40 | 19 | plan |
| php | PHP / 절차적 LAMP | 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 + 스펙 로딩 | Postgres | 19 | 5 | plan |
| websocket | Node 22 / ws + Socket.IO 실시간 | Postgres | 28 | 6 | plan |
| weirdproxy | nginx + Apache + Traefik 단일 오리진 | 없음 | 16 | 4 | plan |
| wordpress | PHP / WordPress + 커스텀 플러그인 | MySQL | 28 | 6 | plan |
스택별 추가 사이드카(Mailpit, MinIO, Redis, Jenkins, Prometheus, Ollama, …)는 아래 앱들에 나열되어 있습니다.
스택별 설계 문서는 benchmark-plans/에 있습니다 -
각 앱의 전체 취약점 카탈로그를 보려면 여기서 시작하십시오. 이 README는
운영 가이드로, 저장소가 어떻게 구성되어 있고 앱을 어떻게 실행하고 채점하는지를 다룹니다.
심어 놓은 모든 버그에는 CWE와 OWASP 카테고리가 부여되어 있습니다. 클래스별로 집계하면 - 각 버그는 기본 CWE 기준으로 한 번만 계산됨 - 심어 놓은 버그의 대략적인 분포는 다음과 같습니다(집계는 480개 버그 기준으로 마지막 재생성되었으며, 위의 앱별 개수는 최신 값입니다):
| 클래스 | CWE | 버그 | 앱 |
|---|---|---|---|
| 민감한 데이터 노출 (오류, 로그, 디버그 엔드포인트, 백업, 소스) | 200, 209, 489, 524, 532, 538, 540, 548 | 39 | 16 |
| 기본 / 하드코딩 / 유출된 자격 증명 | 321, 522, 798, 1104, 1392 | 38 | 18 |
| 누락되거나 깨진 인가 (BFLA, 수직 + 수평) | 269, 284, 285, 668, 862, 863 | 37 | 18 |
| 크로스 사이트 스크립팅 (반사형 · 저장형 · DOM) | 79 | 28 | 16 |
| 인증 우회 · 취약한 세션 · JWT 검증 | 287, 288, 290, 306, 347, 384, 613, 614, 1385 | 28 | 13 |
| SQL 인젝션 (2차, ORDER BY, NoSQL 포함) | 89, 943 | 27 | 17 |
| 프록시 / 파서 해석 충돌 (경로 혼동, 헤더 신뢰) | 345, 348, 349, 436, 441, 693, 697, 706, 807 | 27 | 10 |
| SSRF (블라인드, 리다이렉트 체인, 내부 전용 싱크 포함) | 918 | 20 | 17 |
| IDOR / BOLA (사용자 제어 객체 키) | 639 | 19 | 17 |
| 경로 순회 · LFI/RFI · zip slip | 22, 98 | 19 | 16 |
| 매스 어사인먼트 / 과다 게시 · 프로토타입 오염 | 915, 1321 | 18 | 16 |
| 무차별 대입 · 누락된 속도 제한 · 리소스 고갈 | 307, 400, 406, 674, 770 | 17 | 11 |
| 비즈니스 로직, 가격 및 할당량 남용 | 625, 840 | 15 | 14 |
| OS 명령 / 인자 인젝션 | 78 | 14 | 12 |
| 안전하지 않은 역직렬화 (pickle · PHP · Java · YAML) | 470, 502 | 14 | 11 |
| CORS 잘못된 구성 | 942 | 14 | 14 |
| 경쟁 조건 / TOCTOU | 362 | 14 | 14 |
| 오픈 리다이렉트 | 601 | 14 | 14 |
| 사용자 및 리소스 열거 (관찰 가능한 응답 차이) | 204, 598 | 13 | 12 |
| 코드 인젝션 · SSTI · 표현식 언어 | 94, 917, 1059, 1336 | 11 | 10 |
| 취약한 암호화 및 난수 · 평문 전송 | 295, 319, 327, 330, 338 | 11 | 6 |
| 비밀번호 재설정 + 계정 복구 결함 | 184, 640 | 9 | 9 |
| 제한 없는 / 안전하지 않은 파일 업로드 | 434 | 9 | 9 |
| CSRF (크로스 사이트 WebSocket 하이재킹 포함) | 352 | 8 | 8 |
| 프롬프트 인젝션 및 LLM 도구 남용 (직접 · 간접 · RAG) | 1427 | 7 | 2 |
| XXE / XML 외부 엔티티 | 611 | 5 | 5 |
| 공급망 및 무결성 (서명되지 않은 업데이트, 취약한 의존성) | 494, 1035 | 2 | 2 |
| 안전하지 않은 네트워크 노출 (바인딩, 서비스 잘못된 구성) | 1327 | 2 | 1 |
| 불충분한 로깅 / 로그 인젝션 | 117 | 1 | 1 |
OWASP 카테고리별 (웹 앱은 2021 Top 10, API 전용 앱은 API Top 10 2023 기준):
| OWASP | 버그 | OWASP API | 버그 | |
|---|---|---|---|---|
| A01 취약한 접근 통제 | 118 | API8 보안 잘못된 구성 | 21 | |
| A03 인젝션 | 89 | API5 취약한 기능 수준 인가 | 6 | |
| A05 보안 잘못된 구성 | 72 | API1 취약한 객체 수준/속성 인가 | 4 | |
| A07 식별 및 인증 실패 | 65 | API2 취약한 인증 | 4 | |
| A04 안전하지 않은 설계 | 34 | API7 서버 측 요청 위조 | 4 | |
| A08 소프트웨어 및 데이터 무결성 실패 | 17 | API9 부적절한 인벤토리 관리 | 3 | |
| A10 SSRF | 15 | API3 취약한 객체 속성 수준 인가 | 2 | |
| A02 암호화 실패 | 15 | API4 제한 없는 리소스 소비 | 2 | |
| A09 로깅 및 모니터링 실패 | 4 | API6 민감한 비즈니스 흐름에 대한 제한 없는 접근 | 1 | |
| A06 취약하고 오래된 구성 요소 | 3 | API10 안전하지 않은 API 소비 | 1 |