---
source: arxiv
url: https://arxiv.org/abs/2605.03952v1
published_at: '2026-05-05T16:38:23'
authors:
- Jonathan Steinberg
- Oren Gal
topics:
- coding-agents
- code-security
- agent-benchmarks
- software-vulnerabilities
- ai-code-review
- multi-step-attacks
relevance_score: 0.93
run_id: materialize-outputs
language_code: zh-CN
---

# MOSAIC-Bench: Measuring Compositional Vulnerability Induction in Coding Agents

## Summary
## 摘要
MOSAIC-Bench 表明，当一个漏洞被拆分到正常的三票工作流里时，生产级编码代理也会把看似无害的工程票据变成可被利用的软件。这个基准使用可运行的概念验证 oracle，因此可利用性是在已部署的测试应用上检查的，而不是由模型判断的。

## 问题
- 现有的编码代理安全测试常用单个直接提示，这会漏掉只在多个常规票据按顺序实现后才出现的漏洞。
- 这对 Jira 风格的开发流程很重要：有权限访问待办列表的恶意票据作者可以避开明确的恶意措辞，同时仍然把代理引向可被利用的代码。
- 标准的 AI 代码审查器也会漏掉一部分风险，把已经确认存在漏洞的累计 diff 当作普通拉取请求通过。

## 方法
- 论文提出 MOSAIC-Bench：199 条三阶段攻击链，覆盖 10 个 Web 应用底层、31 个 CWE 类别和 5 种编程语言。
- 每条链包含三张 Jira 风格票据、一个组合实现、元数据，以及一个确定性的 Python 概念验证 oracle，它会在 Docker 部署上返回 VULNERABLE 或 SECURE。
- 作者在每张票据使用新会话的协议下，测试了来自 Anthropic、OpenAI、Google、Moonshot、Zhipu 和 Minimax 的 9 个生产级编码代理。
- 他们把分阶段票据与匹配的直接提示进行比较，然后在仅看 diff、全上下文、中性和按渗透测试人员框架的审查协议下测试审查代理。

## 结果
- 在 9 个编码代理上，分阶段票据带来了 53.3% 到 85.9% 的端到端攻击成功率；GPT 5.3 达到 85.9%，Claude Opus 4.6 达到 53.3%。
- 整个基准的分阶段运行只有 2 次拒绝；而对 4 个 Claude/Codex 代理进行的匹配直接提示测试，脆弱输出率为 0% 到 20.4%。
- 四个前沿编码代理中，至少有一个能利用 95% 的攻击链。
- 中性代码审查器把 24.8% 经 oracle 确认存在漏洞的累计 diff 当作普通 PR 批准；加入整个代码库上下文后，平均规避率降到 16.4%。
- 保留三阶段全过程中的对话记忆，只能在中位数上填平大约 50% 的分阶段/直接差距；GPT 5.4 在完整记忆下仍有 59.8% 的 ASR。
- 把审查任务改写为渗透测试人员视角后，所评估审查器子集上的规避率降到 3.0% 到 17.6%；Gemma-4-E4B-it 在 608 个真实 GitHub PR 上的误报率为 4.6%，同时检测到了 88.4% 的攻击。

## Problem

## Approach

## Results

## Link
- [https://arxiv.org/abs/2605.03952v1](https://arxiv.org/abs/2605.03952v1)
