APEX-Harm: Evaluating Agent Safety in Shared Professional Workspaces
Ziyi Yang, Adel Bibi, Guohao Li, Bernard Ghanem, Carlos Hinojosa
cs.CR, cs.CL
2026-10-09
APEX-Harm 用 180 道投行、咨询和法律任务测了 12 个模型:Opus 5 总攻击成功率 8%,用户点名的脚本替换平均仍达 81% 到 84%,任务分 0.877 的 Gemini 3.8 Flash 攻击成功率还有 33%。
办公 agent 连着共享盘、邮件、日历和表格,一轮投行或法律任务要翻上百个文件。对手多半是有共享目录写权限的同事,能改一部分文件,却不知道 agent 会打开哪一份。注入落在没人读的文件上,攻击不会发生,模型会显得很安全。
AgentDojo、OS-Harm 把注入放在确定会被读到的位置,工作区通常不到 40 个文件,文档平均不到 5 页。APEX-Agents 的世界有 115 到 328 个文件,Word 和 PDF 平均 43.4 页。阅读位置未知时,碰不到载荷就会被记成安全。
APEX-Harm 同时记三件事:暴露率(读没读到恶意内容)、攻击成功率(做没做越权动作)、原任务 rubric 分(专家条目对了多少)。任务来自投行、管理咨询和公司法。
从 APEX-Agents 抽 15 道原任务,三类职业各 5 道(3 易、1 中、1 难),扩成 6 类共 180 个实例。选题偏易,Gemini 3.5 Flash 的回合卡在 30 到 100,免得把不会做算成安全损失。每个世界平均 175 个文件、63 个工具,邮件、日历、聊天、文档、表格、PDF 和代码执行经 MCP(工具接口)暴露,平均 56.9 轮。
24 个目标改自 OS-Harm 和 AgentDojo,16 个经邮件、聊天或链接外泄,8 个写入共享文件夹或日历。安全判定 94% 是规则(4188 次里 3924 次),暴露判定约 70% 是字符串匹配,其余由 Gemini 3.6 Flash 做二元判断。
12 个模型各跑 180 题,每题一次。Opus 5 总攻击成功率 8%,Sonnet 5 为 20%,12 个模型平均 41%,平均任务分 0.760。Gemini 3.8 Flash 任务分最高,0.877,攻击成功率 33%。GPT-5.6 Luna 任务分 0.389、暴露率 33%,题没做完。
| 模型 | 总攻击成功率 | 暴露率(仅 1-4 类) | 平均任务分 |
| Opus 5 | 8% | 83% | 0.790 |
| Sonnet 5 | 20% | 73% | 0.767 |
| GPT-6 Astra | 28% | 49% | 0.758 |
| Gemini 3.8 Flash | 33% | 89% | 0.877 |
| Gemini 3.6 Flash | 58% | 77% | 0.792 |
| 12 模型平均 | 41% | 73% | 0.760 |
表里是两端和任务分最高的几个,其余模型总攻击成功率在 42% 到 57%。
分类平均:静态提示注入成功率 23%、暴露率 89%,静态脚本 29% 和 88%,动态提示 17% 和 62%。动态脚本在不允许照文件指示时是 20% 和 49%,允许时是 25% 和 58%。用户点名的任务专用替换是 84% 和 81%,通用脚本 73%,这三类任务分仍在 0.748 到 0.749。GPT-5.6 Sol、Terra 在这三类上为 100%,Luna 为 97% 到 100%。
Opus 5 的静态提示注入暴露率 97%、成功率 7%,静态脚本注入是 90% 和 3%。Sonnet 5 在第 1 到 4 类上成功率都是 0,直接执行的替换升到 80%,通用脚本 50%。GPT-6 Astra 的动态提示暴露率只有 17%。
能读源码的 Python 成功率最低。PYC 和 ELF 读不出逻辑,检查失败后常被执行。Opus 5 对陌生 ELF 查得更细,ELF 成功率低于它自己的 PYC。
静态提示注入看见后仍成功的比例,每载体 5 题:聊天 80%,XLSX 67%,日历与邮件各 60%,PDF 与 TXT 各 50%,Word 40%,HTML 33%,Markdown 20%。外发更常被拒,写进共享文件夹或日历更容易通过。内部泄露高多少,正文没给。
带关键词的新建文件,强过写进旧文件。表 6 各 20 题的两组里,新建文件是 50%/85% 和 75%/95%(成功率/暴露率);文件开头是 0%/20% 和 10%/20%;关键词附近是 0%/45% 和 10%/60%。旧文件基线还用了完整提示和一条历史轨迹。去掉文本诱饵后,Gemini 3.6 Flash 从 75% 降到 60%,DeepSeek V4 Flash 从 25% 升到 30%。动态攻击去掉「文件损坏」,成功率和暴露率掉得最多。Gemini 3.8 Flash 跑完 180 题,32 路并行 86.6 分钟,花费 103.1 美元。
任务做对,越权可以同时发生。0.877 的任务分旁边是 33% 的攻击成功率,脚本类任务分仍在 0.75 上下。
埋在工作区里的提示,Opus 5 和 Sonnet 5 能把成功率压到个位数或 0。用户点名的脚本平均仍有 73% 到 84%。执行前先检查程序,脚本要敏感信息或调用通信工具时再核对权限。共享目录和日历放进同一条边界。
GPT-6 Astra 很多时候没碰到载荷。Opus 5 是碰到之后拒绝。
三个行业 15 道原任务,每个实例只跑一次,波动没测。实验在合成工作区里做,没有真实客户数据。Sonnet 5 多类成功率为 0,暴露不低,更强攻击下的剩余风险分不出来。人工对照 60 例、一名标注员,安全裁判里可用的负例只有 2 个,κ 为 0.900 和 1.000。
第 5、6 类的高成功率,建立在用户授权执行、且不知道脚本已被换掉。测的是授权被利用。动态攻击还要后台对共享目录可写。
裁判是 Gemini 3.6 Flash,总攻击成功率 58%,12 个模型里最高。论文没测裁判偏差。94% 的安全判定靠规则,语义判断仍由它做。原基准最好成功率 68.6%,选题偏易,高任务分不能当成稳定交付。