Dynamic Application Security Testing
Dynamic Application Security Testing (DAST) is a security testing method that examines a web application while it is running to find vulnerabilities. It works from the outside, simulating attacks through the application's front end without needing access to the source code, much like an external attacker would probe for weaknesses. This approach helps organizations discover issues such as injection flaws, authentication problems, and security misconfigurations that only become apparent when the application is actually operating.
DAST is a black-box testing methodology that analyzes web applications in a runtime state by sending crafted requests and observing responses, with no knowledge of or access to the application's internal code or architecture. It typically identifies vulnerabilities such as injection flaws, cross-site scripting (XSS), authentication and session management weaknesses, and security misconfigurations (including missing or misconfigured HTTP security headers like CSP, HSTS, and X-Frame-Options, which most mainstream DAST tools check via passive analysis). Because DAST operates against a running application, it can detect issues that depend on deployment context, server configuration, and runtime behavior, which static analysis alone cannot observe. However, DAST has known scope limitations: it may produce false positives when it misinterprets benign application responses as vulnerability indicators, and it is susceptible to false negatives for vulnerabilities in application paths that the crawler or test configuration fails to reach, including areas behind complex multi-step workflows or client-side logic that the scanner cannot fully navigate. DAST typically cannot identify vulnerabilities at the source code level, such as insecure cryptographic implementations buried in business logic, or issues in code paths that are not exercised during the test. Coverage is bounded by the attack surface the scanner can discover and interact with during a given test run.
Why it matters
Web applications are a primary target for attackers because they are publicly accessible and often handle sensitive data. Many vulnerabilities, such as security misconfigurations, missing or improperly configured HTTP security headers (like CSP, HSTS, and X-Frame-Options), and authentication weaknesses, only manifest when an application is running in its deployment environment. Static analysis alone cannot observe these runtime and configuration-dependent issues. DAST addresses this gap by testing the application as a real attacker would encounter it, probing the live attack surface to uncover flaws that depend on server behavior, deployment context, and runtime state.
Without DAST, organizations risk deploying applications that pass code-level reviews but remain vulnerable in production due to environmental factors. Injection flaws, cross-site scripting, and session management weaknesses may go undetected until they are exploited. By incorporating DAST into the security testing lifecycle, teams gain visibility into the externally exploitable attack surface and can identify issues that other testing methodologies, particularly static analysis, are not designed to catch. This complements source-code-level testing and provides a more comprehensive view of an application's security posture, though DAST itself has coverage boundaries that must be understood and managed.
Who it's relevant to
Inside DAST
Common questions
Answers to the questions practitioners most commonly ask about DAST.