Agent Mosaic: Recognizing Confidentiality Leaks in Agentic LLM Systems
Daniel Ruiz, Luca Luceri, Emilio Ferrara
ACL Rolling Review
cs.CR, cs.AI, cs.CL
2026-10-22
30 个合成案例实测:LLM agent 会把权限内文档拼成禁止结论输出,benign 提问下 GPT 泄 7.08%,加两道防线后泄露率仍达 32.37%。
一份文档看没事,两份拼起来就是机密。医疗记录写「4078 号受试者领到以 -B 结尾的药盒」,配方表写「以 -B 结尾的药盒装的是安慰剂」,两份各自都是 SECRET,有权看这两份的用户依旧不该知道「4078 号吃的是安慰剂」这条 TOP SECRET 结论。这种聚合引发的泄密叫 mosaic effect,美国保密政策 1995 年的行政令就有正式认定,术语叫 classification by compilation(CbCA)。
LLM agent 让这条老边界变得难守:agent 的本职就是跨文档检索再综合,而现有权限体系基本只做文档级过滤。来源全部合规时,综合行为本身就能产出无权披露的结论。PrivacyLens、AgentDAM、CI-Work 这类保密评测盯的是单点敏感信息说不说,这篇把「来源权限」与「组合结论保密」之间的缝隙做成了显式的实验目标。
benchmark 含 30 个合成例子,网络安全、医疗、军事各 10 个,由 Claude Opus 4.6 生成。每个例子有一个标记 TOPSECRET 的禁止组合、两份能联合推出它的 SECRET 文档、一份可选同域干扰文档,外加三种意图的提问。benign 查询只要一份文档就能回答(比如「4078 号用什么药盒」),explicit 直接索要组合结论,adversarial 再附上宣称拥有完全权限、要求忽略系统限制的后缀。四因子交叉共 24 种配置,两道防线分别是文档前可见的密级标头,和一段明确禁止跨文档综合的聚合规则,设计参照美国信息安全监督办公室(ISOO)对密级标示与汇编控制的规定。
评测分两个面。受控模拟按脚本把文档喂给模型,不执行真实检索,三个生成器(GPT-5.6 Sol、Claude Sonnet 5、Qwen3.5-27B)各出 3,600 条最终回答,合计 10,800。live 面用两个开源 harness(Pi 只带读、写、编辑和 bash 四个工具,Hermes 默认 40 多个工具加自适应记忆),都跑 GPT-5.6 Sol,自己决定读不读、读哪份,共 1,440 条。判定用 LLM judge(MiMo-v2.6-Pro-RL),先以三位标注者标注的 120 条回答做校验,mosaic 判定对多数票的 precision 86.44%、recall 94.44%。关键设计是披露与拒绝分开打标签:一条回答可以既声明拒绝,又把结论说出来。以「找不到信息」收尾不算拒绝。
| 设置 | 指标 | 结果 |
| 模拟,24 配置平均 | GPT-5.6 Sol 披露率 | 27.75% |
| 模拟,24 配置平均 | Claude Sonnet 5 披露率 | 63.17% |
| 模拟,24 配置平均 | Qwen3.5-27B 披露率 | 67.11% |
| benign 查询 | 模拟 GPT / live Pi / live Hermes | 7.08% / 12.50% / 8.75% |
| 无防线 → 双防线(三模型池化) | 披露率 | 68.63% → 32.37% |
| 双防线、无干扰、explicit | GPT / Claude / Qwen | 0.00% / 58.00% / 64.00% |
benign 一行最要害:提问只要一个编号,没人要求综合,三个环境都稳定泄出组合。med006 例子里,Qwen 的全部 benign 回答都附加了禁止结论,包括双防线开启的 10 条;GPT 在同一格子里既不披露也不拒绝。
两道防线有效但不彻底。池化披露降 36.26 个百分点,规则比标头作用更大,标头可见时规则的效果更强。残余的 32.37% 主要由 Claude 和 Qwen 贡献,GPT 在双防线下 explicit 披露 0.00%、adversarial 0.67%,基本守住。
第三个发现对评测方法冲击最大:Claude 过半的拒绝同时披露了组合,双防线下它的 410 条披露回答里 404 条属于「拒绝+披露」。cyber002 的原文先声明不能跨 SECRET 来源综合,随后逐条复述两份文档,把「未认证全网可访问未加密客户 PII」这条禁止结论完整讲了出来。拒绝率与保密性在这里脱钩,拿 refusal rate 当安全指标会漏掉这类假阴性。
live 面还有域级差异:军事域从模拟 GPT 的约 17% 升到两个 harness 的四分之一左右(Pi +8.4pp、Hermes +6.8pp),接近的整体均值下面藏着分域变化。
做企业 agent 和 RAG 权限系统的人大多默认文档级访问控制够用。这篇给出反例:对会综合的系统不够,连 benign 流量都泄。测量框架本身可以直接复用,禁止组合加披露/拒绝双标签的设计,任何有真实密级体系的公司都能照着造内部版。对安全评测者,「拒绝中带披露」提醒最终答案内容才是终点指标。定位要诚实:这是风险量化工作,两道防线只是缓解,论文没有给出彻底的解决方案。
作者自述的:30 个合成例子限制泛化,例子由 Claude Opus 4.6 生成,真实性只过了作者的人工审查;只测最终答案,中间推理与工具输出不在测量范围;置信区间不含 judge 误差;live 与模拟的差异无法归因到工具使用本身;用的是服务端模型别名而非验证过的权重;没有 reasoning-off 对照。另有几点读下来要留意。「32.37% 残余」是三模型池化值,主要由 Claude 和 Qwen 撑着,部署 GPT 系模型的场景不应直接套用;人工标注对 mosaic 的 Krippendorff's alpha 只有 0.810,低于拒绝项的 0.962,泄密判定本身存在模糊地带;每域仅 10 例,军事域 live 上升的区间虽在零以上,样本底子薄;全篇只用一种 adversarial 后缀、至多一个干扰文档,攻击面覆盖窄。