피드로 돌아가기
Dev.toSecurity
원문 읽기
Crawl-Inject-AI 검증 기반 DAST로 취약점 탐지율 극대화
I built an open-source DAST scanner that outfound ZAP
AI 요약
Context
기존 DAST 도구인 Nuclei는 Crawling 기능 부재로 root URL 기반 템플릿 매칭에 국한된 한계 노출. ZAP은 광범위한 탐지는 가능하나 과도한 Noise 발생 및 Logic-layer 취약점 식별 능력 부족으로 인한 분석 효율 저하 발생.
Technical Solution
- Playwright 기반 Crawling 엔진을 통한 JavaScript 렌더링 및 SPA 내 Form discovery 구현
- 페이지당 61개 취약점 모듈의 Concurrent Execution 구조를 통한 Active Exploit 시도
- Go 언어로 자체 개발한 kagesec-engine을 통해 7,417개 템플릿을 50개 Goroutine으로 병렬 처리
- Confidence Scoring 및 Stack Fingerprinting 도입으로 탐지 우선순위 최적화 및 정밀도 향상
- Canary Baseline 기법을 적용하여 단순 Reflection과 실제 취약점을 구분하는 False Positive 제거 로직 설계
- LLM 기반 AI Verification 단계를 추가하여 Request/Response Context 분석을 통한 최종 Exploitable 여부 판정
실천 포인트
1. 단순 템플릿 매칭 대신 동적 크롤링을 통한 Attack Surface 확보 여부 확인
2. 탐지 결과의 신뢰도를 높이기 위한 Canary 기반 Baseline 비교 로직 검토
3. 대량의 템플릿 처리 시 Go의 Goroutine과 같은 동시성 모델을 통한 처리 속도 최적화
4. 정적 휴리스틱 기반 필터링의 한계를 LLM의 Context 분석으로 대체하는 파이프라인 고려