arXiv cs.CR· Jinbao Chen, Zixiang Zhou, Yu Zhang, Yihong Wu·· 5 小时前AI 评分72
VulnSAGE 论文提出连接大语言模型推理与程序结构的 SAST 报告裁决系统
VulnSAGE: Adjudicating SAST Reports by Connecting LLM Reasoning to Program Structure
AI 摘要
VulnSAGE 是一个用于裁决静态应用安全测试(SAST)报告的系统,它通过将大语言模型的推理能力双向连接到程序结构来解决误报问题。该系统包含一个以报告为中心的切片器,能恢复被报告操作的项目特定依赖关系及解释它们的程序结构,并引入 CLAIM 作为中间表示来记录每个模型解释所假设的程序关系。程序分析随后检查这些前提,只有当前提成立时才会得出最终裁决结论。
在包含五个漏洞家族的 187 个标记报告上,VulnSAGE 成功拒绝了 97 个误报中的 89 个,并保留了 90 个真实缺陷中的 85 个。在常见的概念验证(PoC)流程中,其 25 个阳性裁决能在运行时复现,而基于 LLM 的裁决器 LLM4SA 仅为 3 个。当应用于 GitHub 上 200 个最受关注的 C/C++ 项目产生的 45,440 个警报时,VulnSAGE 在运行时复现了 104 个缺陷,维护者已确认其中 26 个,包括 10 个此前未知的缺陷。
事实层面,该研究展示了利用程序图让模型引用代码、让检查器查询引用的机制,实现了静态支持的阳性结果引导 PoC 生成和运行时复现。推断层面,这种“推理 - 结构”双向连接机制可能成为解决 SAST 高误报率的关键路径,使 LLM 从单纯的解释者转变为可验证的裁决者。猜测层面,若该架构能扩展至更多语言和工具链,可能会改变企业级安全扫描的工作流,但具体落地成本需进一步观察。
来源:arXiv cs.CR · arxiv.org