静态应用安全测试(SAST)是DevSecOps中的重要环节,但最新研究揭示了一个根本性盲区:大多数CVE漏洞是由多commit组合引入的,而SAST工具主要在单commit模式下运行。
关键发现
单commit检测率 (CCDR): 13%
这意味着: 87%的漏洞链对单commit SAST完全不可见
论文研究
CrossCommitVuln-Bench (arXiv:2604.21917) 构建了一个包含15个真实世界Python CVE的数据集,每个CVE都是多commit引入,手动标注了贡献链和逐commit规避分析的原因。
测试结果
Semgrep和Bandit在两种模式下测试:
- per-commit模式:仅13%检测率
- 累积扫描模式:检测率有所提升,但仍存在大量盲区
为什么重要
# 单commit视角:每次提交都是"安全的"
commit_1 # A功能,正常
commit_2 # B功能,正常
commit_3 # C功能,正常
# 但A+B+C组合 → 漏洞 ← SAST看不到!