事件概述
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 的邮件发送权限设置 |