API 金鑰管理:別讓金鑰進 git,也別只靠 .env
金鑰外洩的成本很高,而且多數是同一種犯錯方式造成的。
AI 服務的金鑰通常直接綁定計費,外洩後被盜用的損失是即時的。防護的重點不是複雜的工具,而是幾個固定習慣。
四個基本要求
- 金鑰永不進版控。
.env加進.gitignore,並提交.env.example當範本。 - 設定 pre-commit 掃描,在提交前就攔下疑似金鑰的字串。
- 分環境分金鑰:開發、測試、正式各自獨立,出事時只需輪替一組。
- 設定用量上限:多數服務可設每月上限,這是外洩時的止血閥。
# .gitignore
.env
.env.*
!.env.example
# .env.example(提交這份,不含真實值)
OPENAI_API_KEY=sk-your-key-here
MODEL_NAME=gpt-4.1-mini已經提交過怎麼辦
刪掉檔案再提交是沒有用的——歷史紀錄還在。正確順序是:先到服務商後台撤銷該金鑰、產生新的,之後才處理歷史。撤銷永遠是第一步。
前端絕對不能放金鑰
任何在瀏覽器或 App 裡的金鑰都等同公開。正確架構是前端呼叫你自己的後端,由後端持有金鑰並做身分驗證與用量限制。
截圖與教學影片是被忽略的外洩管道。錄製前把終端機的環境變數清空,或使用專用的示範金鑰。