内容提要
GitLab 17.0移除了基于代理的动态应用安全测试,使用GitLab的专有DAST工具替代。DAST模拟真实攻击,发现Web应用程序的漏洞。建议结合其他应用安全测试工具使用。
延伸解读
迁移时间线与注意事项
GitLab 17.0(2024年5月16日)移除了基于代理的DAST,并宣布在16.6版本中已预告此变更。若您仍希望使用旧版,可设置CI/CD变量DAST_VERSION:4,但该分析器不再修复漏洞,且支持仅持续到GitLab 18.0(2025年5月)。按需扫描已自动切换到新DAST,无需手动操作。迁移时请遵循官方迁移指南,确保扫描持续成功。
新DAST的扫描流程与配置要点
GitLab DAST扫描包括认证、发现、被动检查和主动检查四个阶段。认证失败会中止扫描,因此需正确配置认证信息以最大化爬取覆盖。被动检查默认启用,主动检查默认禁用,因其会注入攻击载荷。启用主动检查可发现更多漏洞,但需在扫描后通过漏洞报告审查结果。基本配置只需在.gitlab-ci.yml中引入DAST模板,并设置目标URL和认证字段。
DAST在安全测试体系中的定位
DAST从外部模拟真实攻击,不分析源代码,因此与语言和框架无关,能发现运行时漏洞和配置错误,这些是其他工具(如SAST、依赖扫描)无法检测的。它覆盖OWASP Top 10中的9项,第10项由依赖扫描覆盖。建议将DAST与秘密检测、依赖扫描、SAST、容器扫描和API安全测试结合,形成纵深防御,以全面识别和缓解风险。
Q&A
GitLab 17.0中移除了哪种动态应用安全测试?
GitLab 17.0中移除了基于代理的动态应用安全测试。
DAST工具的主要功能是什么?
DAST工具模拟真实攻击,自动化渗透测试,发现Web应用程序中的漏洞。
如何迁移到GitLab DAST?
用户需遵循DAST迁移指南,确保扫描的持续成功。
DAST扫描的过程包括哪些步骤?
DAST扫描包括认证、发现、被动检查和主动检查。
使用DAST的好处有哪些?
DAST可以模拟真实攻击、提供低误报率、覆盖OWASP前十名漏洞,并支持复杂的登录流程。
如果继续使用基于代理的DAST会有什么后果?
继续使用基于代理的DAST将不再修复其漏洞,并需设置CI/CD变量<DAST_VERSION:4>。