AIDEFEND in Action AIA-0032 實證研究 發布於 AIA: 2026年6月22日

SearchLeak:Copilot 搜尋連結如何變成企業資料外洩路徑

SearchLeak 的資安風險在於,一個看起來可信的 Microsoft 365 Copilot Enterprise Search(用來搜尋 Microsoft 365 企業資料的 Copilot 搜尋介面)連結本身就能帶攻擊指令。Varonis 把 q 參數被當成提示詞(prompt)的問題,接上串流輸出清理不及的空檔:回答還沒完全清理完,瀏覽器就可能先讀到 HTML 圖片標籤並送出請求;再加上 Bing 圖片搜尋的伺服器端請求偽造(SSRF,也就是讓 Bing 代為向攻擊者指定的網址發出請求),受害者點開連結後,Copilot 可能會讀到使用者有權限看的郵件、行事曆、SharePoint 或 OneDrive 資料,然後把其中的敏感內容夾在圖片網址裡,瀏覽器或 Bing 去載入那張圖片時,資料就跟著送到攻擊者控制的伺服器。真正要守的是三個地方:搜尋參數進模型前要檢查,輸出進瀏覽器前要先變安全,任何自動對外連線,都要先檢查其中夾帶的資料能不能送到該連線目標。

Prompt InjectionData ExfiltrationSink EnforcementAI CopilotsEnterprise AI
6 項對應的 AIDEFEND 防禦手法
來源: SearchLeak: How We Turned M365 Copilot Into a One-Click Data Exfiltration Weapon 
作者: Dolev Taler, Varonis Threat Labs
原文發布: 2026年6月15日

威脅分析

  • 第 1 步:攻擊者先做一個看起來可信的 Copilot 搜尋連結。 連結還是指向 Microsoft 網域,但網址裡的 q 參數(像 ?q=... 這種查詢欄位)不是一般搜尋字串,而是要求 Copilot 搜尋使用者可存取的資料,再把某個值塞進圖片網址(例如把郵件裡的多因素驗證(MFA)的驗證碼,接在 https://example.invalid/image/<驗證碼> 這種圖片網址後面)。
  • 第 2 步:受害者點一下,模型就開始照參數做事。 使用者打開連結後,Copilot 把 q 參數當成指令,而不是單純的搜尋文字。接著它用受害者自己的 Microsoft 365 權限搜尋郵件、行事曆、SharePoint、OneDrive 和其他已建立索引的組織資料。
  • 第 3 步:攻擊利用串流呈現的時間差。 Copilot 生成回答時,會一段一段串流到畫面上。研究指出,包含 HTML img 標籤的內容可能先被瀏覽器看到並觸發圖片請求,在後面的清理器(sanitizer,用來把危險 HTML 變成安全文字的程式)把輸出包成純文字之前,該 HTTP 請求已經送出去了。
  • 第 4 步:Bing 變成被放行的轉送路徑。 直接連到攻擊者網域的話,會被內容安全政策(Content Security Policy,CSP,瀏覽器用來限制頁面可以連到哪些網路位置的規則)擋下。但 Bing 圖片搜尋端點被允許載入,所以這個圖片請求會先送到 Bing,再由 Bing 的伺服器端圖片載入功能去請求攻擊者控制的網址,資料就出現在那個 URL 路徑裡。
  • 為什麼這件事重要: 這條鏈不需要攻擊者有該公司 Microsoft 365 環境內的任何帳號、不需要惡意附件,也不需要第二次點擊。Microsoft 已用 CVE-2026-42824 修補這個問題,但它提醒所有企業 copilot:搜尋參數、模型輸出和自動對外連線不能被當成三個無關的小細節。

適用的 6 項 AIDEFEND 防禦手法

AID-H-006.002
Text, Markup & Structured Output Sanitization and Release Gate
高
以 G004 的 full_response 模式保留完整回答,在任何內容送入瀏覽器前完成檢查;再套用 G005,移除遠端子資源並停用自動預覽。偵測器、結果狀態轉換與適用於呈現方式的清理程序,都須另外驗證。已送入 DOM 的串流標記可能觸發圖片請求,事後清理無法收回。一般連結與純文字惡意內容仍可能保留,因此網址政策與明確的使用者動作須另外管制。
AID-H-002.002
Inference-Time Prompt & Input Validation
高
對網址預填的 q 輸入套用 G009:開啟、預覽或預先載入連結時,都不得執行推論或呼叫工具。為經過驗證的租戶與使用者儲存外部草稿,顯示確切文字,再要求綁定該草稿的明確送出動作。確認送出不代表已授權讀取 Microsoft 365 資料或使用工具。範例轉換函式仍須搭配身分驗證、伺服器端草稿儲存,以及不可重複建立執行工作的交易機制;這需要產品端支援。
AID-D-001.001
Per-Prompt Content, Intent & Obfuscation Analysis
中
在推論前,檢查實際解碼後的 q 文字,辨識從搜尋轉成擷取內部資料並塞進對外網址的意圖。G001 提供經過校準的偵測結果,由獨立的放行機制決定是否可執行推論;它本身不會停用網址觸發的自動執行,也不會授權 Microsoft 365 資料讀取。放行前,整合端須另行確認必要的分類類別完整,且分數為有效範圍內的有限數值。目前 G001 範例可能把空結果、缺少類別或 NaN 分數回報為 PASS/NO_FINDING;這些情況應視為錯誤並拒絕放行。這項結果檢查需要另外實作,不能當成公開範例已提供的能力。分類器仍可能漏判,因此工具與輸出須另設管制。
AID-D-003.002
Sensitive Information & Data Leakage Detection
中
檢查確切的完整回應,以及另行擷取的巢狀網址欄位,比對已驗證的憑證或個資格式、租戶專用字串與範圍受限的規則。一般格式範例不會辨識任意 MFA 驗證碼、郵件主旨或會議細節。網址解碼與欄位涵蓋需要另外實作;編碼過或新型資料仍可能漏判。偵測結果交由獨立的輸出或資料出口機制處理,本身不會阻擋請求。
AID-H-018.005
Value-Level Capability Metadata & Data Flow Sink Enforcement
中
這是最直接能壓住外洩路徑的控制。Copilot 可以在使用者權限下讀到 Microsoft 365 資料,不代表那些值可以被放進圖片網址、預覽服務,或任何對外連線。實作上要替每個執行期值帶上來源和資料機敏程度,然後在它要觸發高風險動作時檢查,例如開啟遠端圖片或呼叫外部網址。這需要可控的執行環境,為每個衍生值維持可驗證的來源及內容綁定,涵蓋所有出口;標記不明時須拒絕。只在入口加標籤,無法追蹤模型任意改寫。本機程序、瀏覽器請求及允許的連線目標須另行驗證涵蓋範圍,不能假定原版 SaaS 已落實。
AID-H-016.001
System Prompt Structure & Instruction/Data Separation
中
就算 q 是合法搜尋字串,系統提示詞(system prompt)也要明確規定它只能是資料,不是新的規則。搜尋字串可以描述要找什麼,但不應該能改寫回答方式、要求隱藏警示,或把回答變成產生對外請求的工具。這需要控制實際的提示詞序列化器。結構分隔可降低偽造風險,不能保證模型遵守,也不代表動作已獲授權。工具與輸出仍須獨立授權,不能假定原版 SaaS 已具備這項能力。

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

  • 先確認 Microsoft 對 CVE-2026-42824 的修補狀態,並持續追蹤服務公告、版本說明,以及 Microsoft 365 Copilot 對公司環境的安全建議。
  • 縮小 Copilot 可存取的資料範圍,避免它讀到不必要的高機敏資料。檢查 SharePoint、OneDrive、郵件、行事曆和外部分享權限,移除過寬的存取範圍,並盡量用資料標籤或 DLP 保護高機敏資料。
  • 在企業自己能控制的工具裡加偵測,例如 Defender、Purview、proxy、CASB 或 SIEM。可以優先觀察的跡象包括:可疑的 Copilot Search 連結、很長或編碼過的 q 參數、Bing 圖片搜尋請求,以及對外 URL 路徑裡看起來像內部資料的值。
  • 把 Copilot Search 連結也當成釣魚和資料外洩風險來處理。向使用者提供簡單的通報方式,尤其是從 email 或聊天工具收到、又帶有很長查詢字串的 Copilot 連結。
  • 把這個案例放進 AI 產品安全審查。要求 Microsoft 或其他 copilot 供應商說明:搜尋參數如何驗證、串流輸出是否在觸發網路請求前就先清理、是否檢查最終 URL 連線目標、如何防 SSRF 轉送路徑,以及如何阻止機敏值流進外部網址。

結論

SearchLeak 的重點,是它把幾個看似分開的小產品行為串成一條能運作的攻擊鏈:搜尋參數變成指令,串流模型輸出變成瀏覽器行為,被放行的 Microsoft 服務又成了把資料送到攻擊者伺服器的中繼站。防禦重點不是只判斷 AI 模型有沒有誤把搜尋文字當成指令,而是在資料進入高風險環節前先設防:搜尋文字進模型前要確認它不是攻擊指令,模型輸出進瀏覽器前要先變成安全內容,Microsoft 365 資料被放進外部網址前也要先被檢查。

對企業使用者來說,多數核心的修補是需要由 Microsoft 或其他 copilot 供應商落實在產品內部的。企業端能做的事情仍然重要,且範圍明確:確認修補狀態、縮小 Copilot 可存取的資料範圍、監控可疑的對外連線行為,並把這個案例變成 AI 產品安全審查時的具體要求。

最後更新: