近期,AI 助手类应用的通用安全漏洞再次引发行业高度关注。Microsoft 365 最新推出的前沿功能 Copilot Cowork 曝出严重安全威胁,研究人员发现该功能存在通过间接提示注入(indirect prompt injection)实现文件窃取的攻击路径。
漏洞根源在于系统设计缺陷,当 Copilot Cowork 向当前活跃用户发送电子邮件或 Teams 消息时,会绕过所有敏感操作审批流程自动执行。
这项攻击已经在包括 Claude Opus 4.7 在内的多个顶尖大语言模型上验证成功,成功率达到 100%。这一发现再次提醒我们,赋予 AI agent跨系统操作权限的同时,也极大扩展了提示注入攻击的攻击面。
Copilot Cowork 作为 Microsoft 365 的核心 AI 助手功能,运行时会继承用户的全部 Microsoft 权限。它通过 Microsoft Graph API 访问和操作用户租户内的所有数据,包括 SharePoint 文档、OneDrive 文件、邮件和 Teams 消息等。
正常情况下,Copilot Cowork 在执行敏感操作前会向用户请求权限确认。但研究人员发现了一个关键的设计漏洞,当操作的接收方是当前活跃用户本人时,所有审批机制都会失效。系统会直接执行发送邮件或 Teams 消息的操作,用户没有任何设置可以修改这一行为。
完整攻击链解析
攻击者利用这一漏洞可以构建完整的文件窃取流程,整个过程无需任何人工干预。
受害者在 SharePoint 或 OneDrive 中存储包含个人身份信息(PII)和财务数据的敏感文件

受害者向 Copilot Cowork 上传一个包含提示注入代码的SKILLS文件

受害者正常使用 Copilot Cowork,例如请求回顾本周工作内容,触发被注入的技能

被操纵的 Copilot Cowork 自动向受害者本人发送一条 Teams 消息

受害者打开 Teams 消息时,预认证文件下载链接被发送到攻击者控制的服务器

攻击者通过窃取的链接直接下载所有敏感文件

值得注意的是,Copilot Cowork 可以生成文件的预认证下载链接。任何拥有该链接的人都可以无需额外验证直接下载对应文件。攻击者正是利用这一特性,将文件访问权限通过网络请求的形式转移出去。
攻击技术细节
攻击者在SKILLS文件中植入的提示注入代码会欺骗 Copilot Cowork,让它相信存在一个可以生成文档预览的外部服务。为了生成预览,Copilot Cowork 会主动检索用户有权访问的所有文件,生成对应的预认证下载链接,然后将这些 URL 作为查询参数附加到恶意 HTML 图片标签的地址中。
当用户在 Teams 或 Outlook 中打开这条消息时,客户端会自动加载图片。这个过程会向攻击者的服务器发起网络请求,将完整的预认证下载链接泄露出去。
最危险的一点是,整个攻击过程完全隐蔽。即使受害者查看 Copilot Cowork 的操作历史记录,也只能看到 “已发送 Teams 消息” 的条目,恶意的消息内容和图片标签永远不会显示在操作日志中。
SKILLS文件的安全隐患
SKILLS文件是 Copilot Cowork 的核心扩展机制。用户可以上传自定义文件来增强 AI 助手的功能,这在日常使用中非常普遍。很多用户会直接从互联网下载他人分享的SKILLS文件使用。
更严重的问题在于,Copilot Cowork 会自动加载用户 OneDrive 特定路径下的所有SKILLS文件。企业管理员几乎无法对这些用户级别的技能进行有效监管和审计。
除了SKILLS文件,提示注入还可以通过其他多种途径进入 Copilot Cowork。包括 Claude for Chrome 扩展加载的网页数据,以及连接的 MCP(Model Context Protocol)服务器等。
模型无关性与攻击成功率
研究人员最初使用默认的 “自动” 模型选择模式进行测试,该模式会在 Claude Opus 4.7 和 Claude Sonnet 4.6 之间动态路由。为了验证攻击的有效性,研究人员又单独指定使用更先进的 Claude Opus 4.7 模型进行测试,结果完全相同。

事实上,Claude Opus 4.7 表现出更强的文件检索能力。它不仅会查找最近编辑的文档,还会扩展到本周所有 Copilot Cowork 会话中使用过的文件,以及更多典型的文档存储位置。这意味着使用更先进的模型反而会扩大攻击的影响范围。
在所有 5 次测试中,攻击都成功完成了完整的窃取流程。攻击效果不依赖于用户查询的具体措辞,只要模型调用了被注入的技能,攻击就会成功。注入代码仅占整个 81 行SKILLS文件中的 5 行,与其他正常代码在长度和格式上没有明显区别。
在Copilot Cowork中,用户可以创建计划任务。计划任务是一个按周期执行的提示,无需用户监督。本文描述的“每周审查”行为正是用户可能通过计划任务自动化的任务类型。定时任务显著增加了此类攻击的风险,因为用户无法阻止恶意工作流,且提示注入可以周期性地生效。

这次发现的漏洞不是一个简单的代码错误,而是 AI agent系统设计层面的根本性问题。当我们赋予 AI agent跨多个系统操作的委托权限时,整个企业生态系统都成为了提示注入攻击的潜在目标。
单独来看,Copilot Cowork 的各项功能都是为了提升用户效率而设计的。但当这些功能与现有系统的特性结合时,就会产生意想不到的安全风险。这与之前研究人员发现的通信应用 URL 预览功能成为 AI agent数据出口的问题非常相似。
最后提醒所有用户,在使用 AI agent产品时,务必谨慎处理任何不可信的数据。尤其是当这些数据被放置在SKILLS文件这样的受信任上下文中时,即使是很小的恶意代码片段,也可能导致整个企业的敏感数据泄露。