API 金鑰是一串你向某個網路服務申請來的長字串,用途是證明「我就是我」。當你的程式要去呼叫 OpenAI 寫一段文字、要去 Google Cloud 存一個檔案、要透過某家廠商寄一封信,服務商不會每次都問你帳號密碼,而是要你出示這串金鑰。你可以把它想成一把不會過期的門禁卡:拿到卡的人就進得去,門禁系統不會確認拿卡的是不是本人。

這個特性讓 API 金鑰成為攻擊者最想偷的東西之一。它比密碼更好用——不需要破解、不需要繞過雙重驗證,撿到就能直接刷。實務上最常見的災情是:金鑰被盜後遭大量呼叫付費的雲端服務,帳單在幾小時內累積到令人心痛的數字;或者被拿去透過你的名義寄送釣魚信、發送詐騙簡訊,於是收信的人看到的寄件者是你。金鑰通常被存放在專案裡一個叫 .env 的檔案,檔名開頭的點讓它在許多系統上預設隱藏——這正是很多人根本不知道自己電腦裡有這串鑰匙的原因。

保護 API 金鑰的原則其實只有三條:不要把含有金鑰的檔案上傳到公開的地方(GitHub 公開倉庫是最常見的失守點,網路上有自動化程式全天候在掃描新出現的金鑰);為每個服務設定用量上限與帳單警示,作為最後一道停損;一旦懷疑外洩,立刻去原服務商刪掉舊金鑰、產生新的。最後這件事叫做金鑰輪替,也是這三條裡最重要的一條——因為刪掉本機的檔案,並不會讓已經流出去的那把鑰匙失效。