10 月 17 日,開源 AI 編程代理 OpenCode 確認遭入侵。公司在 X 發文稱,事件與「a large scale distillation attack」(大規模蒸餾攻擊)有關,影響 1.4% 的 OpenCode Console 用戶;受影響者存放於工作區的第三方供應商 key(包括 OpenAI、Anthropic、Google)可能已外洩。多名用戶在社交平台貼出半夜響起的帳單警示,有人被扣數百美元,最高一宗用戶報告約 1,700 美元。
時間線:由「昨晚」到官方確認
事件在 10 月 16 日晚間發生,OpenCode 其後以「last night」形容。10 月 17 日早上,受影響用戶收到標題為「Action Required: Potential provider key breach」的電郵,內容指公司「identified unauthorized access to a legacy system that we were in the process of decommissioning」,即一個正準備退役的舊系統被未授權存取;電郵續指「Third party provider keys (eg OpenAI, Anthropic) saved in your workspace may have been exposed」。同日下午 14:14(UTC),該通知已出現在 Reddit 的 r/opencode;15:30(UTC),安全研究員 Matt Johansen 在 X 貼出電郵截圖,寫道「Confirmed. OpenCode hacked. Keys stolen.」。18:08(UTC),OpenCode 官方帳號確認事件,並表示正與 Anthropic、OpenAI、Google 合作補救。
| 時間(UTC) | 事件 |
|---|---|
| 10 月 16 日晚間 | 未授權存取一個即將退役的舊系統(OpenCode 稱之為 legacy system) |
| 10 月 17 日早上 | 向受影響用戶發出「Action Required: Potential provider key breach」電郵,要求撤銷並更換 key |
| 10 月 17 日 14:14 | 通知出現在 Reddit r/opencode |
| 10 月 17 日 15:30 | 安全研究員 Matt Johansen 在 X 公開電郵截圖:「Confirmed. OpenCode hacked. Keys stolen.」 |
| 10 月 17 日 18:08 | OpenCode 官方確認:1.4% Console 用戶受影響,與 Anthropic、OpenAI、Google 合作補救 |
| 10 月 18 日(香港時間凌晨) | 官方帖文在香港時間凌晨發布;公司稱「The incident is ongoing so we cannot share more details at this point」 |
規模:1.4% 是多少人?
1.4% 的分母是 OpenCode Console 用戶,不是 OpenCode 全部用戶。Console 是 OpenCode 的託管層,讓團隊在工作區內共用模型與供應商 key;只有連結了外部供應商的用戶才受影響。OpenCode 未公布 Console 用戶總數,因此實際受影響人數仍無法確定。可參考的是整體規模:據 we0.ai 的整理,OpenCode 在 2026 年年中約有 460 萬周活躍用戶、每日處理約 7 兆個 token。公司亦未公布涉及多少把 key、攻擊者潛伏多久,以及是否每一把 key 都已被取走。
受害者:帳單半夜響,誰來埋單?
多名用戶在 X 上貼出收費紀錄:有人稱 OpenAI 被扣 281 美元、Anthropic 被扣 168 美元;有人稱 Google 被扣約 200 歐元;亦有人報告單一帳戶損失約 1,700 美元。這些數字來自用戶自述,未經 OpenCode 或三家實驗室確認。討論焦點很快由如何補救轉向誰負責:是 OpenCode、模型供應商,還是用戶自己?有用戶要求退費或補償,也有人指出 API key 外洩比密碼外洩更難察覺,因為費用按 token 持續累積,直到有人查看帳單才會發現。
OpenCode 共同創辦人 Dax Raad 在 X 表示,自己的個人帳戶亦被攻擊,並以「Whole new world with AI-powered hacking」(AI 驅動黑客攻擊的新世界)形容。這句話被廣泛引用,但要注意:OpenCode 至今沒有說明入侵手法是否由 AI 執行;「蒸餾攻擊」描述的是攻擊者的目的,不是入侵的技術手段。社群亦有人批評,OpenCode 把事件定性為蒸餾攻擊,而非直說「舊系統資料外洩」,模糊了原因與責任。
專家與社群:這不只是一把 key 外洩
Matt Johansen 的「Keys stolen」成為事件最早的公開訊號,他的貼文比官方確認早約兩小時四十分鐘。安全界的討論集中在三點。第一,第三方 console、IDE plugin 與代理工具代為保管 key,等於把高價值資產放在安全預算遠低於模型商的環節;有評論形容,每個存放供應商 key 的編程代理,都坐在模型公司花重金防守的同一類資產上。第二,建議立即撤銷 key、為每個工具設獨立 key、設定硬性消費上限,並把 key 留在本地環境變數。第三,要求平台加入異常用量自動凍結,而不是只用電郵警示。
什麼是蒸餾攻擊?為何要用偷來的 key?
蒸餾(distillation)本身是合法的訓練方法:用強模型的輸出訓練較小的模型,前沿實驗室也常以此製作便宜版本。但同一技術可用於未經授權地提取能力——大量提問、收集輸出,再訓練自己的模型,省下研發時間與成本。Anthropic 在 2 月 23 日的報告指出,三家中國 AI 實驗室(DeepSeek、Moonshot、MiniMax)透過約 2.4 萬個欺詐帳戶,與 Claude 產生超過 1,600 萬次對話;其 9 月的威脅情報報告進一步指出,有攻擊者從客戶環境竊取 API key,用來提供額外 AI 算力。美國 CISA 亦於 9 月 8 日發出聯合公告(AA26-251A),指中國背景的 AI 公司進行工業規模蒸餾活動,並利用「transfer stations」等代理網絡繞過地區限制與偵測。偷來的 key 正好解決了蒸餾最貴的一環:算力與帳單。
前沿實驗室如何補防?缺口在哪?
三家的防禦方向一致:加強偵測異常提問模式、限制速率、要求更嚴格的帳戶驗證、與同業交換情報。Anthropic 表示每次行動後都以所學強化防護,並在 9 月報告中把「濫用」與「蒸餾」列為七大危害類別之一;OpenAI 自 2025 年初已公開關注蒸餾活動;Google 亦透過 GTIG 發布 AI 威脅追蹤。美國政府層面則由 CISA 牽頭,把工業規模蒸餾定性為國安與知識產權問題。
但這次事件暴露的缺口不在模型層,而在工具層。模型商可以偵測異常流量,卻難以分辨用戶自己的合法 key與被偷來、但看起來正常的 key;當 key 由第三方 console 代為保管,責任與可見度同時下降。對攻擊者而言,偷一把已付費、已驗證的 key,比註冊 2.4 萬個假帳戶便宜得多,也更容易繞過地區限制。
對香港開發者的實務啟示
第一,把供應商 key 視為現金:能放本地就不放雲端 console,必須託管時使用獨立 key 與最低權限。第二,為每把 key 設硬性消費上限與即時警示,不要只倚賴月結單。第三,盤點所有曾輸入 key 的工具,包括 IDE plugin、CLI 與代理平台,並把「代管 key」列入供應商風險評估。第四,事件應變要有預案:誰負責撤銷、誰通知客戶、誰與供應商交涉退款。第五,採購時追問對方如何儲存 key、是否有異常自動凍結、事故通報時限為何。
