AI生成的拉取请求能否在避免团队被误报淹没的同时提升安全性?

AI生成的拉取请求能够以可控的误报率提升安全性,但其效果取决于工具设计与团队实践。

直接答案

是的,AI生成的拉取请求可以在不压垮团队的情况下提升安全性,但效果很大程度上取决于工具本身及其使用方式。例如,自动化依赖更新工具Dependabot生成的拉取请求中,有65%的安全相关PR被采纳,通常一天内即可合并,且仅3.2%会导致构建失败[4]。一款名为Bugdar的新型AI代码审查工具,能在不到一分钟内处理一个PR,并通过针对每个项目的代码库定制反馈来降低误报率[1]。然而,一项涵盖超过33,000个AI生成PR的广泛研究发现,许多安全相关的提交仍会引入诸如注入漏洞和路径遍历等反复出现的问题,且部分存在缺陷的贡献最终仍被合并[3]。因此,关键在于:AI能提供帮助,但团队应将其与人工审查相结合,并需根据自身具体场景对工具进行调整。

4篇文献引用

本文由 WisPaper 驱动的搜索和论文分析生成。

AI 能在多大程度上提供帮助,又不至于让团队应接不暇?

证据表明,当AI安全拉取请求(PR)针对狭窄且定义明确的任务设计时,既能高效运作,又能减少团队负担。Dependabot(自动更新易受攻击依赖项的工具)便是一个成功案例:在2,904个JavaScript项目中,其安全PR的接受率达65.42%,且大多数在一天内完成合并[4]。其中仅3.2%的PR导致构建失败,这意味着绝大多数PR无需额外工作即可安全合并[4]。这表明,对于常规依赖项更新,AI能以极低的团队负担处理安全修复。

在更广泛的代码审查任务中,新一代AI工具也展现出潜力。Bugdar是一款针对GitHub的AI增强代码审查系统,平均每处理一个PR(约每秒30行代码)仅需56.4秒,远快于可能耗时数小时的人工审查[1]。它通过微调大型语言模型和检索增强生成技术,提供针对具体项目的反馈,从而减少无关警报[1]。然而,该工具尚处于非常早期的阶段(2025年),尚未经过大规模独立验证,因此其在实际应用中的误报率仍有待证实。

有哪些注意事项和风险?

并非所有AI生成的安全相关PR(拉取请求)都同等可靠。一项针对超过33,000个AI生成PR的大规模研究发现,其中675个与安全相关,但这些PR引入了诸如正则表达式效率低下、注入漏洞和路径遍历等反复出现的安全弱点[3]。令人担忧的是,许多存在缺陷的贡献仍被合并,而拒绝的原因往往来自社交或流程因素(如不活跃或缺少测试),而非安全缺陷本身[3]。这意味着,AI在试图修复漏洞的同时,也可能引入新的安全隐患,而团队未必能及时发现。

同一研究发现,提交信息质量——通常是细致工作的标志——对AI生成的拉取请求是否被接受或合并速度影响甚微,这与人类提交的拉取请求不同[3]。这表明团队可能未对AI贡献进行应有的严格审查。作者还扩展了现有的拒绝分类体系,新增了AI生成安全类拉取请求特有的类别,表明AI引入了团队需要学会识别的新型故障模式[3]

谁最受益,在什么条件下?

受益最大的团队是那些将AI用于依赖项更新等狭窄、重复性安全任务的团队。Dependabot的高接受率和低故障率表明,这是一个低风险、高回报的应用场景[4]。此前有使用Dependabot经验的项目也实现了更快的合并速度,这意味着投入时间学习该工具的团队能获得叠加收益[4]

在更广泛的安全代码审查中,成功的条件更为严格。Bugdar的设计——采用项目特定调优并支持多种语言——表明定制化是避免误报的关键[1]。团队应预期投入时间将AI配置到自己的代码库中,并审查其输出,至少在初期阶段如此。对33,000个AI拉取请求的研究还发现,与安全相关的AI拉取请求往往存在少量反复出现的弱点,因此团队可以制定针对性的检查清单或增加自动化检查,以捕捉这些特定问题[3]

一个关键条件是,团队绝不能盲目信任AI。存在缺陷的安全PR被合并的情况[3]表明,人工审查仍然至关重要,尤其是对于非常规变更。理想的模式是建立协作关系:AI负责处理基础性工作(如依赖更新、常规模式检查),而人类则专注于架构层面的安全决策和新型漏洞的应对。

关于这些来源

该答案基于4项研究(2篇经同行评审,2篇为预印本)——发表于2021年至2026年间,其中3篇来自2024年或之后——这些研究是从通过质量筛选的4项研究中选出的最具相关性的内容,而后者又源自从超过5亿篇论文的数据库中检索出的41篇文献。

本文引用的文献

1

Bugdar:面向GitHub拉取请求的AI增强型安全代码审查工具

Bugdar 是一款针对 GitHub 拉取请求(PR)的 AI 增强型代码审查系统,平均处理一个 PR 仅需 56.4 秒(每秒处理 30 行代码)。它利用微调后的大语言模型(LLM)和检索增强生成(RAG)技术,提供针对具体项目的反馈,并支持 Solidity、Move、Rust 和 Python 语言。该系统旨在通过为每个代码库定制分析,减少误报率。

2

复现包:《关于安全相关AI生成拉取请求的见解》

这是一个关于安全相关AI生成PR的实证研究的复现包(包含数据集、脚本和文档)。其中包含对245个PR的手动标注以及标注者间一致性分析,但摘要未提供定量结果。

3

关于安全相关AI生成拉取请求的见解

分析了超过33,000个AI生成的PR,识别出675个与安全相关的PR。发现了反复出现的弱点(正则表达式效率低下、注入漏洞、路径遍历),许多有缺陷的PR仍被合并,并且提交信息质量对AI PR的接受率或延迟影响甚微。扩展了拒绝分类体系,新增了AI特有的类别。

4

关于Dependabot安全拉取请求的使用

对2,904个JavaScript项目中的Dependabot使用情况进行了研究:65.42%的安全相关拉取请求被接受,大部分在一天内合并,仅3.2%导致构建失败。此前使用Dependabot的经验与更快的合并速度相关;漏洞严重程度与合并时间无显著关联。