資安指南

OpenAI 帳號被封的原因與因應——被盜的 API key 為何會被判定為「蒸餾」違規

OpenAI 帳號可能在無預警下被封。成因之一是被盜的 API key 遭他人濫用,被自動判定為蒸餾政策違規。說明受害者為何也會被凍結、如何預先管理金鑰,以及申訴思路。

發布於 2026-06-09 更新於 2026-10-05 閱讀時間 2 分鐘
本頁內容

這是一篇把可能發生在不熟悉安全的個人開發者身上的事故,隱去專有名詞與可識別資訊後加以一般化的文章。文中不刊載攻擊的重現步驟。目的在於「不重蹈覆轍的防備」與「真的遭遇時的冷靜因應」。

事故摘要 — INCIDENT FILE
類型
帳號凍結(BAN)/API key 被盜、濫用
起因
被盜的 API key 被第三方濫用
判定理由
濫用內容被自動判定為『蒸餾(distillation)』政策違規
重點
即便實際操作的是第三方,被凍結的也是名義持有人的帳號
預防
金鑰分離、最小權限、用量告警、相依套件 CVE 的機器化監控
因應
保全證據 → 透過官方表單申訴(用記錄證明人不可能做到)
自動
偵測與凍結的主體
名義持有人
被凍結的一方
分離
最有效的預防(金鑰分離)
記錄
申訴的依據

「停止扣款」≠「因應完成」

止住違規扣款只是讓損害不再擴大。堵住外洩路徑、並處理名義上殘留的違規記錄,才算真正完成因應。

為什麼連受害者都會被凍結

要點在於:平台一方的判斷依據是**「在該名義下發生了什麼」,而非「是誰操作的」**。在「金鑰持有人=責任人」的前提下,一旦偵測到違規模式,帳號就會被停用。

① API key 透過某種途徑落入第三方手中
↓
② 第三方大量產生輸出(標註等)
↓ 自動偵測將其視為「蒸餾」
③ 名義持有人的帳號被自動凍結
被盜金鑰的濫用導致名義持有人帳號被凍結的流程(概念圖)。

什麼是『蒸餾(distillation)』

指大量蒐集強力模型的輸出,把這些「輸入→輸出」配對作為教師資料來訓練另一個 AI 模型的行為。多數主流 AI 供應商在條款中禁止用自家輸出去打造競品模型。大量的註解產生與資料標註很容易符合這種模式,是自動執法最易觸發的領域。

也就是說會發生什麼

對偷盜者而言,別人的 key 就是「隨便用的算力資源」。一旦其用途達到違規等級(蒸餾、大量產生資料),名義持有人的帳號也會一起被停用。比起被盜本身,被盜之後的用法才是凍結的原因——這正是此類事故的困難之處。

典型徵兆(一般化)

在實際案例中,凍結之前往往會先觀測到「自己毫無印象的使用」。這裡隱去具體數值,但其共通特徵如下。

  1. 徵兆① 用量異常

    遠超平日預期的用量與帳單,在短時間內集中出現。
  2. 徵兆② 內容不符

    本人不會用的模型、與本人用途無關的內容、與本人語言不同的處理正在執行。
  3. 徵兆③ 自動化痕跡

    極短時間內大量請求集中,且大量輸出為空等,呈現出人力不可能造成的分布。
  4. 結果 帳號凍結

    數日後,以違反條款(蒸餾等)為由帳號被停用。

看到徵兆時,別急著下定論,先看原始記錄。只要看模型、內容、語言、時間分布,是不是自己的用法一目了然。

預防:分開 API key,讓外洩只影響一處

要防止被凍結,關鍵在於:根本不讓金鑰被盜,或即便被盜也限制它能影響的範圍。

1

按服務分離金鑰

不要把一把 key 在多個專案裡反覆使用。防止單點被攻破擴大成整個帳號的問題。即便外洩,損害也止步於一個專案。
2

設定最小權限與上限

只保留用途所需的權限,並設定用量上限(硬/軟限制)。上限能壓住被盜時的損失金額與「蒸餾級規模」的濫用。
3

布置用量告警

用量一旦高於平時水準就立即收到通知。能及早察覺,就能在濫用達到會被判定為蒸餾的規模之前撤銷金鑰。
4

對外洩路徑=相依套件 CVE 做機器化監控

金鑰外洩多半源於放任不管的已知漏洞(RCE 等),被利用來從執行中的行程竊取機密。自動監控相依套件 CVE,就能防止人工檢查容易出現的疏漏。詳見 什麼是 CVE / CVE 跟進的維運。

金鑰也會從檔案以外的地方外洩

就算 grep 了程式碼和 git 沒找到明文金鑰,也不能掉以輕心。執行中行程的環境變數,可能經由漏洞(RCE)或 HTTP 標頭被竊取。外洩不僅發生在檔案中,也發生在執行階段。什麼是 RCE / 什麼是 .env。

萬一被封:申訴的思路

只要手頭握有濫用的客觀證據,冷靜地提交事實就有機會恢復帳號。重點在於 用記錄證明「這絕非人類操作所能做到」。

1

保全證據

保存使用記錄(時間分布、模型、內容、語言)、金鑰已失效的記錄、以及堵住外洩路徑的記錄。許多資訊事後無法重新取得,因此先保全。
2

透過官方表單提交事實

不要靠推測或情緒,而是羅列可驗證的事實。三項事實是:極短時間內的異常集中(自動化的濫用)、與本人用途和語言不符,以及發覺後立即刪除金鑰並修正外洩源的因應。
3

按階段切換主張

同樣的事實,在不同局面下奏效的論點不同。退款交涉時以「這次使用顯然不是我本人的」為主角;解凍時則積極主張「是第三方用被盜的 key 幹的=不是我做的」。

為什麼證明「人不可能做到」會奏效

極短時間內大量請求集中、且大量輸出為空——這樣的分布,在正常的業務使用中無法解釋。使用模式本身的不自然,就是證明「不是我操作的」最強而有力的客觀證據。

容易犯的錯誤,與正確的防備

容易犯的錯誤

  • 把一把 key 在多個專案裡反覆使用
  • 沒有設定用量上限與異常告警
  • grep 找不到金鑰就安心地以為「沒外洩」
  • 只停了扣款就當成因應完成
  • 情緒化地抗議,卻不整理客觀證據

正確的防備

  • 按服務分離金鑰並採用最小權限
  • 布置硬/軟用量上限與異常告警
  • 也要懷疑執行階段外洩(RCE、HTTP 標頭)
  • 兩件事都做:止住損害,並堵住外洩路徑
  • 用記錄平靜地證明人不可能做到

本案的結局(這一案例的後續)

在這類事故中,附上記錄這種客觀證據提出申訴後,帳號本身最終得以恢復。另一方面,被濫用的那部分額外退款未能爭取到,最終以已經發放的抵扣額度(credit)作結。

這裡的主要教訓是——即使帳號找回來了,被外洩的 key 所產生的費用也回不來。 恢復既費時又費力。所以真正的防禦並不在於「被凍結後再去爭」,而在於不讓金鑰外洩,並設定用量上限,讓外洩造成的損失不超過上限的事前設計。申訴是最後的手段,而非最初的防護。

總結:比起被盜本身,被盜之後的用法才導致凍結。預防靠分開金鑰並設定用量上限;萬一發生,就靠保全記錄來因應。

延伸閱讀

FAQ

Q我明明沒有違反條款,為什麼帳號會被封?
A

當 API key 被盜,第三方用這把 key 做出違規等級的使用(如大量產生資料等)時,這些活動會以你的組織名義被記錄下來。由於多數平台採用自動執法(automated enforcement)來偵測違規模式並凍結帳號,因此即便實際操作的是第三方,作為名義持有人的你的帳號也可能成為對象。

Q什麼是『蒸餾(distillation)』?
A

指大量蒐集強力模型的輸出,將其作為教師資料來訓練另一個 AI 模型的行為。多數主流 AI 供應商的使用條款都禁止用自家模型的輸出去打造競品模型。大量的標註(labeling)或註解(annotation)產生很容易符合這種模式,因而容易成為自動偵測的對象。

Q一旦被封,首先該做什麼?
A

①保全濫用證據(短時間內異常集中、與本人用途不符的內容等),②透過官方申訴表單提交事實。重點是用記錄這種客觀證據來證明:key 是被盜的、相關活動是自動化的濫用。