最近兩個 Vibe Coding 族群很愛用的部署平台,接連出事,很多人放在上面的 API key 跟著外洩。 10 月中,台灣的 Zeabur 被入侵,平台上約 322 萬筆環境變數被讀走,裡面有很多人的 API key 和資料庫密碼。 不少人因此搬去 Railway,結果一週後的 10 月 21 日,Railway 也被駭了。 Railway 官方說,最多約 10 萬個工作區的環境變數可能外洩。 有用戶在官方論壇回報,Gemini 金鑰被盜刷上百歐元,也有人一覺醒來多了 1,200 美元的 Twilio 帳單。 把 API 金鑰放在環境變數、不要寫在前端,這是最基本的做法沒有錯,但這兩件事說明,放在環境變數也不一定安全。 key 一被拿走,別人就能用你的帳號額度呼叫 API,帳單算在你頭上。 在擔心平台之前,先把自己這端顧好: • 會出現在瀏覽器端的程式碼,任何人都看得到,所以付費 API 一定要從後端呼叫。 • API 金鑰放在環境變數,不要寫在前端。 • 錄影、截圖示範時,注意畫面上有沒有金鑰。 可是平台本身被入侵時,這些做法就擋不住了。 所以申請金鑰時,先看看那個服務能不能限制只有特定 IP 才能連線。 有的話一定要設,這樣就算 key 遺失了,也不至於直接被別人拿去用。 幾個常見平台,官方文件都有寫這個功能: • OpenAI:在 Settings 的 Security 裡有 IP allowlist,開啟後只有清單裡的 IP 能呼叫 API,其他地方就算拿著正確的 key 也會被拒絕。 • Google Cloud:API key 可以加「應用程式限制」,限定只能從特定網站、IP 位址或 App 使用。 • 幣安:在 API 管理裡按 Edit restrictions,選「Restrict access to trusted IPs only (Recommended)」,再填入信任的 IP。 這個功能最適合 IP 固定的環境,例如你部署程式的主機或雲端服務。 如果是在家裡筆電上跑,IP 有可能會變,設定之前要先確認自己的 IP,不然可能把自己也擋在外面。 就算不能限制 IP,也可以先設每月花費上限,並開啟強制停止。 你的 API key 現在放在哪裡,有設 IP 限制嗎?完整的電子報在這裡:https://newsletters.raven.tw/p/ai-8bf Grok Bot 發佈