✨ 要点🔬 技术摘要
想象一下,你正试图修理一栋非常古老且复杂的房子(一个用 C 或 C++ 编写的软件程序),这栋房子隐藏着裂缝和薄弱环节(安全漏洞)。在过去,你可能会雇佣一名超级聪明的侦探(标准的 AI)来检查房子,寻找裂缝,并尝试一次性修补所有问题。有时这位侦探做得很好,但通常他们会被搞得应接不暇,错过细微的线索,或者修错了墙壁。
这篇论文提出了一种不同的方法:雇佣一支专业的特种作业团队 ,而不是一名孤独的侦探。他们在一个严格的流水线上协同工作,每个人都有特定的职责。
以下是该团队是如何运作的,使用了论文中的研究结果:
1. 团队角色(“智能体工作流”)
研究人员建立了一个由四个不同角色组成的数字团队,类似于一个建筑施工队:
规划者(现场经理): 在任何人开始挖掘之前,这个智能体会扫描蓝图(代码)以发现明显的麻烦点。它不负责修复任何东西;它只是指引团队走向看起来可疑的区域,比如“检查后门”或“观察地基”。
关键发现: 论文发现,拥有这个“现场经理”至关重要。当他们移除这个角色时,团队发现问题的能力下降了近一半。
分析者(检查员): 这是主要的侦探。他们根据规划者提供的线索和原始代码,弄清楚到底哪里坏了、为什么坏了,以及窃贼会如何潜入。
关键发现: 研究人员尝试给这个智能体配备了一台高科技金属探测器(一个名为 CodeQL 的工具)来帮助寻找裂缝。令人惊讶的是,金属探测器并不总是有效。有时它会发出过多的虚假警报,让检查员感到困惑。最好的结果来自于 AI 模型本身的深度思考,而不是过度依赖这个额外的工具。
修复者(修理工): 一旦检查员说:“门框腐烂了”,修复者就会尝试造一扇新门。他们编写代码来填补这个漏洞。
关键发现: 这是最难的工作。虽然团队在发现问题方面表现尚可(准确率约为 44%),但要正确修复它却难得多(仅为 19% 左右)。通常,修复者在修补漏洞的同时,会不小心损坏附近的其它部分,或者添加了不必要的部件。
验证者(安全检查员): 在维修完成后,这个智能体会复核工作。他们会询问:“你真的修复了腐烂吗?你是让房子变得更安全了,还是仅仅在裂缝上刷了层漆?”
关键发现: 这个角色在发现错误方面表现相当出色,捕捉到了大约 69% 的维修错误。
2. 实验
研究人员在 25 个真实的安全性漏洞 上测试了这个团队,这些漏洞发现于流行的 C/C++ 软件(例如用于安全关键系统的软件)。他们使用了三种不同的“大脑”(AI 模型)来驱动团队成员。
他们比较了两个版本的团队:
团队 A: 仅由四个角色进行对话。
团队 B: 同样的四个角色,但检查员配备了 CodeQL 金属探测器来帮助寻找裂缝。
3. 他们的发现
“经理”最为关键: 过程中最重要的部分是 规划者 。如果没有一个经理来引导团队去哪里寻找,AI 就会迷失方向。有了经理,团队在发现 漏洞方面的表现与顶尖的商业级 AI(GPT-5.5)不相上下。
工具并非万能: 给检查员配备一个高级工具(CodeQL)并不会自动让他们变得更好。事实上,有时情况会变得更糟,因为 AI 难以正确解读工具的数据。论文表明,对于低级计算机语言(如 C),AI 需要足够聪明,能够自行判断哪些线索更重要。
发现 vs. 修复: AI 发现安全漏洞比修复漏洞要容易得多。团队发现漏洞的成功率约为 44%,但正确修复它们的成功率仅为 19%。
人工干预仍然必要: 由于“修理工”(修复者)经常犯错或添加不必要的改动,论文得出结论:在现实世界的安全领域,你不能只让 AI 说了算。你需要有人在 AI 肩后监督,检查维修工作,并确保房子确实安全。
核心结论
这篇论文并不是声称 AI 现在可以独立完美地保障软件安全。相反,它表明将 AI 组织成具有明确角色的结构化团队 ,比让单个 AI 处理所有事情是更好的处理安全问题的方法。然而,即使拥有优秀的团队,“修复”部分仍然非常棘手,人类专家对于验证工作仍然至关重要。
技术摘要:工作流中的安全性——探索用于漏洞处理的角色化智能体架构
问题陈述
工业实践中的安全软件工程涉及一个结构化的、多阶段的工作流,包括漏洞分析、修复和修复验证。然而,当前基于大语言模型(LLM)的软件安全方法通常是碎片化的,侧重于孤立的任务(如检测或补丁生成),而不是反映现实世界安全流程中的端到端智能体工作流。这导致了现有 LLM 方法与实际安全软件工程之间存在差距,特别是在 C 和 C++ 等底层系统语言方面。在这些语言中,漏洞依赖于复杂的内存语义、指针操作和缓冲区管理,这使得诊断和修复变得极具挑战性。此外,针对这些底层上下文,关于工具增强型智能体工作流和模型上下文协议(MCP)技能集成的探索也十分有限。
研究方法
作者提出并评估了一种基于角色的智能体工作流,旨在将漏洞处理分解为明确的阶段:调查规划、漏洞分析、补丁生成和修复验证。
工作流设计
该研究使用 CrewAI 框架实现了两种工作流变体,并实例化了三种开源大语言模型:nemotron-cascade-2:30b 、qwen3-coder-next 和 gpt-oss:120b 。工作流由四个不同的角色组成:
规划者 (Planner): 一个基于规则的静态模块(非 LLM),利用正则表达式扫描输入 C 代码中的预定义漏洞模式(例如缓冲区溢出、空指针解引用)。它输出优先级的调查区域和主题,以指导分析者。
分析者 (Analyzer): 一个负责技术诊断的 LLM 智能体。它确定主要漏洞,分配通用弱点枚举(CWE)ID,识别漏洞行,解释根本原因,并追踪从源到汇(source-to-sink)的流向。
工作流 1: 分析者仅依赖规划者的指导。
工作流 2: 分析者通过 MCP CodeQL 集成 进行增强,在诊断过程中提供静态分析能力。
修复者 (Fixer): 一个根据分析者诊断结果生成最小安全补丁的 LLM 智能体。它被约束为仅生成补丁和简洁的解释,避免重新进行诊断。
验证者 (Verifier): 一个独立的 LLM 智能体,负责评估生成的补丁是否解决了已识别的漏洞、是否消除了根本原因以及是否避免引入了回归缺陷。
实验设置
数据集: 一组精心策划的 25 个真实世界 C/C++ 常见漏洞与披露 (CVE) ,涵盖五个 CWE 类别:CWE-787(越界写入)、CWE-476(空指针解引用)、CWE-190(整数溢出)、CWE-125(越界读取)和 CWE-191(整数下溢)。
地面真值 (Ground Truth): 源自国家漏洞数据库 (NVD) 的描述和开发者提供的已修复代码。
评估: 由两名作者进行基于评分量表的专家人工评估(Cohen's kappa κ = 0.83 \kappa = 0.83 κ = 0.83 ),将智能体输出与地面真值进行对比。指标包括检测准确性(CWE 分配、行识别、根本原因)和修复准确性(与受信任修复方案的语义相似度)。
范围: 本研究是一项探索性的、面向方法论的评估,而非大规模基准测试,重点关注 150 次工作流执行(25 个 CVE × \times × 3 个模型 × \times × 2 个变体)。
核心贡献
基于角色的智能体架构: 提出并评估了将规划、分析、修复和验证分离的端到端工作流,展示了显式的角色分离如何使安全活动结构化。
静态规划器设计: 实现了一个基于规则的规划器,用于指导工业级 C 项目中的漏洞调查,证明了其对提升检测质量的关键作用。
精选参考集: 提供 25 个带有地面真值元数据、开发者修复程序和 LLM 生成输出的真实 C/C++ 漏洞实例,并附带用于复现的开源 CrewAI 框架代码。
工具集成分析: 研究了将基于 MCP 的静态分析(CodeQL)集成到多智能体工作流分析阶段的有效性。
结果
研究报告了以下性能指标(使用 nemotron-cascade-2:30b 作为主要比较模型):
检测准确性:
工作流 1(无 CodeQL): 实现了 44% 的检测准确性,与 GPT-5.5 基准相当。
工作流 2(含 CodeQL): 准确率下降至 31% ,表明如果智能体无法正确解释或优先处理工具提示,仅靠工具集成并不能保证提升。
消融实验: 去除规划器后,检测准确率降至 25% (无 CodeQL)和 19% (有 CodeQL),强调了规划器的关键作用。
修复准确性:
整体修复准确性较低,工作流 1 为 19% ,工作流 2 为 13% 。
修复比检测要困难得多。虽然某些补丁与地面真值“相当”甚至“更好”(特别是针对 CWE-476 和 CWE-787),但许多补丁包含了不必要的逻辑或引入了新漏洞。
验证者准确性:
验证者在使用 nemotron-cascade-2:30b 时达到了 69% 的准确率,表明其在修复后评估方面的能力强于生成能力。
CWE 差异性: CWE-787 和 CWE-476 最容易被检测,而 CWE-191(整数下溢)在所有模型和设置中仍然是最难处理的。
意义与主张
本文将本工作定位为一项初步的探索性研究 ,而非决定性的基准测试。其主要意义在于:
流程改进: 证明了通过将安全任务分解为结构化的、基于角色的阶段(规划、分析、修复、验证),可以使安全活动更具可重复性和透明度。
人机协同的必要性: 强化了尽管 LLM 在进步,但生成的补丁质量参差不齐以及工具集成效果不一,这使得在安全关键型场景中持续进行人工监督变得必不可少。
工作流优于模型: 将重心从选择“最佳”模型转向优化底层的设计工作流和集成技术。作者指出,虽然模型筛选至关重要,但工作流设计本身才是提升性能的主要杠杆。
工具集成的细微差别: 强调集成 CodeQL 等工具需要精心的智能体设计,以确保提示信息被正确地优先处理;仅仅添加工具并不会自动增强性能。
作者总结道,基于角色的智能体架构是改进安全软件流程的一个有前景的方向,这为未来在更大规模数据集、仓库级分析以及更精细的工作流替代方案(例如:多分析者、精炼循环)方面的工作提供了动力。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。