Static Application Security Testing (SAST) analyzes an application’s source code, bytecode, or binaries to find security vulnerabilities before the app runs. It’s performed early in the SDLC (pre-production), integrates with IDEs and CI pipelines, and flags issues at the line-of-code level (e.g., injection risks, insecure APIs). Fixes are typically faster because developers get precise locations and remediation guidance.
Dynamic Application Security Testing (DAST) tests a running application from the outside-in, simulating an attacker’s perspective. It requires a deployed (staging or production-like) environment and detects exploitable issues at runtime (e.g., broken authentication, misconfigurations, server errors). Findings reflect real behaviors and are less prone to false positives, but the root cause in code is less direct and fixes can take longer.