文档传播的AI蠕虫可通过Copilot for Word自我复制

HN 中文独立开发 AI 2026-07-30T05:26:40.374214

感谢微软产品团队和微软安全响应中心(MSRC)与我合作,共同完成了本次技术分析与漏洞缓解工作。文中所表达的观点仅代表作者本人,不代表合作机构的立场。

总结

本文所述发现是微软安全响应中心(MSRC)及微软产品团队协调披露流程的一部分。我们向微软提供了完整的复现步骤、演示视频、环境假设,以及在测试中使用的精确概念验证(PoC)提示词。同时,我们告知了在披露前有90天的协调期。该协调期两次延期,最终达到144天。

在本系列的第一部分和第二部分中,我展示了外部输入如何影响Copilot的回应,并在某些情况下,通过跨域提示注入攻击(Cross-Domain Prompt Injection Attacks,简称XPIA)可能导致机密信息泄露。本报告在此基础上进一步拓展,将XPIA分析从单次交互中的攻破扩展到跨可信文档工作流的传播。它表明:攻击者在某个文档中植入的恶意指令,可以被复制到Copilot生成或编辑的Word文档中,从而使这些下游文档成为同一攻击的新载体。

此前已存在一些AI蠕虫的案例。值得注意的是,Morris II 展示了在基于生成式AI(GenAI)的邮件助手生态系统中,提示词可以自我复制传播。但据我所知,这是首次公开演示在主流商用办公套件的正常工作流中,通过文档传播的AI蠕虫能够自我复制。

本报告描述的场景是:

  1. 攻击者将恶意指令隐藏在共享的外部文档中,这些指令能使Copilot在Word中修改已撰写或编辑的文档,并将攻击传播到新文档中。

攻击手法

攻击者会在文档中暗中植入隐藏指令,之后这份文档被用作 Copilot for Word 的素材。Copilot 可能会将这些指令误认为是用户请求的一部分,从而操纵正在撰写或编辑的文档。随后,Copilot 还可能把隐藏指令复制到生成的新文档中,使该文档成为新的传播载体。如果这个新载体后续再被用于其他依赖 Copilot 的工作流,指令就会再次触发,并扩散到更多文档中——即使攻击者最初的原始文档已经不在场,也能继续传播。

示例场景

假设某员工正在准备一份财务报告。他从一个已被入侵的信任网站下载了一份市场分析报告,并未察觉文档中含有隐藏指令。接着,这名员工在使用 Copilot 撰写报告时,把这份分析报告作为素材引入。隐藏指令促使 Copilot 修改了财务报告中的内部数据,并将攻击代码复制到新文档中。员工保存了这份看似正常的报告,并在内部传阅。之后,另一名同事将其作为素材用于另一份报告;指令再次触发,修改新报告内容,并继续自我复制。这样一来,攻击便无需再依赖被入侵的网站或原始恶意文档就能持续扩散。随着受影响的报告被反复使用,越来越多的报告和文档都可能成为攻击的传播载体。

发布时的披露状态

文档传播的AI蠕虫可通过Copilot for Word自我复制

微软方面的状态:测试表明,在部署了所有当前缓解措施的情况下,仍复现了该攻击。在本文发布时,对于这类更广泛的漏洞,尚无稳健的缓解措施。

  1. 将外部来源的文档在与Copilot配合使用时视为不可信。
  2. 在启动Copilot生成或编辑之前,先审查所有附带的文档。
  3. 在复用、分享或分发Copilot生成或编辑的文档之前,仔细审查。

关于修复前披露的说明

与第1部分和第2部分不同,本场景在发布时仍然可利用。我对此做了仔细权衡。与微软商定的协调期已到期,测试表明,目前对于这类更广泛的漏洞尚无稳健的缓解措施。两次缓解尝试(包括一次模型升级)并未消除这个漏洞类别。

因此,我选择在漏洞类别层面而非载荷层面进行披露。我的理由是,防御者无法减少对其未知风险的暴露,而且这里描述的传播机制影响了许多组织已经依赖的普通文档工作流。隐瞒问题的存在会使这些组织无法做出明智的决策,同时也不会提供额外的保护。

披露时间线

查看原文