只要點開一個 ChatGPT 分享連結,攻擊者的程式碼就能在你已登入的 ChatGPT 裡執行,列出你的對話清單、讀取從未分享過的私人對話。資安公司 Parameter 揭露了這個漏洞,OpenAI 已在 10 月 26 日完成修補並評為最高等級 P1。使用者不需要做任何事,但這個案例很值得所有在用 LLM 服務、或自己開發 AI 聊天介面的人好好看一遍。

事件經過

  • 10 月 13 日至 17 日:Parameter 研究人員確認漏洞,並驗證可透過一般的公開分享連結(/share/)在不同帳號、不同工作區之間觸發。
  • 10 月 18 日:透過 OpenAI 漏洞懸賞計畫通報。
  • 10 月 21 日:OpenAI 重現問題,嚴重程度從 P2 調升為 P1。
  • 10 月 26 日:OpenAI 確認兩個版本的 ChatGPT 網頁前端都已修補,總共支付 5,000 美元獎金。
  • 10 月 28 日:Parameter 在修補後公開技術細節。研究團隊表示測試只在自己控制的帳號間進行,沒有回報任何實際遭濫用的案例。

漏洞怎麼運作

  • ChatGPT 的 Preview 功能會把對話中的 HTML 變成小網頁,並放在另一個網域的沙盒框架中執行,這個沙盒本身沒有被突破。
  • 問題出在同一段對話裡的互動式圖表:畫圖時會在 ChatGPT 主頁面載入數學函式庫 MathLive,而 MathLive 留下一個接收虛擬鍵盤訊息(postMessage)的監聽器,沒有檢查訊息是誰送的,而且鍵盤版面資料可以夾帶原始 HTML。
  • 沙盒裡的 Preview 因此能把攻擊者的 HTML 塞進 ChatGPT 主頁面,產生一個被瀏覽器視為 chatgpt.com 的未沙盒化框架。
  • ChatGPT 的內容安全政策(CSP)擋下內嵌腳本,卻允許來自 YouTube 的腳本;研究人員利用 YouTube 一個 JSONP 端點作為最後一步,讓程式碼成功執行。
  • 執行後,程式碼可直接呼叫 ChatGPT 已登入狀態下的 API。研究人員形容:「基本上可以用受害者的 ChatGPT 帳號做任何事。」

重點

項目內容
觸發方式開啟惡意分享連結;最穩定版本需點一次 Preview,後續版本只要開啟連結
影響讀取對話清單與私人對話,並以受害者身分呼叫 ChatGPT API
根本原因MathLive 訊息未驗證來源、訊息可帶原始 HTML、產生的框架未沙盒化
修補OpenAI 於 2026/10/26 完成,使用者端無需動作
實際濫用研究方未回報
  • LLM 產品的攻擊面不只有提示注入(prompt injection),圖表、預覽、分享這些「周邊功能」組合起來,一樣能變成帳號接管。
  • 個別功能看起來都合理,漏洞出在功能之間的接縫,這是 AI 產品快速堆功能時最容易忽略的地方。

對你的實務建議

企業/開發者

  1. 自家 AI 聊天介面若有「HTML/程式碼預覽」,預覽一律放在獨立網域的沙盒中,且動態產生的框架也要保持 sandbox。
  2. 所有 postMessage 接收端都要同時驗證 event.origin 與 event.source,跨視窗設定不應接受原始 HTML。
  3. 檢查 CSP 白名單中的第三方網域是否有 JSONP 之類可被濫用的端點;CSP 只是最後一道防線。
  4. 盤點員工在 ChatGPT 等服務中貼了哪些機敏資料,並評估使用企業版的資料控管功能。

一般用戶

  1. 這次修補在 OpenAI 端完成,不需要做任何設定。
  2. 對來路不明的 ChatGPT 或其他 AI 分享連結保持和一般連結一樣的警覺,特別是透過客服單、社群私訊傳來的。
  3. 不要把密碼、身分證字號、公司機密等敏感資料放進 AI 對話中;對話被讀到時,損失就少很多。

資料來源

Posted in

發表留言