【论文速读】|AgenticSCR:一种用于潜在漏洞检测的自主智能体式安全代码评审方法

admin 2026-02-06 01:28:44 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文提出AgenticSCR框架,利用智能体AI在代码提交前检测非成熟漏洞。该框架采用检测器-验证器模式,融合SAST规则与CWE知识库,利用仓库上下文降低误报。实验显示其有效审查比例比静态LLM高出153%,显著优于SAST工具,实现了安全左移的高效自动化。 综合评分: 85 文章分类: 代码审计,AI安全,漏洞分析,安全开发,安全工具


cover_image

【论文速读】|AgenticSCR:一种用于潜在漏洞检测的自主智能体式安全代码评审方法

原创

知识分享者 知识分享者

安全极客

2026年2月5日 17:35 北京

基本信息

原文标题: AgenticSCR: An Autonomous Agentic Secure Code Review for Immature Vulnerabilities Detection

原文作者: Wachiraphan Charoenwet, Kla Tantithamthavorn, Patanamon Thongtanunam, Hong Yi Lin, Minwoo Jeong, and Ming Wu

作者单位: 墨尔本大学(The University of Melbourne)、莫纳什大学(Monash University)以及 Atlassian

关键词: Pre-commit Secure Code Review(提交前安全代码审查)、Immature Vulnerabilities(非成熟漏洞)、Agentic AI(智能体AI)、SAST Rules(静态分析规则)、CWE

原文链接:https://arxiv.org/pdf/2601.19138

开源代码: 暂无

论文要点

论文简介:本文介绍了一种名为 AgenticSCR 的自主智能体框架,专门用于在代码提交前阶段(Pre-commit stage)检测“非成熟漏洞”(Immature Vulnerabilities)。该框架基于大语言模型(LLM)的推理能力,并结合了自主决策、工具调用、仓库导航及安全增强型语义记忆机制 。AgenticSCR 采用“检测者-验证者”(Detector-Validator)的设计模式,通过模拟人类安全分析师的迭代推理过程,旨在解决传统静态分析工具(SAST)噪声大以及独立 LLM 缺乏项目上下文的问题。

研究目的:该研究旨在解决软件开发生命周期早期(提交前阶段)的漏洞拦截难题,重点针对那些由增量代码变更引入、且依赖复杂上下文的“非成熟漏洞”。为了克服传统 SAST 工具误报率高(噪声大)以及独立 LLM 受限于上下文窗口、缺乏自主探索能力的局限性,本研究开发了 AgenticSCR 框架。其核心目的是通过模拟安全分析师的思维模式,利用自主决策、仓库导航及安全增强型语义记忆,实现对复杂代码逻辑的深度自动化审查,从而在漏洞流入主代码库之前将其精准识别并修复。

研究贡献

  • 提出 AgenticSCR 框架: 引入了一种专注于安全领域的智能体方法,利用安全增强的语义记忆(如SAST规则和 CWE知识库)来提升代码审查的准确性 。
  • 构建 SCRBENCH 基准数据集: 创建了一个具有仓库感知能力的、经过人工验证的行级非成熟漏洞基准数据集,填补了该领域缺乏高质量标注数据的空白。
  • 实证评估与验证: 在行级定位、安全审查意见生成和漏洞类型解释三个任务上验证了框架的有效性。实验结果显示,AgenticSCR生成的正确审查评论比例比静态 LLM 基准高出至少 153%,且显著超越了传统的 SAST 工具。

引言

安全代码审查是漏洞前置防范的核心实践,提交前安全代码审查作为安全左移的关键环节,因协调成本低、干预时机早成为行业重点应用场景,而该阶段产生的未成熟漏洞 —— 即由增量式代码变更引入的不完整、潜在性或上下文依赖型缺陷,是此环节的主要安全风险。这类漏洞单独存在时无明显危害,但随代码迭代易演变为可利用漏洞,且因代码变更幅度小、安全影响难推断,常被开发人员忽视,成为软件供应链的潜在安全隐患。

当前自动化安全代码审查技术在提交前未成熟漏洞检测中存在显著局限性:传统静态应用安全测试工具虽适配提交前阶段的低延迟需求,但其针对成熟漏洞设计的检测规则,在该场景下易产生大量误报且漏检上下文依赖型缺陷;基于大语言模型的审查技术虽具备优秀的安全推理能力,却因缺乏代码仓库的上下文感知能力,无法有效分析未成熟漏洞的上下文依赖特征,检测效果受限。

针对上述问题,本文提出 AgenticSCR 智能体化安全代码审查框架,一款面向提交前阶段的自主智能体框架。该框架融合大语言模型推理与自主决策、仓库导航等能力,设计检测器与验证器双生子智能体架构,通过为检测器融入静态应用安全测试规则长期语义记忆、为验证器搭建通用缺陷枚举验证框架,实现对上下文依赖型未成熟漏洞的精准检测。为验证框架有效性,本文构建了 SCR-Bench—— 首个支持仓库上下文感知的人工标注行级未成熟漏洞基准数据集,实验与消融实验均验证了 AgenticSCR 在漏洞定位精准度、类型预测正确率上的显著优势,且大幅降低了无效注释产出。

本文的研究不仅证实了安全增强型语义记忆对智能体人工智能开展安全代码审查的核心价值,还提出了未成熟漏洞检测这一全新研究方向,为后续智能体技术在软件安全领域的落地提供了可行的优化思路,也为提交前安全代码审查的自动化技术升级提供了新的解决方案。

研究背景

安全代码审查是现代安全软件开发生命周期的基石。在实践中,它嵌入开发的多个阶段,并得到日益壮大的自动化工具生态系统的支持。在 Atlassian 公司,工业级安全代码审查实践通常遵循多阶段流水线模式,审查范围和成本逐步递增(见图 1),例如:提交前安全代码审查⇒基于拉取请求(PR)的安全代码审查。

对于提交前安全代码审查,开发人员通常会自行检查代码变更以识别潜在问题。他们可借助集成于现代集成开发环境(IDE)或命令行环境(CLI)中的静态应用安全测试(SAST)工具获取即时警告。这些 SAST 工具基于漏洞规则和模式设计,具备低延迟、可频繁执行的特点。然而,已有研究和行业从业者一致反馈,SAST 工具会产生大量干扰信息,包括误报和低严重级别的警告,导致开发人员频繁忽略或禁用 SAST 检查,削弱了其防范价值。

近年来,已有研究开始探索在 IDE 中融入更丰富的深度学习(DL)驱动分析以弥补这一缺口。相关工作分别在行级、提交级、文件级和拉取请求级实现了即时漏洞检测,通常采用单体大语言模型(LLM)预测器或分类器。但这些方法往往依赖大型专有微调数据集和授权许可,阻碍了企业级本地部署;且仅基于有限的代码视角(如仅代码差异或小型代码块)进行分析,未考虑代码仓库中的完整上下文。因此,提交级和 PR 级分析仍处于被动响应状态,无法在提交前拦截不安全变更,只能允许其提交入库。

AIBugHunter 是一款与安全左移检查密切相关的工具,它将基于深度学习的漏洞检测直接集成到 Visual Studio Code 中,可在 IDE 界面内提供实时行级漏洞定位、分类、严重级别评估乃至修复建议。但 AIBugHunter 针对整个已打开文件进行分析,优化目标是文件级持续扫描,而非聚焦代码仓库中多个文件的特定变更;其实时行级检测需频繁调用模型,可能导致效率低下和干扰信息增多,难以真正满足提交前安全代码审查的需求。

此外,提交前阶段的漏洞可能处于不完整状态、高度依赖上下文,或仅在多轮编辑过程中潜藏。例如,不安全的 API 调用、缺失的验证逻辑或有缺陷的授权检查,单独来看可能看似无害,但随着周边代码的添加,可能演变为可被利用的缺陷。这些未成熟漏洞难以通过针对最终代码变更的事后分析技术检测 —— 此类技术适用于漏洞已完全显现的场景。因此,许多未成熟漏洞未能被及时发现,最终流入主仓库。

相关工作与局限性:尽管基于 LLM 的代码审查技术发展迅速,但现有方法仍未满足提交前安全代码审查的实践需求。表 1 对比了 AgenticSCR 与现有基于 LLM 的代码审查工作,具体存在以下局限性:①缺乏代码仓库上下文信息:多数现有工作仅利用 PR 中的可用信息(如代码差异或通用缺陷枚举(CWE)的文本描述)执行静态 LLM 提示(即对每个输入使用固定的预定义提示)以开展安全代码审查。

但提交前阶段的许多漏洞属于未成熟漏洞,存在不完整和依赖上下文的缺陷,需 LLM 结合代码仓库上下文进行分析,理解具体模式,才能推断尚未完全显现的潜在安全影响,因此亟需一种能有效开展提交前安全代码审查的新方法;②缺乏行级安全代码审查的真实数据与基准数据集:现有漏洞数据集主要针对文件级或函数级检测及完全显现的漏洞,以预测或分类为主要目标;现有代码审查基准数据集仅关注代码差异块(即包含修改行的小型代码窗口)的代码变更,缺乏高质量的行级标注,且未捕捉早期代码中的未成熟漏洞,不适合评估行级提交前安全代码审查生成效果。尽管近期有研究尝试实现行级安全代码审查,但其基准数据集未公开;此外,多数数据集未包含丰富的仓库级上下文(如依赖项、配置文件和其他静态资源),而这些信息有助于智能体人工智能检测漏洞的早期痕迹。

AgenticSCR概览

自主智能体化安全代码审查(AgenticSCR)框架是一款专为安全代码审查任务设计的自主式智能体系统,运行于命令行环境(CLI)中 —— 开发人员通常会在此环境中完成代码变更并优化,之后再提交至版本控制系统。提交前阶段的安全代码审查通常涉及不完整的代码变更和复杂的漏洞模式,这类场景需要迭代式推理和针对性探索。为应对这一挑战,AgenticSCR 采用智能体人工智能方法,以解决传统单一代码分析工具和基于大语言模型(LLM)的安全代码审查存在的固有局限性 —— 这类工具/方法往往缺乏上下文感知能力、适应性,且在多轮迭代中无法保持推理连续性。

因此,AgenticSCR 能够将高层级安全目标动态分解为专项子任务,协调多个子智能体,除代码变更外还能探索仓库级信息,并根据中间结果调整审查策略。显式记忆机制的融入进一步保障了分析步骤的连续性,使 AgenticSCR 能够逐步积累认知、减少重复工作、持续优化决策,最终成为一个自主安全审查器,其推理过程更贴近人类安全分析师的迭代式、目的性推理逻辑。

AgenticSCR 的输入感知环境(E)以命令行界面(CLI)为执行载体,包含代码仓库文件系统、提交前代码变更及 git、grep 等工具链,采用以代码差异(diff)为核心的感知策略,仅提取相关修改文件与行范围以适配大语言模型上下文窗口限制,同时持续整合环境信息构建深度领域知识;其核心架构为检测器(𝑎𝑑)与验证器(𝑎𝑣)组成的子智能体链,通过明确协调策略(Π)规范 “检测 – 验证” 流程,检测器子智能体依托集成于语义记忆的 SAST 规则,输出行级漏洞定位、审查注释及 CWE 标准化漏洞类型,验证器子智能体则基于 CWE 层级知识库过滤误报,保留经证实的漏洞;记忆模型(M)包含三类核心组件:存储 SAST 规则与 CWE 树的安全聚焦语义记忆(𝑀𝑠)、维护会话级临时上下文的工作记忆(𝑀𝑤)、记录历史推理轨迹的情景记忆(𝑀𝑒);子智能体可调用 open_files、git diff 等工具实现仓库交互与代码分析,确保推理基于实际程序工件;该框架基于 Atlassian 的 RovoDev CLI 构建,以 claude-sonnet-4 为基础推理模型,通过工作记忆传递中间上下文、情景记忆持久化执行日志,实现提交前未成熟漏洞的自主、精准检测。

实验设置

为评估 AgenticSCR 在提交前未成熟漏洞检测中的性能,本文构建了 SCRBench 基准数据集 —— 通过筛选 3256 个公开 CVE 获得 144 个符合条件的提交前代码变更(覆盖多仓库、多语言、多 CWE 类型),经沙箱环境模拟本地 Git 提交前状态及人工验证行级漏洞真值后完成构建;实验选取零样本静态 LLM 审查器(Claude 4.5 + 现有提示词)及 CodeQL、Semgrep、Snyk 三款主流 SAST 工具作为基线,在统一沙箱环境中运行并标准化输出以保障公平对比;围绕行级定位、注释相关性、CWE 类型阐释三项核心任务,设计正确定位率、相关注释率、类型正确率及总体正确率四项指标(其中相关性通过 LLM 裁判判定,类型正确性基于 CWE 高层类别匹配),全面评估各方法的检测效果。

实验结果

实验结果围绕三个核心研究问题展开,整体展现了 AgenticSCR 在提交前未成熟漏洞检测中的优势及关键特性:在整体性能上(RQ1),AgenticSCR 生成的注释中 17.8% 实现定位正确、内容相关且有效阐释漏洞,这一比例分别比静态 LLM 和三款 SAST 工具高出 10.6 和 13.8 个百分点,同时误报率相对降低 71.3%-85%,核心得益于检测器 – 验证器子智能体的设计模式,其 “规则 + 智能体 + 推理” 的架构显著优于传统 SAST 工具的纯规则驱动模式。

在漏洞类型适配性上(RQ2),AgenticSCR 在注入类(23.4%)和授权类(21.4%)漏洞上表现最佳,能精准标注漏洞行并预测类型,但在信息泄露类(6.2%)和控制流管理类(0%)漏洞上表现不佳,后者因需业务上下文等额外信息而难以检测。

在安全聚焦组件贡献上(RQ3),SAST 规则使总体正确率绝对提升 5.7%,CWE 树在此基础上再提升 4.5%,二者结合让 AgenticSCR 以仅 211 条注释实现 17.5% 的最高总体正确率,有效降低误报。补充讨论显示,安全代码审查指南虽能使性能绝对提升 3%,但效果显著不及 SAST 规则;而 SAST 规则与指南的组合反而因异构知识源的干扰导致性能下降,未能实现互补增益。

论文结论

本文提出了智能体人工智能安全代码审查框架 AgenticSCR,该框架面向命令行环境下新变更代码中的未成熟漏洞。AgenticSCR 利用智能体架构中的增强信息,子智能体可自主获取仓库级上下文,同时参考安全聚焦语义记忆 —— 基于静态应用安全测试(SAST)规则检测问题,并通过通用缺陷枚举(CWE)树验证注释有效性。

实验结果证实,AgenticSCR 生成的注释中,17.5% 实现了精准定位、内容相关且漏洞类型判定有效,该比例为所有对比方法中最高,而注释数量仅为静态大语言模型(LLM)及静态应用安全测试(SAST)工具的 1/2 至 1/5。研究结果表明,为智能体人工智能赋予安全聚焦语义记忆,可显著提升其在提交前阶段检测未成熟漏洞的性能,进而通过在软件开发生命周期中实现更早的漏洞检测,为安全左移实践提供支持。

-End-


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:安全极客 知识分享者 知识分享者《【论文速读】|AgenticSCR:一种用于潜在漏洞检测的自主智能体式安全代码评审方法》

评论:0   参与:  0