分享的 ChatGPT 連結可以竊取你的私人對話:
跨 sandbox 的 HTML 注入
為什麼現在很紅:你收到一個 ChatGPT 對話的分享連結,看起來是同事或朋友傳的。你點開連結,看到對話內容,覺得沒什麼問題。但在背景,這個連結已經在你的登入 session 中執行攻擊者的程式碼,列出你的私人對話、開啟你從未分享過的對話、把部分內容傳送到攻擊者的伺服器。整個過程你完全不知道。
- 一句話結論
- Parameter 安全公司於 10 月 18 日透過 OpenAI 的 bug bounty program 回報一個 XSS 漏洞,惡意的 ChatGPT 分享連結能在開啟者的登入 session 中執行攻擊者的程式碼。OpenAI 於 8 天後(10 月 26 日)修補並評為 P1(最高嚴重性)等級。攻擊方式是透過一般的 ChatGPT 分享連結傳播,可透過電子郵件、聊天訊息、支援工單或社群貼文傳送。
- 他要的是什麼
- 我建立一個 ChatGPT 對話,裡面包含一個 HTML Preview 與一個互動式圖表。圖表會載入 MathLive 數學套件到主頁面,而我的 Preview 會送一個鍵盤訊息給 MathLive,訊息裡夾帶惡意 HTML。MathLive 沒檢查訊息來源,直接接受並注入到主頁面。注入的 HTML 建立一個新 frame,載入我從 YouTube 準備的 script。現在我的程式碼在你的 ChatGPT session 裡執行了,我可以列出你的對話、開啟你的私人對話、傳送內容到我的伺服器。整個過程你只需要點開我分享的連結,最多再點一次 Preview 按鈕。
- 你今天做一件事
- 無需任何動作,OpenAI 已在伺服器端修補這個漏洞。若懷疑在 10 月 18 日至 26 日期間點開過可疑的 ChatGPT 分享連結,可以檢視 ChatGPT 的 Activity 頁面確認最近開啟的對話是否都是自己操作。若懷疑私人對話已被竊取,評估對話內容的敏感性(如密碼、API 金鑰、個人資料)並採取後續措施。 直接去做 →
- 哪些能信
- 9 可證明0 推論1 缺口 每個主張都標了等級,缺口是誠實寫出來的。
- 破口速查
- 受害端一律去識別化;寫「未公開」代表公開資料查不到。
- 伺服器服務商
- ChatGPT 網頁版(chatgpt.com),2026 年 10 月 26 日之前的版本
- 網路服務商
- 透過分享連結傳播,利用 ChatGPT 的 Preview 功能與 MathLive 的訊息監聽器突破 sandbox
- 漏洞出現的地方
- 惡意分享連結包含 HTML Preview 與互動式圖表,圖表載入 MathLive 套件到主頁面,Preview 透過 MathLive 的訊息監聽器注入 HTML 到主頁面,建立不受 sandbox 限制的 frame 執行攻擊者程式碼
- 馬上自我檢測
無需檢查,OpenAI 已在伺服器端修補 若懷疑私人對話被存取,檢視 ChatGPT 的 Activity 頁面確認最近開啟的對話是否都是自己操作 檢查 10 月 18 日至 26 日期間是否點開過可疑的 ChatGPT 分享連結- 漏洞修補方式
- 無需任何動作,OpenAI 已在伺服器端修補 若懷疑私人對話已被竊取,評估對話內容的敏感性並採取後續措施(如更換提及的密碼、通知相關人員)
有 15 分鐘再看:其餘 2 點
- 受害者不需要安裝任何東西、不需要加入 workspace、不需要透過攻擊者登入。在最可靠的攻擊版本中,受害者開啟連結並點一次 ChatGPT 的 Preview 按鈕即可觸發;在後來的版本中,Parameter 讓頁面自動開啟 Preview,因此只需開啟連結即可。攻擊者的程式碼在受害者的登入 session 中執行,擁有與真實 ChatGPT 網站相同的存取權限,能列出最近對話、開啟從未分享過的私人對話、傳送部分內容到攻擊者控制的伺服器。Parameter 的概念驗證攻擊是在獨立帳號之間進行的測試,未針對真實使用者,也未發現野外利用。
- 漏洞原理:ChatGPT 的 Preview 功能可將對話中的 HTML 區塊轉換成小型網頁,但因為可能包含任意程式碼,因此在獨立網域的 sandbox frame 中執行。Sandbox 本身是安全的,但同一個分享連結中包含互動式圖表,載入 MathLive 數學套件到主頁面。MathLive 的訊息監聽器接受來自任何發送者的鍵盤訊息且允許訊息攜帶原始 HTML,Preview 因此能跨 frame 將 HTML 注入到主頁面。注入的 HTML 建立新 frame,瀏覽器視為 chatgpt.com 的一部分,從 YouTube 載入的 script 提供最終執行的程式碼(ChatGPT 的 CSP 允許來自 YouTube 的 script)。OpenAI 在 10 月 26 日於兩個 frontend 版本中修補,拒絕攻擊所依賴的訊息。Parameter 於 10 月 28 日公開分析,OpenAI 支付 5000 美元獎金。
Parameter 安全公司發現,惡意的 ChatGPT 分享連結能在開啟者的登入 session 中執行攻擊者的程式碼,讀取私人對話內容。漏洞利用 ChatGPT 的 Preview 功能與 MathLive 數學套件的訊息監聽器,突破 sandbox 限制將 HTML 注入到主頁面。OpenAI 於 10 月 26 日修補,使用者無需任何動作。這是 P1(最高嚴重性)等級的漏洞,獎金 5000 美元。
本篇目錄
發生了什麼
來源:本文整理自 The Hacker News 於 2026 年 10 月 31 日發布的報導,原始技術分析來自 Parameter 安全公司於 10 月 28 日發布的研究。原文連結,原文發布日期為 2026 年 10 月 31 日。
你收到一個 ChatGPT 對話的分享連結,看起來是同事或朋友傳的。你點開連結,看到對話內容,覺得沒什麼問題。但在背景,這個連結已經在你的登入 session 中執行攻擊者的程式碼,列出你的私人對話、開啟你從未分享過的對話、把部分內容傳送到攻擊者的伺服器。整個過程你完全不知道。
這是 Parameter 安全公司於 2026 年 10 月 18 日回報給 OpenAI 的漏洞。OpenAI 在 8 天後(10 月 26 日)修補,並評為 **P1(最高嚴重性)**等級。
攻擊如何傳播
攻擊方式是一個看起來正常的 ChatGPT 分享對話。它可以透過任何管道傳送:
- 電子郵件
- 聊天訊息
- 支援工單
- 社群貼文
受害者不需要:
- 安裝任何東西
- 加入任何 workspace
- 透過攻擊者的帳號登入
在最可靠的攻擊版本中,受害者只需:
- 開啟連結
- 點一次 ChatGPT 的 Preview 按鈕
在後來的版本中,Parameter 讓頁面自動開啟 Preview,因此只需開啟連結即可。
攻擊者能做什麼
一旦連結開啟,攻擊者的程式碼在受害者的登入 session 中執行,擁有與真實 ChatGPT 網站相同的存取權限。
Parameter 的概念驗證展示了:
- 列出受害者的最近對話
- 開啟一個從未分享過的私人對話
- 傳送部分對話內容到攻擊者控制的伺服器
程式碼直接呼叫 ChatGPT 的已登入 API,而不是只複製畫面上的內容。因此,它的範圍不限於眼前看得到的對話。
Parameter 的研究員寫道:
「基本上,我們可以代表受害者的 ChatGPT 帳號執行任何操作。」
這包括但不限於:
- 讀取所有私人對話
- 建立新對話
- 修改或刪除對話
- 更改帳號設定
- 存取整合的服務(如 DALL·E、程式碼執行)
漏洞原理:如何突破 sandbox
Parameter 的技術分析揭露了一個精巧的攻擊鏈。
第一步:Preview 功能與 sandbox
ChatGPT 可以將對話中的 HTML 區塊轉換成小型網頁,透過 Preview 功能顯示。因為 HTML 可能包含任意程式碼,ChatGPT 將它放在鎖定的 frame 中,在獨立的網域上執行,使其無法讀取主 ChatGPT 頁面的內容。
這個 sandbox 是安全的。問題來自另一個功能。
第二步:MathLive 的訊息監聽器
同一個分享對話中包含一個互動式圖表,載入圖表時會將 MathLive 數學套件載入到主 ChatGPT 頁面。
MathLive 啟動後留下一個訊息監聽器,接受關於其螢幕鍵盤的訊息。
問題在於:這個監聽器沒有檢查訊息來源,且允許訊息攜帶原始 HTML。
因此,Preview(在 sandbox 中)可以跨 frame 將 HTML 注入到主頁面。
第三步:建立不受限制的 frame
注入的 HTML 建立一個新 frame,瀏覽器將其視為 chatgpt.com 的一部分(不再是 sandbox)。
第四步:載入外部 script
ChatGPT 的 Content Security Policy(CSP)限制頁面的 script 可以來自哪些來源。它阻擋內嵌程式碼,但允許來自 YouTube 的 script。
因此,攻擊者從 YouTube 載入 script,提供最終執行的程式碼。
攻擊鏈總結
- Preview 包含惡意 HTML(在 sandbox 中,無害)
- 互動式圖表載入 MathLive 到主頁面
- Preview 送訊息給 MathLive,訊息中夾帶惡意 HTML
- MathLive 沒檢查來源,將 HTML 注入到主頁面
- 注入的 HTML 建立新 frame(被視為 chatgpt.com)
- 從 YouTube 載入 script 到新 frame
- Script 執行,讀取私人對話
OpenAI 修補了什麼
OpenAI 於 10 月 26 日在兩個 ChatGPT frontend 版本中修補,拒絕攻擊所依賴的訊息。
Parameter 分析了三個導致問題的設計選擇:
- MathLive 接受訊息時沒有檢查來源
- 訊息允許攜帶原始 HTML 作為鍵盤佈局資料
- HTML 可以建立不受 sandbox 限制的 frame,繼承 chatgpt.com 身分
YouTube 步驟只是最後的繞過方式,不是根本原因。只阻擋 YouTube 仍然會讓不受信任的 Preview 能夠將 HTML 推送到主網站。
使用者需要做什麼
無需任何動作。修補在 OpenAI 的伺服器端,不需要安裝或重置任何東西。
沒有已知的野外利用
Parameter 表示這是受控測試,在獨立帳號之間進行,未針對真實使用者。報導未提及任何野外利用。
時間軸
- 2026 年 10 月 18 日:Parameter 透過 OpenAI bug bounty program 回報
- 2026 年 10 月 26 日:OpenAI 修補(8 天完成)
- 2026 年 10 月 28 日:Parameter 公開技術分析
- 2026 年 10 月 31 日:The Hacker News 報導
OpenAI 將嚴重性從 P2 提升到 P1,並支付 5000 美元獎金。
如果你在 10 月 18 至 26 日點過可疑連結
雖然沒有已知的野外利用,但如果你在這段期間點過可疑的 ChatGPT 分享連結,可以:
- 檢視 Activity 頁面:ChatGPT 的設定中有 Activity 頁面,顯示最近開啟的對話。確認是否有你不記得開啟的對話。
- 評估對話內容的敏感性:檢視你的私人對話中是否包含密碼、API 金鑰、個人資料等敏感資訊。
- 採取後續措施:若對話中提及密碼或金鑰,考慮更換;若提及個人資料,評估是否需要通知相關人員。
你可以學到什麼
站在攻擊者的角度:我建立一個 ChatGPT 對話,裡面包含一個 HTML Preview 與一個互動式圖表。圖表會載入 MathLive 數學套件到主頁面,而我的 Preview 會送一個鍵盤訊息給 MathLive,訊息裡夾帶惡意 HTML。MathLive 沒檢查訊息來源,直接接受並注入到主頁面。注入的 HTML 建立一個新 frame,載入我從 YouTube 準備的 script。現在我的程式碼在你的 ChatGPT session 裡執行了,我可以列出你的對話、開啟你的私人對話、傳送內容到我的伺服器。整個過程你只需要點開我分享的連結,最多再點一次 Preview 按鈕。
- 01Sandbox 可能被其他功能繞過:ChatGPT 的 Preview sandbox 本身是安全的,但 MathLive 的訊息監聽器提供了跨 frame 注入 HTML 的管道。
- 02跨 frame 訊息必須驗證來源:MathLive 接受來自任何 frame 的訊息且允許攜帶原始 HTML,打破了 sandbox 的隔離。
- 03CSP 的白名單可能被利用:ChatGPT 允許來自 YouTube 的 script,攻擊者利用這個白名單載入惡意程式碼。
- 04分享連結可以執行程式碼:即使是看起來正常的 ChatGPT 分享連結,也可能在你的登入 session 中執行攻擊者的程式碼。
- 05OpenAI 快速修補:從回報到修補只花 8 天,並評為 P1 最高嚴重性,顯示 OpenAI 重視這類漏洞。
- 06攻擊者可以代表你執行任何操作:程式碼在你的登入 session 中執行,擁有與你相同的存取權限,不限於讀取對話。
- 07使用者無需動作:修補在伺服器端,使用者不需要安裝或重置任何東西,這是 SaaS 產品的優勢。
- 01XSS(Cross-Site Scripting)跨站腳本攻擊,攻擊者在受害者的登入 session 中執行程式碼。
- 02Sandbox Escape突破 sandbox 限制,將程式碼從隔離環境注入到主頁面。
- 03Preview 功能ChatGPT 將對話中的 HTML 區塊轉換成小型網頁的功能,攻擊的起點。
- 04MathLive數學公式輸入套件,其訊息監聽器沒有驗證來源,提供了注入管道。
- 05跨 Frame 訊息(postMessage)瀏覽器允許不同 frame 之間傳遞訊息,但接收方必須驗證來源。
- 06Content Security Policy(CSP)限制頁面可以載入哪些來源的 script,但白名單可能被利用。
- 07Parameter發現並回報這個漏洞的安全公司,於 10 月 28 日公開技術分析。
全部唯讀,不改任何設定;做完你會知道自己有沒有同樣的破口。
- 無需任何動作看到什麼代表什麼:OpenAI 已在伺服器端修補這個漏洞,使用者不需要做任何事。
- 若懷疑在 10 月 18 至 26 日點過可疑連結,檢視 Activity 頁面看到什麼代表什麼:在 ChatGPT 設定中找到 Activity 頁面,確認最近開啟的對話是否都是自己操作。
- 評估私人對話的敏感性看到什麼代表什麼:檢視你的私人對話中是否包含密碼、API 金鑰、個人資料等敏感資訊。
- 若對話中提及敏感資訊,採取後續措施看到什麼代表什麼:更換提及的密碼或金鑰、通知相關人員、評估是否需要進一步調查。
- 提高對分享連結的警覺看到什麼代表什麼:即使是來自同事或朋友的 ChatGPT 分享連結,也要確認來源的真實性,避免點開可疑連結。
分享連結的信任問題
這個漏洞揭露了一個更深層的問題:分享連結可以執行程式碼。
在 ChatGPT 修補之前,一個看起來正常的分享連結可以:
- 在你的登入 session 中執行程式碼
- 讀取你的私人對話
- 修改你的帳號設定
- 代表你執行任何操作
即使來源看起來可信(同事、朋友、社群),你也無法確定連結背後是否有惡意程式碼。
這不是 ChatGPT 獨有的問題,任何允許分享互動內容的服務都可能面臨類似風險:
- Google Docs 的分享連結
- Notion 的分享頁面
- Figma 的分享設計
- CodeSandbox 的分享程式碼
這些服務都需要在功能豐富與安全隔離之間取得平衡。ChatGPT 的 Preview 功能是為了讓對話更生動,但也引入了攻擊面。
如果你開發類似服務
如果你的服務允許使用者分享互動內容,Parameter 的研究提供了重要教訓:
- Sandbox 是必要的但不充分:即使內容在 sandbox 中執行,其他功能可能提供繞過管道。
- 跨 frame 訊息必須驗證來源:任何接受 postMessage 的監聽器都必須檢查
event.origin。 - 不要在訊息中傳遞原始 HTML:若必須傳遞結構化資料,使用 JSON 並嚴格驗證。
- CSP 白名單要最小化:每個白名單來源都是潛在的攻擊面。
- 定期審查第三方套件:MathLive 的訊息監聽器可能在引入時是安全的,但在新的使用情境中成為弱點。
OpenAI 的快速修補(8 天)與 P1 評級顯示他們重視這類漏洞。使用者無需任何動作,這也是 SaaS 產品在安全修補上的優勢。
環境背景、時間線、攻擊鏈對照 ATT&CK、關鍵證據、根因、處置與檢討都在完整版,約 9 分鐘。
來源
本文為公開報導與官方公告的整理與拆解,非第一手鑑識;證據等級依來源可信度標註。
本文由 AI 團隊協助研究與撰寫,經隱私與事實檢查後發布;證據等級依來源可信度標註。
複製下面這段,貼給你在用的 AI 工具(Claude Code、Cursor、Copilot、ChatGPT 都可以)。它會用本篇的破口位置、自我檢測與學習重點,對你的專案或環境做一次資安掃描,列出潛在問題與建議的調整或加強方式。
預設是唯讀:只發現問題、提出建議,不會改你任何檔案或設定。
M6 第三方風險 · 想在自己的環境做一次同樣的盤點,從 自我盤點 開始。
每篇新文章一封:三點摘要、關鍵字定義、今天能做的一件事。或先 加入會員 記錄你完成的任務。