✨ 要点🔬 技术摘要
想象一个规模宏大、繁忙有序的建筑工地,成千上万的人正在那里建造软件。在这个世界里,当墙上发现一道危险的裂缝(安全漏洞)时,它会获得一张带有特定 ID 数字的独特“通缉令”,比如 CVE-2025-12345 。这些海报能让每个人都确切知道他们正在讨论的是哪一道裂缝。
这篇论文就像是一个侦探故事,它在追问:“到底是谁在建筑工地上张贴这些‘通缉令’,以及他们是如何使用它们的?”
研究人员观察了一个特定的建筑工地,叫做 GitHub ,在那里代码被编写和修复。他们专注于“拉取请求”(Pull Requests)——这就像是修复问题或为建筑添加新砖块的正规申请。他们想看看提到这些“通缉令”的人,究竟是人类 、机器人 (自动化机器人),还是 AI 智能体 (智能的自主助手)。
以下是他们的发现,通过简单的分类进行了拆解:
1. 机器人最爱说话(但很简短)
研究发现: 机器人提到这些漏洞 ID 的频率约为 69% 。类比: 把机器人想象成邮件室职员 。他们极其高效,处理着绝大部分的邮件。当机器人提到“通缉令”时,通常是在履行职责:“嘿,我们更新了这个门的锁,因为旧的坏了。这是坏掉的锁的通缉令(CVE-123)。”
他们在哪里说话: 他们几乎总是把海报贴在主公告栏 上(拉取请求的描述部分)。他们很少在走廊里聊天(评论),也极少把海报写在砖块本身上(提交信息)。
原因: 他们主要是在进行自动化的检查,或者是在用新的、更安全的零件替换旧零件。
2. 人类是深度钻研者
研究发现: 虽然人类提到这些 ID 的总频率较低,但当他们提到时,内容要详细得多。类比: 人类是建筑师和首席工程师 。他们不只是把海报贴在墙上;他们会讨论那道裂缝,解释为什么 会发生这种情况,以及他们是如何修复它的。
他们在哪里说话: 人类不仅把海报放在公告栏上,还会把它们写在蓝图 上(提交信息),并在会议室 里大声喊出来(标题和评论)。
原因: 他们利用这些 ID 来解释复杂的修复工作,讨论安全性,或确保每个人都理解他们正在解决的具体危险。
3. AI 智能体是刚入行的新人
研究发现: 自主 AI 智能体(比如那些新型的智能助手)提到这些 ID 的频率非常低。类比: 这些智能体就像是实习生 ,还在学习规矩。当他们提到“通缉令”时,表现得有点像邮件室职员和建筑师的结合体。他们可能会修复某个问题或进行安全检查,但他们还没有像人类或机器人那样开始频繁地讨论这些问题。
大局观:不同的工作,不同的风格
论文得出结论,虽然大家都在使用相同的“通缉令”,但使用它们的目的各不相同:
机器人 将它们作为收据 :“我完成了工作,这是证明。”
人类 将它们作为解释 :“这就是我们为什么做这项工作,以及这意味着什么。”
智能体 才刚刚开始在对话中寻找自己的声音。
总结: 目前,自动化机器人正在承担着仅仅是“注意到”和“列出”危险的繁重工作。但人类才是那些深入思考“如何修复”以及“为什么这很重要”的人。随着 AI 智能体开始承担更多工作,我们可能需要教导它们像人类那样去谈论这些危险——即解释“为什么”,而不只是“是什么”。
问题陈述 软件漏洞通常通过标准化的标识符系统进行管理,例如通用漏洞披露(CVE)、通用弱点枚举(CWE)和 GitHub 安全公告(GHSA)。虽然先前的研究已经证实这些标识符被引用在开源开发制品(如提交和议题)中,但它们在拉取请求(PR)中的具体使用模式仍不明确。鉴于软件开发格局的演变——即自主编码智能体、机器人与人类开发者共同协作——这一点显得尤于重要。目前尚不清楚是谁在提及这些标识符、它们出现在 PR 制品的什么位置,以及使用这些标识符背后的意图是什么。特别是不清楚自主智能体是否在安全维护任务中进行了有意义的参与,还是这项工作仍主要由人类和依赖项管理机器人驱动。
方法论 本研究采用了一种结合大规模定量分析与定性编码的混合方法:
数据集构建: 作者利用了 AIDev-pop 数据集,该数据集是 AIDev 集合的一个子集,包含来自五个自主智能体(OpenAI Codex、Devin、GitHub Copilot、Cursor 和 Claude Code)在 2,807 个高星仓库中生成的 33,596 个拉取请求。为了实现对比,作者通过查询相同仓库中在同一时间范围内(2025 年 1 月 1 日至 2025 年 8 月 1 日)明确提及漏洞 ID 的人类或机器人所创建的拉取请求,对该数据集进行了扩充。
检测策略: 研究重点关注了数据中识别出的四种漏洞 ID 方案:CVE、GHSA、CWE 和 Go 特定 ID (GO)。基于开源漏洞(OSV)规范的正则表达式被应用于 PR 标题、描述、评论、评审评论以及关联的提交消息中。
分类: 账户被分为机器人、人类或智能体。机器人识别依赖于高精度的信号:显式的 GitHub bot 标签、包含“bot”字样的用户名以及经过筛选的已知机器人账户列表。
分析: 定量分析测量了不同贡献者类型和制品位置的提及频率与分布。定性分析涉及两名作者对随机抽取的 70 个拉取请求进行独立编码,以识别反复出现的用法模式和上下文,并通过解决分歧来建立统一的编码方案。
核心贡献
参与者的对比分析: 本文首次系统地比较了人类、机器人和自主智能体在拉取请求中提及漏洞标识符的方式。
细粒度位置映射: 研究不仅详细说明了谁 提及了 ID,还说明了它们出现在哪里 (例如,PR 描述与提交消息的对比),揭示了不同参与者之间的行为差异。
上下文理解: 通过定性分析,研究对 ID 提及的具体意图进行了分类,区分了自动化信号与人类/智能体驱动的推理。
结果
容量与分布: 机器人占据了漏洞 ID 提及的大部分份额(约占总提及量的 69.1%,即在 4,184 个 PR 中出现了 5,345 次提及)。人类账户贡献了 2,302 次提及,而智能体账户仅贡献了 90 次提及。
集中度与广度: 虽然机器人产生了最高的容量,但它们通常在每个 PR 中添加的标识符很少(中位数为一个),并且几乎完全将这些提及集中在 PR 描述中。相比之下,人类和智能体的提及虽然总体较少,但涵盖了更广泛的制品,包括提交消息和 PR 标题。人类账户表现出更广的分布,某些 PR 包含多达 51 次提及,通常与工具改进或分类映射有关。
使用模式(定性发现):
机器人: 主要将 ID 用于自动化依赖更新 (例如 Dependabot、Renovate)和安全审计 。它们的提及作为轻量级的信号,用于证明更新的合理性或报告发现,通常链接到公告数据库。
人类: 最频繁地使用 ID 来支持漏洞修复 、解决合并冲突或参与 PR 讨论 。他们使用 ID 来解释代码更改、证明补丁的合理性并对风险进行推理。
智能体: 表现出混合模式,既用于缓解活动也用于自动化安全检查,尽管其总体量较低。
特定上下文: 研究确定了 ID 使用的四个主要上下文:自动化依赖更新(47 次)、漏洞修复/缓解(12 次)、依赖项安全审计(10 次)以及设计权衡的说明性引用(1 次)。
意义与主张 本文主张,漏洞标识符根据参与者的不同发挥着不同的协调作用。机器人生成的提及主要作为自动化信号,用以证明依赖更新的合理性或报告审计发现,且通常局限于 PR 描述中。相反,人类和智能体的提及与开发生命周期结合得更紧密,出现在提交消息和讨论中,用以解释修复方案、对风险进行推理并支持设计决策。
作者指出,随着自主智能体越来越多地参与到安全相关的开发中,需要能够更好地支持上下文 ID 使用(超越简单的自动化信号)的工具和评审工作流。这包括保留推理过程、将 ID 与特定代码更改相链接,并使安全意图对评审人员更加可见。该研究并非旨在解决这些问题,而是强调了不同参与者利用这些标识符方式的差异,并建议未来的工作应探讨这些模式如何影响评审结果和修复时间线。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。