--- title: "DAST" type: concept tags: [security, dynamic-analysis, penetration-testing, devsecops] sources: ["what-is-devsecops-best-practices-benefits-and-tools"] last_updated: 2025-12-19 --- ## Definition DAST(Dynamic Application Security Testing,动态应用安全测试)是一种在应用程序运行时模拟外部攻击,从攻击者视角发现安全漏洞的黑盒测试方法。DAST 工具无需访问源代码,通过发送恶意请求并分析响应来识别漏洞。 ## Characteristics - **黑盒测试**:无需源代码,独立于应用实现 - **测试和部署阶段使用**:在应用运行状态下进行扫描 - **真实攻击模拟**:模拟真实黑客的攻击手法 - **低误报率**:发现的漏洞通常是真实可利用的 ## Capabilities DAST 工具擅长发现以下类型的漏洞: - SQL 注入(SQL Injection) - 跨站脚本(XSS) - 认证和会话管理缺陷 - 信息泄露 - 服务器配置错误 - API 安全问题 ## Limitations - 覆盖率受限(无法扫描未访问的代码路径) - 无法定位具体漏洞代码位置 - 可能对生产环境造成影响(需在测试环境运行) ## Typical Tools - OWASP ZAP (Zed Attack Proxy) - Burp Suite - Acunetix - Netsparker ## Relationship with DevSecOps DAST 是 [[DevSecOps]] CI/CD 流水线的重要环节,通常在集成测试或预生产环境阶段执行。与 [[SAST]] 互补——SAST 发现代码层漏洞,DAST 发现运行时和架构层漏洞。 ## Related Concepts - [[SAST]] — 静态应用安全测试,白盒分析,与 DAST 互补 - [[IAST]] — 交互式应用安全测试,结合两者优势 - [[OWASP Top Ten]] — DAST 扫描的核心参考标准 - [[Shift Right]] — 右移策略,上线后持续 DAST 扫描