---
id: P-REINFORCE-AUTO-93CA9B
category: "10_Wiki/💡 Topics/Programming & Language"
confidence_score: 0.90
tags: [auto-reinforced]
last_reinforced: 2026-04-20
github_commit: "[P-Reinforce] Continuous Worker - 동적 애플리케이션 보안 테스트(DAST)"
---

# [[동적 애플리케이션 보안 테스트(DAST)]]

## 📌 한 줄 통찰 (The Karpathy Summary)
> 동적 애플리케이션 보안 테스트(DAST)는 실행 중인 애플리케이션을 외부에서 테스트하여 취약점을 찾는 블랙박스(Black-box) 보안 테스트 기법입니다 [1, 2]. 소스 코드를 정적으로 분석하는 SAST와 달리, DAST는 런타임 동작, 구성 오류(configuration issues) 및 노출된 공격 표면을 관찰합니다 [1, 2]. 주로 스테이징이나 프로덕션과 같은 소프트웨어 개발 수명 주기(SDLC)의 후반부에 적용되어 실제 배포 환경에서의 런타임 보안을 검증하는 데 사용됩니다 [2].

## 📖 구조화된 지식 (Synthesized Content)
* **테스트 방식 및 적용 시기**: DAST는 애플리케이션이 실행되는 런타임 환경에서 수행되는 블랙박스 테스트입니다 [3]. 코드 작성 중이나 개발 초기 단계에 적용되는 SAST와 달리, DAST는 CI 파이프라인의 후반부인 스테이징, 사전 프로덕션(pre-prod) 또는 프로덕션 환경에 주로 배치되어 런타임 및 배포 시 발생할 수 있는 문제를 포착합니다 [2, 3].
* **주요 식별 대상 및 특징**: 외부로 노출되는 애플리케이션(external-facing applications)에 적합하며, 런타임 동작이 안전한지 검증하는 데 중점을 둡니다 [2]. 또한 특정 프로그래밍 언어에 종속되지 않는다는 장점이 있으며, 소프트웨어의 회귀(regression)를 방지하는 훌륭한 수단으로 활용됩니다 [3].
* **퍼징(Fuzzing) 기법**: DAST의 한 방법으로 '퍼징' 기술이 있습니다. 이는 애플리케이션에 의도적으로 스트레스를 가해 예상치 못한 동작, 크래시(crashes), 또는 리소스 누수를 유발함으로써 개발자가 애플리케이션의 동작과 취약점을 포괄적으로 이해할 수 있도록 돕습니다 [3].
* **SAST와의 상호보완적 활용**: 성숙한 애플리케이션 보안 프로그램들은 포괄적인 보안 커버리지를 확보하기 위해 SAST와 DAST를 결합하여 사용합니다 [1, 2]. SAST가 개발 초기 단계에서 코드 내부 로직과 데이터 흐름 결함을 잡아낸다면, DAST는 런타임 환경에서의 실제 보안 위험을 확인하여 계층화된 방어(layered coverage)를 제공합니다 [1, 2].

## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
- **정책 변화:** Programming & Language 분야의 자동 자산화 수행.

## 🔗 지식 연결 (Graph)
- **Related Topics:** [[정적 애플리케이션 보안 테스트(SAST)]], 블랙박스 테스트, 퍼징(Fuzzing)
- **Projects/Contexts:** 소프트웨어 개발 수명 주기(SDLC), CI/CD 파이프라인
- **Contradictions/Notes:** 소스에 명시적인 모순점은 없으나, 주의할 점으로 DAST와 SAST의 명확한 역할 차이가 강조됩니다. SAST는 소스 코드를 볼 수 있는 화이트박스 테스트인 반면 DAST는 코드를 보지 않고 외부에서 공격을 시도하는 블랙박스 테스트이므로, 두 방법은 경쟁 관계가 아닌 상호보완적으로 사용해야 가장 효과적이라고 설명됩니다 [1-3].

---
*Last updated: 2026-04-19*

---
