- 类型
- 论文
- 来源
- arXiv AI
- 发布
- 2026年8月21日 00:20
- 状态
- 单一信源
发生了什么
ARQ是一个智能体框架,它能利用C/C++合成程序执行结果与CodeQL查询判断不一致的证据,自动修复查询中的误报和漏报问题。研究使用三款商业大模型对12个官方CodeQL查询进行优化,在Juliet v1.3和FormAI v2数据集上,优化后的查询检测到的真实漏洞数量最高提升119.8%,精确度不低于98%,并修复了官方仓库中三个未解决的GitHub问题。
为什么重要
此前基于查询的静态分析器存在误报和漏报,且优化方法依赖标记数据或commit历史。ARQ无需这些数据,仅靠合成程序作为执行依据即可自动修复查询,大幅提升检测能力,同时保持了高精确度,为静态分析工具改进提供了新路径,可能影响C/C++代码安全检测产品的效果。
底层逻辑
核心机制是:当一个合成程序被认定为真实漏洞但查询未报警(漏报),或程序是安全的但查询报警(误报)时,查询即存在弱点。ARQ利用这些执行结果与查询判断之间的分歧作为地面真实标签,驱动大模型循环优化查询。这种基于执行反馈的方法,替代了传统的人工标签或模板,使查询修复过程自动化且可扩展。
产品与商业机会
对于使用CodeQL做代码审计的安全产品,ARQ方法可减少人工维护查询的成本,提升漏洞检出率,降低误报率,提高安全分析准确性。团队能更高效地更新检测规则,增强对C/C++代码库的覆盖,尤其在缺乏历史数据的场景下。
- 将ARQ框架集成到CI/CD流程,自动优化CodeQL查询,减少安全团队手动维护负担。
- 基于ARQ构建自定义C/C++查询库,针对特定产品代码模式优化检测。
- 为商业静态分析工具提供ARQ作为增值功能,提升漏洞检测效果作为卖点。
仍待确认
- ARQ在不同编程语言或非CodeQL查询上的泛化能力未提及。
- 优化后查询在真实大型代码库中的性能开销未知。
- 不同参数(如大模型种类、合成程序规模)对效果影响的详细比较未给出。
- 修复的三个GitHub问题的具体内容和长期稳定性未说明。