动态:一手资料追踪

Microsoft Copilot Cowork 数据泄露:Agent 安全的又一个"致命三要素"案例

更新 摘译
标签
securityprompt-injectionmicrosoftagent-safety

事件概述

2026 年 5 月,安全研究团队 PromptArmor 披露了 Microsoft Copilot Cowork 中的一个数据泄露漏洞。攻击路径简洁但有效:prompt injection → Agent 发邮件到用户邮箱 → 邮件渲染外部图片 → OneDrive 预认证链接泄露 → 文件被攻击者下载。

这不是理论攻击。Copilot Cowork 是 Microsoft 365 的正式产品(2026 年 3 月发布),所有使用该产品的企业都受影响。


攻击链详解

第一步:Agent 可以未经批准发邮件

Copilot Cowork 允许 Agent 向用户自己的收件箱发送邮件,不需要用户批准。设计意图是让 Agent 主动汇报工作进展。但这个"主动发邮件"的能力成了攻击面。

第二步:邮件内容渲染外部图片

发送的邮件以 HTML 形式呈现,可以包含外部图片。当用户打开邮件时,邮件客户端会请求这些外部图片的 URL——这等于向攻击者控制的服务器发送了一个 HTTP 请求。

第三步:OneDrive 预认证链接

OneDrive 可以创建预认证下载链接(pre-authenticated download links)。一个成功的 prompt injection 可以让 Agent 生成这些链接,然后通过邮件中的外部图片 URL 把链接发送出去。

完整攻击链

恶意输入(prompt injection)
  → Copilot Cowork Agent 生成 OneDrive 预认证链接
  → Agent 将链接嵌入邮件中的外部图片 URL
  → 邮件发到用户收件箱(无需审批)
  → 用户打开邮件
  → 邮件客户端请求外部图片
  → 攻击者服务器收到请求(含 OneDrive 链接)
  → 攻击者用预认证链接下载文件

为什么这个案例重要

1. 典型的"致命三要素"

Simon Willison 总结过 Agent 安全的"致命三要素"(Lethal Trifecta):

要素 本案例中的体现
Agent 能访问私有数据 Copilot Cowork 可以访问 OneDrive 文件
Agent 能被外部输入影响 prompt injection 通过邮件、文档等渠道注入
Agent 能向外发送数据 邮件中的外部图片 URL 实现数据外传

三个条件同时满足,攻击就成立。Copilot Cowork 三个全中。

2. 不是模型问题,是系统设计问题

漏洞不在于 LLM 本身,而在于 Agent 系统的权限设计:

  • Agent 不应该在未审批的情况下发邮件——尤其是在邮件可以包含外部资源的场景
  • OneDrive 预认证链接不应该由 Agent 生成——除非有明确的访问控制
  • 邮件渲染不应该自动请求外部图片——这是 Email 安全的老问题,但 Agent 场景下风险被放大

3. 企业 Agent 产品的安全审计不足

Copilot Cowork 2026 年 3 月才发布,5 月就被披露漏洞。说明产品在发布前的安全审计没有覆盖 Agent 特有的攻击面。参见 Agent 安全指南 中关于权限最小化的原则。


对开发者的影响

角色 行动建议
构建 Agent 系统 检查你的 Agent 是否满足"致命三要素"的任意两个条件。如果是,第三个条件必须堵死
使用企业 Agent 产品 审查 Agent 的数据访问权限和对外通信能力。特别是"Agent 能不能发邮件/调用 webhook/请求外部 URL"
设计 Agent 权限模型 Agent 的每个对外动作都应该有审批机制,尤其是涉及数据输出的动作
评估 Copilot Cowork 如果你的团队在用,确认 Microsoft 是否已修补此漏洞。检查 Agent 的邮件发送权限设置