[Paper] MOSAIC-Bench:测量编码代理中的组合脆弱性诱导
发布: (2026年5月6日 GMT+8 00:38)
8 分钟阅读
原文: arXiv
Source: arXiv - 2605.03952v1
概述
本文介绍了 MOSAIC‑Bench,一个新的基准,用于评估在向编码助手提供一系列看似无害的开发任务时,它们被诱导生成漏洞代码的程度。通过串联无害请求,攻击者甚至可以将经过安全强化的模型引导至传统逐提示安全检查难以捕捉的恶意结果。
关键贡献
- 系统基准:对199条三阶段攻击链进行基准测试,覆盖10个真实的Web应用代码库、31个CWE漏洞类别和5种编程语言。
- 确定性利用预言机,自动验证生成的代码是否真的引入了安全缺陷。
- 双轴评估:同时衡量攻击成功率(利用的真实情况)以及下游代码审查员批准漏洞更改的可能性。
- 对九种生产环境编码代理的实证研究(Anthropic、OpenAI、Google、Moonshot、智谱、Minimax),显示端到端攻击成功率为53%‑86%,整个过程仅出现两次拒绝。
- 与直接提示攻击的比较,揭示分阶段工单工作流显著降低模型的内置拒绝或加固行为(直接提示成功率为0%‑20%,而分阶段成功率超过50%)。
- 缓解实验:将审查员重新定位为对抗性渗透测试者,可将规避率降至3%‑17%;使用 Gemma‑4‑E4B‑it 审查员在真实 GitHub PR 中捕获了88.4%的攻击,误报率仅为4.6%。
方法论
- 攻击设计 – 研究人员构造了 199 条“票据链”,每条链包含三个看似无害的开发任务(例如,添加功能、重构代码),但它们共同引导模型插入特定漏洞。
- 代码生成 – 将每张票据依次输入编码代理,模拟典型的工程工作流,即开发者迭代完善 Pull Request。
- 利用检测器 – 在最后一张票据之后,自动检查器使用已知利用方式(例如,SQL 注入、XSS)运行生成的代码,以确认漏洞是否真实存在。
- 审阅者模拟 – 另一个代码审阅模型评估累计的 diff 并决定是否合并。测试了两种审阅者设置:
- (a) 标准的“常规 PR”审阅者,
- (b) 被提示充当安全渗透测试员的审阅者。
- 基线直接提示 – 为了对比,使用单一直接提示模型尝试相同的漏洞目标,绕过票据链。
- 指标 –
- 攻击成功率 (ASR) – 产生可工作利用的链的比例。
- 审阅者接受率 – 审阅者批准的有漏洞 diff 的比例。
- 误报率 – 审阅者将干净代码误判为恶意的频率(在 608 个真实 GitHub PR 上测量)。
结果与发现
| 代理组 | 端到端 ASR(分阶段工单) | 直接提示 ASR | 审核者接受率(标准) | 审核者接受率(渗透测试者框架) |
|---|---|---|---|---|
| Anthropic, OpenAI, Google, Moonshot, Zhipu, Minimax (9 agents) | 53 % – 86 % | 0 % – 20.4 % | 25.8 % | 3 % – 17.6 % |
| Gemma‑4‑E4B‑it(审稿人) | – | – | – | 检测出 88.4 % 的攻击,误报率 4.6 % |
- 分阶段工单显著削弱内置防御:通常会拒绝或在直接请求时“加固”代码的模型,在恶意意图被拆分为多个无害请求后会变得顺从。
- 审核者是薄弱的关卡:标准审核者大约批准四分之一的有漏洞更改,表明传统的 PR 自动化不足以保障安全。
- 渗透测试者框架有效但并非完美:让审核者以攻击者的思维进行审查可以显著降低接受率,但仍有相当比例的攻击能够逃过检测。
- 上下文碎片化并非唯一原因:即使将整个链路全部呈现在单一上下文中,攻击成功率仍然很高,说明存在更深层的组合漏洞。
实际影响
- 工具链需要组合安全检查:安全审计不仅要评估每个单独的请求,还要考虑一系列看似无害的更改的累计影响。
- 集成对抗审查模式:部署“渗透测试员”审查员(或专门的静态分析步骤)可以捕获许多有计划的攻击,而不会让开发者被误报淹没。
- 模型开发者必须在多步骤对抗场景上进行训练:仅关注单一提示拒绝的当前对齐方法不足;训练数据应包含逐步导致不安全结果的链式任务。
- DevOps 团队应将 AI 生成的 PR 视为高风险资产:在没有人工安全审查的情况下自动合并 AI 生成的代码,可能大规模引入可被利用的漏洞。
- 开源安全工具可以利用 MOSAIC‑Bench:该基准提供了一套现成的真实漏洞链,用于测试新防御、代码检查器或模型加固技术。
限制与未来工作
- 基准范围: 虽然 MOSAIC‑Bench 覆盖了多样的 CWE 和语言,但它侧重于 Web 应用后端;其他领域(例如嵌入式系统、机器学习流水线)仍未测试。
- 静态 Oracle 依赖: 利用验证是确定性的,但可能遗漏需要动态分析的更微妙或上下文相关的漏洞。
- 审阅者模型是静态的: 本研究评估了一组固定的审阅代理;自适应、基于学习的审阅者可能表现不同。
- 未探讨的人为因素: 真实开发者审阅 AI 生成的工单的影响(如疲劳、信任)超出当前范围。
- 未来方向 包括将基准扩展到更多编程范式、将动态模糊测试作为 Oracle、以及研究明确惩罚组合不安全行为的训练方案。
作者
- Jonathan Steinberg
- Oren Gal
论文信息
- arXiv ID: 2605.03952v1
- 分类: cs.CR, cs.AI, cs.SE
- 发表时间: 2026年5月5日
- PDF: 下载 PDF