WEDO 行銷日報

API 金鑰外洩:18萬帳單驚魂

開發者金鑰外洩實戰筆記:從錯誤中學習,強化架構安全。

  • API 金鑰
  • 金鑰外洩
  • Google AI API
  • Cloudflare
  • GitHub Actions
  • 資安
  • Web 架構
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 實戰案例

想看這個主題如何落到實際專案,可以從這些 WEDO 案例了解產業情境、服務內容與執行方式。

  • 2026 · 公關活動

    2026 臺灣工藝季|啟動記者會與全島工藝議題溝通

    以「Flow Taiwan - 漫幸福・活自在」為核心,把 65 處以上工藝據點、百大文化基地、工藝島啟藝儀式與數位集章機制,整理成媒體能快速理解並延伸報導的公共文化敘事。

    服務:記者會、媒體公關、文化活動傳播

  • 2026 · 公關活動

    梧棲圳岸福德宮|形象視覺規劃

    為台中梧棲圳岸福德宮整理形象視覺與對外溝通素材,讓在地信仰、歷史脈絡與年度活動能以一致視覺語言對外呈現。

    服務:形象視覺規劃、品牌識別溝通、社群內容設計