该研究聚焦于静态应用安全测试(SAST)工具在发现 Web 应用漏洞时受到代码风格影响的问题。尽管 SAST 工具被广泛使用,但已知其存在诸多局限性,而编码风格对漏洞检测能力的影响此前鲜有系统研究。作者通过组合商业与开源的多种安全扫描器,对 PHP 和 JavaScript 代码进行了大规模实验,归纳出超过 270 种会阻碍现有工具分析的代码模式。这些模式被定义为“可测试性陷阱”(Testability Tarpits),即当代码中出现这些模式时,SAST 工具的分析能力会显著下降,可能导致漏报。基于这一发现,作者提出了一种在软件开发生命周期中识别这些模式的方法,从而向开发者提供关于代码可测试性的重要反馈。该方法不仅帮助开发者了解代码被静态分析的有效程度,还能辅助评估残余风险:即使静态分析器未报告任何发现,代码中仍可能隐藏漏洞。此外,文章还探讨了通过代码转换来提升代码对 SAST 工具的友好度,为增强安全测试效果提供了可行路径。该研究的核心贡献在于首次系统性地量化了代码模式对 SAST 检测能力的影响,并构建了模式清单,为提升 Web 应用安全测试的准确性和覆盖率提供了新的视角。适合安全研究人员、SAST 工具开发者和应用安全工程师阅读。
💡 推荐理由: 揭示了编码风格如何影响 SAST 有效性,帮助蓝队理解漏报根源,并可通过模式检测改进开发生命周期的安全反馈。
🎯 建议动作: 研究跟进