WEDO 行銷日報
API 金鑰外洩:18萬帳單驚魂
開發者金鑰外洩實戰筆記:從錯誤中學習,強化架構安全。
災難初始:金鑰外洩
測試的致命疏忽
初學者常為求方便,將 API 金鑰等敏感資訊直接寫入前端程式碼,種下安全隱患。 本次事件中,開發者將 Google AI API 金鑰寫死在公開的 GitHub 儲存庫中,為後續的災難埋下伏筆。
流量異常飆升
金鑰外洩後,API 請求在短時間內異常飆升至 900 萬次,消耗了 4000 萬個 Token,突顯了金鑰外洩的嚴重性。 這不僅造成資源的浪費,更直接導致了高額的費用產生。
天價帳單的警告
短時間內的異常流量導致帳單金額高達 $6,100 美元(約 18 萬台幣),幸運的是,由於新用戶促銷額度抵銷,最終並未實際扣款。 這次事件是一次嚴厲的警告,促使開發者必須正視金鑰安全的重要性。
緊急應變與止損
在收到 Google Cloud 警告後,開發者立即採取行動,作廢並刪除了被盜用的金鑰,避免了損失進一步擴大。 及時的止損措施,降低了金鑰外洩造成的損害,但也突顯了事前防範的重要性。
架構重整:前後端分離
現代Web架構轉型
為了徹底解決金鑰安全問題,採取前後端分離的現代化 Web 架構,將前端視為「店面」,後端視為「廚房」。 這種架構能有效隔離敏感資訊,降低金鑰外洩的風險。
前端的安全角色
前端 (Cloudflare Pages) 負責顯示 UI 與接收使用者輸入,程式碼中完全不包含任何 API 金鑰,僅負責呼叫後端 `ai-worker`。 前端成為單純的展示層,大幅降低了金鑰暴露的可能性。
後端的安全重地
後端 (Cloudflare Worker) 負責邏輯處理,金鑰安全地儲存在 Cloudflare 的環境變數中,外界無法窺探。 後端成為處理敏感資訊的核心,負責代理前端請求並呼叫 Google AI API。
環境變數保護金鑰
金鑰儲存在 Cloudflare 的環境變數中,確保了金鑰的安全性,避免直接暴露在程式碼中。 這種做法符合業界最佳實踐,能有效防止金鑰外洩。
自動部署:CI/CD流程
自動化部署的必要
為避免手動上傳造成的人為失誤與金鑰管理困難,導入 GitHub Actions 進行自動化部署。 自動化部署能確保每次更新都經過嚴格的流程,降低出錯的可能性。
Secrets安全管理
在 GitHub 設定中儲存 `CF_ACCOUNT_ID`、`CF_API_TOKEN` 以及新的 `GOOGLE_API_KEY`,確保金鑰不落入程式碼庫。 利用 Secrets 管理敏感資訊,是保護金鑰的重要手段。
雙軌部署的策略
前端部署 (`deploy.yml`):當 `online/` 資料夾變動時,自動部署至 Cloudflare Pages。 後端部署 (`deploy-worker.yml`):當 `ai-worker/` 資料夾變動時,自動使用 `wrangler-action` 部署,並將 `GOOGLE_API_KEY` 安全注入到 Worker 環境中。
金鑰注入自動化
透過自動化部署流程,將金鑰安全注入到 Worker 環境中,避免手動操作可能造成的風險。 這種做法能確保每次部署都使用最新的金鑰,並降低金鑰外洩的風險。
除錯:12小時的鬼打牆
紅鯡魚的誤導
誤以為是 API 版本過舊 (`v1beta`) 或 Google 帳戶權限問題,導致花費大量時間嘗試設定 Vertex AI。 在除錯過程中,錯誤的線索往往會讓人迷失方向,浪費寶貴的時間。
權限不足的障礙
遭遇 `401 Authentication Error`,實際原因是 GitHub Secrets 中的 Cloudflare Token 權限不足或 ID 錯誤。 即使是微小的設定錯誤,也可能導致系統無法正常運行,需要仔細檢查。
API版本的選擇
必須使用 `Generative Language API` (`v1beta`),才能確保系統正常運行。 選擇正確的 API 版本是關鍵,錯誤的版本可能導致各種問題。
模型匹配的關鍵
`gemini-pro` 在該版本不可用,最終正確的模型設定為 `gemini-2.5-flash`。 模型的選擇必須與 API 版本相匹配,否則將導致系統無法正常工作。
相關 WEDO 實戰案例
想看這個主題如何落到實際專案,可以從這些 WEDO 案例了解產業情境、服務內容與執行方式。
-
2026 · 公關活動
2026 臺灣工藝季|啟動記者會與全島工藝議題溝通
以「Flow Taiwan - 漫幸福・活自在」為核心,把 65 處以上工藝據點、百大文化基地、工藝島啟藝儀式與數位集章機制,整理成媒體能快速理解並延伸報導的公共文化敘事。
服務:記者會、媒體公關、文化活動傳播
-
2026 · 公關活動
梧棲圳岸福德宮|形象視覺規劃
為台中梧棲圳岸福德宮整理形象視覺與對外溝通素材,讓在地信仰、歷史脈絡與年度活動能以一致視覺語言對外呈現。
服務:形象視覺規劃、品牌識別溝通、社群內容設計
-
2026 · 內容與媒體
《AI 時代的一人公司經營學》媒體與內容發酵
以 AI 創業、一人公司與工作流轉型為核心議題,串連書籍、媒體採訪、讀書心得與長內容再利用。
服務:內容策略、媒體議題、AI 應用內容
電話:+886-2-66237010
Email:[email protected]
地址:台北市松山區南京東路五段 154 號 7 樓之 1