OpenAI 部署了追蹤 Cookie 系統?獨立安全研究員 Buchodi 於 2026 年 9 月 20 日發表的技術調查顯示,當 OpenAI 在第三方商業店面中部署追蹤 Cookie 機制時,網頁客戶端會啟動識別程序,將外部瀏覽行為傳輸回平台的廣告收集器。此架構核心為一個標記為 __obi 的持久識別碼,該識別碼配置了跨站權限,並在官方文件中被歸類為「分析型 Cookie」而非「行銷組件」。雖然該協定架構建立了將商業互動與帳戶綁定或持久性匿名識別碼關聯的技術先決條件,但外部流量擷取證實數據正傳輸至邊緣接收端點,而最終的伺服器端資料庫連結則無法透過外部觀察驗證。
產業重整與新聞解析
生成式人工智慧與商業獲利模式的交集,在 Buchodi 發佈關於跨站廣告收集的技術披露後達到關鍵轉折點。該獨立調查檢視了與 ChatGPT 互動的客戶端對話如何與外部商業領域的後續網頁活動產生關聯。這些互動並非完全在隔離介面中運行,而是會在後台啟動識別程序,將瀏覽元數據中繼傳輸至廣告數據接收基礎設施。
重點摘要
- 跨站識別碼核發:造訪
chatgpt.com的網頁客戶端會取得一個短效的 OBI 同步 JSON Web Token,該權杖隨後會交換為.openai.com網域下一個效期長達一年的持久性 Cookie,命名為__obi。 - Chrome Android 測試中觀察到的 Cookie 預執行傳輸:當瀏覽器從
bzrcdn.openai.com擷取外部廣告測量腳本時,瀏覽器網路堆疊會在客戶端 JavaScript 執行前自動附加__obi。 - 像素級 DOM 與表單收集:已部署的廣告測量標籤會解析表單輸入內容、渲染後的 HTML 元素以及標籤管理匯流排,並將地理位置指標與網址路徑字串傳輸至 OpenAI 端點。
實證分析針對長達數月的測試框架監控了即時網路交換。該數據集評估了在 1,029 個唯一主機名稱下、由 936 個廣告像素產生的 23,929 筆 HTTP 請求。研究結果確認,外部商業活動(包括產品目錄互動、項目搜尋與結帳流程)會經常伴隨著持久性客戶端權杖傳輸至 OpenAI 接收端點。

在研究人員的測試設備上,來自 13 種不同像素配置(包括 Chewy、Wayfair、ThriftBooks、Eventbrite、HelloFresh、Coursera 和 SeatGeek 等入口網站)的 12 個不同商業網站皆傳輸了相同的 __obi 值。在更廣泛的流量樣本中,30 個不同的 __obi 值中有 12 個出現在多個廣告商環境中,其中一個值被觀察到跨越了 10 個不同的商業網域。
跨站識別解析時間軸
| 事件階段 | 協定動作 | 技術範疇與隔離邊界 |
|---|---|---|
| 工作階段初始化 | POST /sync-token |
RS256 JWT 將帳戶或匿名主體識別碼綁定至 60 秒的權杖 |
| Cookie 持久性 | Set-Cookie: __obi |
SameSite=None 標記 Cookie 具備跨站傳輸資格 |
| 商家歸因 | GET /sdk/oaiq.min.js |
瀏覽器網路堆疊在初始腳本擷取時附加 Cookie |
OpenAI Cookie 政策中的官方定義將 __obi 歸類為「分析型 Cookie」,並賦予 365 天的營運效期。由於 OpenAI 的同意架構是透過分析同意而非專屬行銷控制來管理 __obi,因此在觀察到的測試中,僅拒絕行銷同意並無法抑制 Cookie 的部署。

技術架構脫鉤分析
管理 __obi 的運作機制依賴於連接客戶端瀏覽器工作階段、廣告收集端點以及第三方商業店面的三階段交換管線。網路追蹤說明了瞬時加密斷言如何轉換為持久的客戶端識別碼。
該過程始於 chatgpt.com。客戶端瀏覽器產生 16 個位元組的熵,並發送 HTTP 請求至平台內部後端:
POST /backend-api/bazaar/obi/sync-token
未經身份驗證的工作階段會呼叫 /backend-anon/bazaar/obi/sync-token。內部發行服務(由 JWT iss 宣告識別為 chatgpt-wadi)會回傳一個 RS256 簽署的 JSON Web Token,其中包含將隨機熵映射至內部帳戶元數據的識別宣告。
{
"iss": "chatgpt-wadi",
"aud": "bzr.openai.com",
"purpose": "obi_sync",
"operation": "set",
"consent_decision": "analytics_allowed",
"consent_policy_version": "user_granular_consent_v1",
"sub": "«已遮蔽:64 位元十六進位帳戶主體»",
"subject_type": "account_user",
"obi": "«已遮蔽:22 字元識別碼»",
"exp": "«iat + 60s»"
}
簽署的承載資料強制執行 60 秒的過期期限 (exp)。客戶端瀏覽器立即透過非同步 POST 請求將此權杖轉發至 OpenAI 的程式化廣告網域:
POST https://bzr.openai.com/v1/obi/sync
OpenAI 的邊緣伺服器處理該權杖並回傳 HTTP 標頭,指示瀏覽器儲存該持久性 Cookie。
HTTP/2 200 OK
Set-Cookie: __obi=«已遮蔽»; Domain=.openai.com; HttpOnly; Max-Age=31536000; Path=/; SameSite=None; Secure
將 SameSite=None 與 Secure 旗標並用,標記該 Cookie 具備跨站傳輸資格(在主瀏覽器允許第三方 Cookie 的情況下)。與採用 SameSite=Lax 或限制在直接來源子網域的標準應用程式 Cookie 不同,__obi 會附加到發往 *.openai.com 的外部跨站請求中。
+-------------------------------------------------------------------------+ | [ 概念性協定流程:OBI 權杖交換與廣告像素 ] | +-------------------------------------------------------------------------+ | | | [ 使用者瀏覽器工作階段 (chatgpt.com) ] | | | | | +---> 請求同步權杖: POST /backend-api/.../sync-token | | | 回應: 60s RS256 JWT (帳戶或匿名主體) | | | | | +---> 交換權杖: POST bzr.openai.com/v1/obi/sync | | 回應: Set-Cookie: __obi (SameSite=None; 1年期) | | | +-------------------------------------------------------------------------+ | [ 商家店面 (內嵌 OpenAI 像素的零售商網站) ] | | | | | +---> 瀏覽器擷取: <script src="bzrcdn.../oaiq.min.js"> | | | * 瀏覽器網路堆疊在腳本擷取時附加 __obi * | | | | | +---> 像素收集 DOM 文字、標籤管理匯流排與輸入內容 | | | | | v | | [ OpenAI 接收端點 (bzr.openai.com/v1/sdk/events) ] | | 傳輸數據: 郵遞區號 +雜湊值 + 清理後的 URI 路徑 | | | +-------------------------------------------------------------------------+
合作商家店面完成了通訊循環。透過 ChatGPT 投放廣告的零售商會嵌入 OpenAI 的轉換測量腳本 (oaiq.min.js)。當使用者導航至整合商家時,瀏覽器會解析腳本標籤:
GET https://bzrcdn.openai.com/sdk/oaiq.min.js
由於請求符合 .openai.com 通用字元定義範圍,瀏覽器網路堆疊會在初始腳本擷取時附加 __obi。此傳輸發生在像素的 JavaScript 執行之前,這意味著像素內的客戶端邏輯無法繞過此具備憑證的請求。然而,網路級的內容攔截器、DNS 沉洞或直接封鎖該請求網域的瀏覽器擴充功能則可完全防止此連線。
網路擷取顯示,測量 SDK 從四個標記通道中提取頁面級屬性:
像素接收數據分類
| 來源通道 | 收集機制 | 技術範疇與欄位揭露 |
|---|---|---|
in (顯式輸入) |
商家 API 參數 | 交易價值、產品識別碼、貨幣符號 |
fm (表單蒐集) |
DOM 輸入攔截 | 表單輸入值、結帳元素、聯絡資料輸入 |
ht (DOM 遍歷) |
渲染後的 HTML 解析 | 內容標題、確認字串、文字元素 |
js (標籤管理鉤子) |
數據層攔截 | 掛鉤至 window.dataLayer.push 與 Adobe 標籤陣列 |
觀察到的流量記錄了 685 次跨 DOM 與標籤來源(fm、ht 與 js)的自動收集事件,相較之下商家提供的參數 (in) 為 255 次。SDK 會檢查標準標籤架構,解析傳遞至 Google 標籤管理員與 Adobe Analytics 管線的數據。電子郵件地址、電話號碼與全名等個人識別碼會在傳輸前進行 SHA-256 雜湊處理。相比之下,包括國家、地區、城市與郵遞區號在內的地理指標則以純文字傳輸。郵遞區號屬性出現在跨 28 個主機名稱的 100 次離散擷取中。
網址結構也會傳輸至接收端點。雖然省略了查詢參數,但來源與路徑組件仍保持完整。觀察到的記錄證實,代表醫療參考查詢、金融債務管理工作流程以及訴訟填寫表單的路徑皆傳送至收集端點。

系統解耦與瀏覽器控制
跨站 Cookie 傳輸機制反映了現代網頁引擎中根本性的架構差異。不同的瀏覽器強制執行不同的狀態分區預設值,以決定第三方識別碼是否可以在來源邊界之間傳輸。
瀏覽器 Cookie 隔離架構
| 瀏覽器環境 | 儲存隔離模型 | SameSite=None 跨站處理 |
觀察到的路徑處理 |
|---|---|---|---|
| Chrome for Android | 共用設定檔 Cookie 罐 | 在允許第三方 Cookie 時支援跨站遞送 | 測試中驗證傳輸;受限於使用者與企業第三方 Cookie 配置 |
| Apple Safari (WebKit) | 智慧追蹤防護 | 預設封鎖第三方儲存 | 在此觀察到的跨站路徑中預設為封鎖 |
| Chrome on iOS | 強制 WebKit 執行期 | 受限於 WebKit 儲存限制 | 在此觀察到的跨站路徑中預設為封鎖 |
| Mozilla Firefox | 全面 Cookie 保護 | 按頂層站點分區 Cookie 罐 | 第三方狀態預設分區;特定 __obi 互動未經獨立測試 |
| Brave Browser | Shields 儲存分區 | 分區並封鎖跨站狀態 | 第三方狀態預設分區/封鎖;特定 __obi 互動未經獨立測試 |
正如 WebKit 追蹤防護總覽文件所詳述,WebKit 環境預設限制跨站儲存。智慧追蹤防護 (ITP) 會抑制外部網路呼叫上的第三方 Cookie,防止 iOS Safari 與 iOS Chrome 上的商家店面傳輸 __obi。同樣地,Mozilla 關於全面 Cookie 保護與來源狀態分區的架構規範詳述了 Cookie 罐如何按頂層來源分區,將 openai.com 下建立的 Cookie 與外部商家頁面隔離。
本次調查特別在 Chrome for Android 上重現了完整機制。正如 Google Chrome 的 Cookie 管理政策中所述,除非使用者或裝置管理員啟用第三方 Cookie 封鎖,否則配置為 SameSite=None; Secure 的第三方 Cookie 允許用於跨站網路擷取,這促進了店面與 OpenAI 廣告端點之間的通訊。
同意分類與觀察到的行為比較
| 評估屬性 | 既定 Cookie 政策範疇 | 觀察到的執行期部署 |
|---|---|---|
| 分類歸屬 | 歸類為分析型 Cookie | 配置為 SameSite=None; Secure 用於跨站遞送 |
| 評估的同意宣告 | 有別於 oai_consent_marketing 設定 |
完全由解碼權杖中的 analytics_allowed 管理 |
| 拒絕行銷後的結果 | 旨在管理廣告與促銷用途 | 在僅拒絕行銷同意的情況下,觀察到商家請求仍處於活動狀態 |
| 數據收集概況 | 描述為評估服務使用與效能 | 承載結帳表單數據、純文字郵遞區號與 URI 路徑 |
應用於 OpenAI 法律政策中 __obi 的分類引發了重要的治理問題。OpenAI 針對分析 (oai_consent_analytics) 與行銷 (oai_consent_marketing) 提供離散的同意選擇。在技術測試期間解碼的每個同步權杖均包含 consent_decision: analytics_allowed 屬性。
由於底層權杖核發服務將生成權限綁定至分析偏好,因此在觀察到的測試流程中,僅拒絕行銷 Cookie 並未停止 __obi 的核發或傳輸。此結構在國際數據治理標準下引發了疑慮,即多站點廣告轉換測量是否與基本的「功能性分析」一致,還是應被歸類為行銷遙測。
工程評估必須嚴格區分觀察到的網路傳輸與後端數據處理。流量記錄確認商家入口網站會將 __obi 與訂單指標、表單屬性以及網址路徑傳輸至 bzr.openai.com,並接收 HTTP 202 Accepted 狀態。雖然在初始授權權杖中加入帳戶級主體識別碼在設計上使帳戶解析在技術上可行,但外部網路觀察無法獨立確認 OpenAI 的後端系統是否將這些入站事件與使用者對話歷史記錄進行了連結。
工程檢查清單與驗證時程
管理入口網站與終端設備群的企業工程團隊應評估第三方標籤配置,以確保外部腳本符合企業隱私與數據處理標準。
企業網管標籤治理檢查清單
腳本擷取與標籤稽核
- [ ] 稽核應用程式範本,定位從
bzrcdn.openai.com載入資源的相依性。 - [ ] 評估子資源完整性 (SRI) 或版本鎖定託管是否符合廠商部署模型。
- [ ] 審查標籤管理配置,驗證行銷標籤是否存取內部交易匯流排。
數據層審查與欄位處理
- [ ] 評估
window.dataLayer與adobeDataLayer結構的存取邊界。 - [ ] 審查郵遞區號與地址欄位是否需要在發送外部標籤前進行遮蔽。
- [ ] 審查 OpenAI 廣告管理員中的「自動匹配」設定,以評估 DOM 解析是否適用於結帳工作流程。
內容安全政策驗證
- [ ] 審查
connect-src指令,定義外發遙測信標的授權目標。 - [ ] 評估
script-src政策,防止未經審查的外部腳本執行。 - [ ] 驗證結帳與客戶填寫表單的流程,確保敏感路徑免受第三方信標影響。
端點配置與儲存衛生
行動裝置群組配置
- [ ] 評估管理式企業裝置上的 Chrome for Android 配置設定檔。
- [ ] 評估在管理式端點上啟用第三方 Cookie 限制的營運影響。
- [ ] 在業務需求允許的情況下,審查隱私導向瀏覽器配置的部署。
身分與工作階段衛生稽核
- [ ] 監控企業網路外發流量中針對
bzr.openai.com的重複呼叫。 - [ ] 針對未管理的瀏覽器工作階段建立定期設定檔維護常式。
- [ ] 確認企業表單設計避免將純文字使用者輸入暴露給環境腳本上下文。
實施結構化的內容安全政策並審查標籤擷取邊界,有助於工程團隊在商業交易期間減少意外的第三方數據暴露。
常見問題 (FAQ)
僅拒絕行銷同意是否會停止 __obi Cookie?
為什麼 iOS 上的 Safari 會封鎖此追蹤,而 Android 上的 Chrome 卻允許它?
第三方商家網站可以直接讀取 __obi Cookie 嗎?
實際影響與未來展望
對 __obi Cookie 架構的技術檢視,說明了對話式 AI 平台與線上廣告架構之間不斷演變的關係。多年來,數位廣告系統一直使用瀏覽器狀態機制來連結使用者在獨立網站上的互動。將這些測量模式應用於對話介面引入了新的考量。使用者經常在假設對話環境與廣泛廣告網路隔離的前提下,將敏感的專業、技術與個人詳細資訊輸入至對話平台中。
若商家遙測數據最終能如協定設計般連結至帳戶級識別資訊,這種結合將創造出極其豐富的行為輪廓。隨著 AI 代理越來越多地處理諸如日程安排、旅遊預訂與產品採購等實際任務,對話工具的直接效用與商業側寫之間的運作界線將需要明確的定義。
導航此過渡過程要求工程團隊在網頁屬性中應用嚴格的治理。管理客戶導向網站的組織必須稽核第三方腳本整合、審查標籤管理工具的數據暴露情況,並強制執行精確的內容安全政策。與此同時,不斷演變的瀏覽器儲存標準將持續限制跨平台的環境跨站數據共享。現代網頁環境中的長期隱私維護,將取決於強大的客戶端技術邊界,而非僅僅依靠政策宣告。
參考資料
Share this article



