paperbot · PL 论文追踪

全部论文 待读 收藏

P1 Codebase-adaptive detection of security-relevant methods

面向代码库自适应的安全相关方法检测
ISSTA Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis2019匹配度 5/10 · 论文用机器学习自动识别 Java 安全相关方法以适配代码库,属于“AI/ML→静态分析”的相邻方向,且提供工具与实验;但不涉及 LLM/Agent、浮点或贝叶斯程序分析,也不面向 ML/Agentic 程序分析,故与画像核心有明显距离。引用 22 inbox
Goran Piskachev, Lisa Nguyen Quang Do, Eric Bodden
crossref: 2026-09-12

AI 速览

一句话:提出全自动机器学习工具 SWAN 检测 Java 程序的安全相关方法并按 SANS Top 25 分类,辅以 SWANAssist 让用户细化分类。

静态分析要在代码审查中准确发现漏洞,必须针对被扫描代码库配置正确的安全相关方法(security-relevant methods, Srm),如 source、sink 等,但手工配置代价高昂。本文提出 SWAN,一种全自动机器学习方法,用于检测 Java 程序中的 source、sink、validator 与认证方法,并将其进一步归类到 SANS Top 25 的具体漏洞类别。为使检测结果自适应具体代码库并提升精度,作者还提出 SWANAssist,允许分析用户对分类结果进行细化。在 12 个流行的 Java 框架上,SWAN 取得了平均 0.826 的精度,优于或可比于现有方法;实验表明 SWANAssist 只需开发者付出相对较低的代价,即可显著提高精度。

问题
静态分析工具需要针对每个代码库配置正确的安全相关方法(source、sink 等),但人工识别与配置这些方法十分困难且易出错。
方法
提出 SWAN:一种全自动机器学习方法,检测 Java 程序中的 source、sink、validator 和认证方法,并将其分类到 SANS Top 25 漏洞类别;进一步提出 SWANAssist,允许用户交互式细化分类以自适应代码库并提升精度。
评估
在 12 个流行的 Java 框架上评估,SWAN 的平均精度达到 0.826,优于或可比于现有方法;实验还表明 SWANAssist 以较低的开发者投入即可显著提升精度。
原文摘要(Abstract)

More and more companies use static analysis to perform regular code reviews to detect security vulnerabilities in their code, configuring them to detect various types of bugs and vulnerabilities such as the SANS top 25 or the OWASP top 10. For such analyses to be as precise as possible, they must be adapted to the code base they scan. The particular challenge we address in this paper is to provide analyses with the correct security-relevant methods (Srm): sources, sinks, etc. We present SWAN, a fully-automated machine-learning approach to detect sources, sinks, validators, and authentication methods for Java programs. SWAN further classifies the Srm into specific vulnerability classes of the SANS top 25. To further adapt the lists detected by SWAN to the code base and to improve its precision, we also introduce SWANAssist, an extension to SWAN that allows analysis users to refine the classifications. On twelve popular Java frameworks, SWAN achieves an average precision of 0.826, which is better or comparable to existing approaches. Our experiments show that SWANAssist requires a relatively low effort from the developer to significantly improve its precision.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5385,
  title = {Codebase-adaptive detection of security-relevant methods},
  author = {Goran Piskachev and Lisa Nguyen Quang Do and Eric Bodden},
  booktitle = {ISSTA},
  year = {2019},
  doi = {10.1145/3293882.3330556}
}