去年有位行銷背景的講師,用 Vibe Coding 做了個 AI 小工具分享給學員使用,沒幾天就發現帳單暴增 — 原來 AI 生成的程式碼直接把他的 API Key 寫死在檔案裡,所有學員都在燒他的帳號。這件事在技術圈傳開後,成了不少工程師拿來挑戰 Vibe Coding 的經典案例。
萬萬沒想到,才過了不到一年,這個劇本竟然升級了。
8/27,雲端部署平台 Zeabur 證實發生資安事件,攻擊者取得了平台上部分使用者專案的環境變數紀錄。白話來說,就是使用者存放在 Zeabur 上的 API Key、資料庫密碼、各種 Token,可能全部被看光了。
而且不只是「被看到」— 官方已經實際觀察到 Anthropic、OpenAI、OpenRouter 的 API 憑證遭到盜用,有使用者的帳單一夜衝上平日近十倍,被盜刷的金鑰清一色在跑最貴的 Claude Opus。
咦!!!?? 這不就是去年那位講師的翻版,只是規模從「一個人的 key」變成「整個平台所有人的 key」嗎?
兩個案例,一條升級路線
讓我們把這兩件事擺在一起看:
| 案例一:Vibe Coding 講師 | 案例二:Zeabur 平台 | |
|---|---|---|
| 時間 | 2025 年 | 2026 年 8 月 27 日 |
| 當事人背景 | 行銷背景,非技術出身 | 新創公司,拿過 YC China 和 500 Global 投資 |
| 問題核心 | API Key 寫死在前端程式碼 | 平台內部 AWS 管理憑證外洩,環境變數遭存取 |
| 影響範圍 | 個人帳單暴增 | 平台上所有使用者的 API Key、資料庫密碼、Token |
| 外洩的 Key 類型 | 單一 AI 服務 | OpenAI、Anthropic、OpenRouter、Gemini、GitHub、AWS、Cloudflare、Stripe… |
| 社群反應 | 「不懂技術就不要碰」 | 「連平台都搞不定?」 |
第一案的教訓是:「使用者自己不懂安全」— 你不懂,你自己受害,某種程度上是可以理解的。
但第二案的意義完全不同。Zeabur 不是路人,它是一家以「幫你部署、幫你管理」為核心價值的 PaaS 平台。使用者把 Key 交給它,正是因為信任它會妥善保管。
簡單來說,這就像一家保全公司被偷了所有客戶的鑰匙 — 而且不是保險箱沒鎖好,是連進保全公司大門的那把鑰匙都被拿走了。
已確認的攻擊路徑
根據 Zeabur 後續公布的調查結果,攻擊路徑已經比較清楚了:
攻擊者取得了一組外洩的 Zeabur 內部 AWS 管理憑證,進入東京區域的 shared AWS cluster,接著取得 control-plane network 的 VPN 存取能力,最終連入 Zeabur 的主要資料庫,對使用者的環境變數進行查詢與匯出。
從查詢模式來看,攻擊者特別鎖定 AI API Key 與其他可以直接使用的憑證 — 這不是亂槍打鳥的腳本小子,而是有目標的行動。
官方先前提到 AI Hub 使用的 LiteLLM 出現可疑活動,目前仍在調查兩者是否相關。完整的 root cause 尚待第三方鑑識結果公布。
這不是 Vibe Coding 的問題
看到這類事件,社群裡總會有人急著喊:「看吧,又是 Vibe Coding 惹的禍。」
但如果你看攻擊路徑就知道,這次被打穿的是平台的內部管理憑證和基礎設施存取路徑。今天就算你的程式碼是三十年經驗的資深工程師一行一行手寫的,只要部署在同一個平台、把 API Key 放在平台的環境變數裡,一樣會被撈走。
把這件事簡化成「Vibe Coding 很危險」,反而模糊了真正值得討論的問題。
Ian Chen 的一篇貼文 對這件事做了非常扎實的技術面分析,包括環境變數的使用在軟體部署中本就是標準做法,以及 Secrets Management 其實是一個安全成熟度的分層問題。有興趣深入了解技術細節的朋友,推薦直接去看他的原文。
但這面鏡子照出了什麼?
如果這次事件的原因不在 Vibe Coding,那它對我們這些 AI 時代的開發者、使用者、學習者,到底有什麼意義?
我覺得最值得思考的,是兩件事。
第一件:你把鑰匙交出去的時候,真的知道對方怎麼保管嗎?
Zeabur 的使用者照著官方文件、用標準做法把 API Key 設在環境變數裡。從使用者的角度,他什麼都沒做錯。問題出在平台本身成為了安全邊界的一部分 — 而這個邊界被突破了。
在 AI 時代,我們會越來越頻繁地把各種 API Key 交給第三方平台:部署平台、AI Agent 框架、自動化工具。每一次交付,其實都是一個信任決策。而「方便部署」和「安全存放你的憑證」是兩件完全不同的事。
你不需要成為資安專家,但至少在把 Key 交出去之前,值得多想一秒:這家平台的安全架構,配得上「保管我鑰匙」這個責任嗎?
第二件:AI 能幫你做出東西,但「做出東西」跟「做對東西」之間的距離,比你以為的遠。
這裡的「做對」不是指程式碼有沒有 bug,而是你的方案的安全等級,有沒有配得上它要承擔的責任。
一個個人的 side project,安全做到基本就夠了。但如果你做的是一個會保管別人 API Key 的平台、會處理使用者付款資訊的服務、會接觸敏感資料的應用 — 那你需要的安全等級就完全不同。
AI 不會主動幫你判斷「現在這個場景應該用什麼等級的安全防護」,因為這個判斷的輸入不是技術知識,而是你對「自己正在蓋什麼、要承擔什麼責任」的理解。
你不問,它就不做。
API Key 就是你的信用卡號
不管事件的原因在哪,身為 AI 工具的使用者,有些事是現在就該做的基本自保:
設好消費上限、開啟帳單警報。API Key 外洩之後,不是產生一把新 Key 就好,舊的一定要 revoke — 新 Key 不會讓舊 Key 自動失效。正式環境和測試環境用不同的憑證。
這些不難,但很多人在出事之前就是沒做。
這次 Zeabur 的事件,某種程度上是 AI 時代的一面鏡子 — 它照出的不只是一個平台的安全問題,也照出了整個生態裡,從個人開發者到平台到社群,對安全認知的各種落差。
希望這面鏡子不用照太多次。不然大家的 API 帳單都快撐不住了~
參考資訊:
- Zeabur 官方狀態頁事件公告:
https://status.zeabur.com/incident/1037896 - INSIDE — Zeabur 環境變數外洩!Anthropic、OpenAI、OpenRouter API 憑證遭盜用,官方公布輪替指南:
https://www.inside.com.tw/article/42241-zeabur-environment-variable-leak-api-keys-stolen - WhaleAgent — Zeabur 創辦人承諾賠償 用戶要自行向 AI 廠商取證:
https://whaleagent.io/posts/zeabur-founder-compensation-pledge-scale-undisclosed - WhaleAgent — Zeabur 環境變數外洩 用戶 API 帳單一夜跳十倍:
https://whaleagent.io/posts/zeabur-env-variable-leak-api-keys-drained - Ian — 從 Zeabur 資安事件談 Vibe Coding:有些專業知識,終究還是繞不過去:
https://www.facebook.com/share/p/19PoV1mT9y/