AIDEFEND in Action AIA-0071 實證研究 發布於 AIA: 2026年8月25日

Copilot for Word 把隱藏提示詞變成可隨文件傳播的 AI 蠕蟲

研究人員把白底白字的提示詞(prompt)藏進 Word 文件後,Microsoft Copilot for Word(內建在 Word 裡、可依使用者要求撰寫或編輯文件的 AI 助理)在移除格式時仍保留這段文字,接著依指令暗中修改財務數字,並把同一段隱藏提示詞複製到新文件。這份新文件之後若再被附加、上傳,或被檢索功能選進 Copilot 的撰寫或編輯流程,隱藏指令就可能再次執行。不過,它不會像傳統網路蠕蟲一樣自行尋找目標;每一輪傳播都仍需要使用者或檢索流程,把帶有提示詞的文件重新納入撰寫或編輯工作。

Indirect Prompt InjectionInput ValidationHuman-in-the-LoopAI CopilotsEnterprise AI
5 項對應的 AIDEFEND 防禦手法
來源: Context Collapse, Part 3 - AI Worming through Word 
作者: Håkon Måløy
原文發布: 2026年7月28日

威脅分析

  • 載體看起來只是一份普通的 Word 文件。研究人員把 JSON 格式的指令設成白底白字與小字體,一般讀者查看頁面時通常不會察覺。
  • Copilot 移除了顯示格式,卻保留文字內容。文件進入 Copilot for Word 的撰寫或編輯流程後,系統會先移除格式,再把文字交給模型處理。原本肉眼看不到的內容因此成為模型可讀取的輸入,並與使用者明確提出的要求爭奪指令權限。
  • 概念驗證(PoC)實際竄改了文件數值。Copilot 依照注入指令,暗中把模擬財務文件的數字減半。這裡的資安影響是文件完整性遭破壞,不只是聊天機器人回了一段不合預期的文字。
  • 同一段隱藏提示詞也被複製到新文件。如果這份輸出之後被附加、上傳,或被選為另一項 Copilot 工作的相關內容,指令就可能再次執行。這種傳播依賴文件在日常工作中被重複使用,不會自行搜尋檔案或受害者。
  • 原文所述的緩解措施尚未消除整類問題。研究人員於 3 月 6 日向 MSRC(Microsoft 安全回應中心)通報。Microsoft 在 4 月加入第一次緩解措施,7 月 14 日再以 GPT-5.5 升級作為第二次緩解措施;Måløy 在 7 月 15 日使用 GPT-5.6 仍能重現完整攻擊。
  • 證據仍屬受控研究。原始資料呈現了載體設計、內容遭竄改與提示詞被複製的結果,但沒有指出實際攻擊活動,也沒有公開完整的攻擊提示詞。

適用的 5 項 AIDEFEND 防禦手法

AID-H-018.003
High-Impact Independent Validation & Approval Gate
高
在套用會實質改變財務或其他受控內容的編輯前,先由獨立檢查比對確切差異與使用者可見要求。若數值變更無法由原要求解釋,就必須重新取得針對該次變更的核准,不能沿用一開始同意編輯文件的動作。
AID-H-006.002
Text, Markup & Structured Output Sanitization and Release Gate
中
在 Office 處理程序組裝或散布文件前,以 G004 的 full_response 模式保留完整生成文字,再檢查是否複製了惡意指令;偵測結果的狀態轉換也須另行驗證。這道文字檢查不會解析 DOCX 封裝、比對 Word 的可見與隱藏文字,或驗證財務數字。文件專用檢查與重大修改的核准需要另外實作;漏判的指令仍可能繼續傳播。
AID-H-016.001
System Prompt Structure & Instruction/Data Separation
中
由實際的提示詞序列化器,把擷取出的文件文字放進只承載資料的區塊,並正確跳脫結構分隔符號。這能防止文字在語法上跳進可信指令區,但不能保證模型不會照做資料區內的一般惡意指令。每次重用文件都要再檢查,重大修改與輸出放行也須獨立授權;Microsoft 代管環境需要供應商支援。
AID-H-002.002
Inference-Time Prompt & Input Validation
中
在文件文字實際送入模型的位置套用 G004,初次使用與後續重用都須執行。審查服務需要另行校準,辨識任務轉向與複製惡意指令的意圖;經過驗證的判定須綁定本次請求與政策,出錯時拒絕放行。針對 HTML 的 G008 擷取與清理範例,不會解析 DOCX 或辨識 Word 的白底白字。
AID-D-001.001
Per-Prompt Content, Intent & Obfuscation Analysis
中
每次把附加或擷取的 Word 文件交給模型前,都要檢查實際擷取出的完整文字;後續重用也須再檢查。G001 可針對任務轉向或要求複製惡意指令的內容提供偵測結果,但不會檢查 DOCX 格式、辨識白底白字,或比對人眼看到的文件與擷取文字。這些 Office 專用處理需要另外實作。放行前,整合端須另行確認必要的分類類別完整,且分數為有效範圍內的有限數值。目前 G001 範例可能把空結果、缺少類別或 NaN 分數回報為 PASS/NO_FINDING;這些情況應視為錯誤並拒絕放行。這項結果檢查需要另外實作,不能當成公開範例已提供的能力。分類器仍可能漏判,因此工具與輸出須另設管制。

身為資安防禦者,我們應該這麼做

  • 盤點所有會附加、上傳、檢索、摘要、編輯或產生 Office 文件的 Copilot 工作流程,確認格式在哪個步驟被移除,以及哪些文字最後會進入模型。
  • 建立包含白底白字、極小字體、頁面外物件、隱藏文字區段及可自我複製 JSON 指令的回歸測試文件。驗證時要同時檢查模型回應與底層輸出檔案,不能只看畫面上的預覽。
  • 把來源文件文字放進獨立結構欄位,並明確標示為不受信任資料。文件內容不得建立系統指令、政策、工具指令或工作流程指令。
  • 對財務與其他受控文件產生語意差異報告;如果數值變更無法由使用者可見要求解釋,就必須重新核准。
  • 儲存或分享文件前,檢查完整檔案中是否存在肉眼看不到的文字與從來源複製而來的指令。如果審閱畫面與實際儲存內容不一致,就應阻擋發布。
  • 在回歸測試紀錄中保留模型與政策版本。原始研究在數次緩解措施後仍能重現,因此只完成一次模型升級,不能當成整類問題已經關閉的證據。

結論

本案的特殊之處,是隱藏文字不只影響這一次撰寫,還被複製到下一份文件,成為新的攻擊載體。財務數字的重大修改,需要獨立比對並核准確切變更;生成文字應在文件組裝前完成整段放行檢查,儲存後的 Word 檔案則須另外檢查隱藏內容。指令與資料的結構分隔能提供輔助,但不能保證模型遵守。現有文字檢查範例不提供 DOCX 檢查,漏掉的指令仍可能在文件重用時繼續傳播。

最後更新: