一聽到「API 金鑰外洩」,很容易聯想到是被惡意人士偷走。實際上更常見的是:放置金鑰的位置,比想像中更容易被看見。
本文根據公開報告與案例,以及我們網站實際收到的存取紀錄,把 API 金鑰外洩的路徑分成 7 類,並回答各自應該先堵住什麼。開頭的圖把 7 條路徑按外洩位置列在左邊,右邊則列出各自應先做的事。引用的原文與細節數字,逐行整理在調查頁面 API 金鑰是從哪裡外洩的 — 7 條路徑。
按外洩位置來分,可分為伺服器與公開存放處 3 種、AI 3 種,以及使用者畫面(瀏覽器)1 種。這些情況本質上都一樣:放置金鑰的位置,比想像中更容易被看見。
📎 7 條路徑的出處見 API 金鑰是從哪裡外洩的 的「漏失的歧路有 7 種」。
數量最多的是,把金鑰寫在公開到 GitHub 等平台的程式碼裡,卻忘了移除的外洩方式。根據 GitGuardian 的年度報告,2025 年一年內新放到公開 GitHub 的金鑰有 2,865 萬件。
在日本的案例中,豐田汽車委託廠商公開的原始碼中含有資料伺服器的存取金鑰,導致約 5 年都處於第三者可檢視的狀態。這類事件通常是把設定檔直接公開、或在範例中誤把真實金鑰一併分享所致。
📎 原文見 API 金鑰是從哪裡外洩的 的「公開儲存庫」。漏出的金鑰由誰來攔截,整理在 什麼是密鑰掃描。
如果把寫有環境變數的 .env 放到網站的公開資料夾(任何人都能讀取的地方),只要名稱被猜到,內容就會被回傳。搜尋方會依序嘗試看起來可能存在的名稱與路徑。
實際上,在我們網站 22 天的紀錄中,收到的攻擊型請求有 8,219 件,其中尋找 .env 的請求至少有 1,566 件,尋找 .git 的請求至少有 108 件。我們的網站沒有放 .env,所以回傳內容的請求是 0 件。
📎 被搜尋的位置前 10 名與統計方式見 API 金鑰是從哪裡外洩的 的「調查細節」。.env 應該放在哪裡,可參考 .env 改個名字就安全嗎 — 合鍵的放置位置。
開始使用 AI 之後,金鑰的放置位置也變多了。從把 AI 工具連接到外部服務的 MCP 設定檔中,在公開 GitHub 找到了 2 萬 4,008 件金鑰,其中 2,117 件仍然可用。
也有研究指出,AI 代理元件的弱點中,有 73.5% 是因為為了驗證行為而產生的輸出流進了 AI 對話所造成的。對話紀錄會留在手邊。此外,從 AI 訓練所用的公開儲存庫中,也找到了 54 萬 3,699 件仍可用的金鑰。一旦資料被彙整,即使原始儲存庫刪除,金鑰也不會跟著消失。
📎 原文見 API 金鑰是從哪裡外洩的 的「AI 的設定與學習資料」。將金鑰交給 AI 代理時的注意事項,整理在 把金鑰交給 AI 代理可以嗎;在新增 MCP 伺服器前應確認的事項,整理在 新增 MCP 伺服器之前,該確認什麼。
在網頁上顯示 Google 地圖時,會把 Google 金鑰寫進頁面的 HTML 並公開。這把金鑰原本是預期會被看見的。然而,若同一專案中另一位負責人啟用生成式 AI 的 Gemini API,原本公開的同一把金鑰也會變得可用於 Gemini。金鑰字串不會改變,金鑰持有人也不會收到通知。
Truffle Security 找到了 2,863 件這樣的 Google 金鑰。從頁面上撿到金鑰的人,就能用那把金鑰查看上傳的檔案、或讓 AI 的費用算到持有人名下。
即使是可以公開的金鑰,如果沒有事先把可用的 API 與可用網站範圍縮小,也可能在之後變成不該外洩的金鑰。
路徑先做的事公開儲存庫撤銷外洩的金鑰,並使用推送保護與密鑰掃描(什麼是密鑰掃描)網站的公開資料夾不要把 .env 或 .git 放在公開資料夾套件與容器映像檔在分發前,連中間層也一起確認沒有金鑰日誌與 AI 對話不要讓金鑰輸出。不要讓 AI 顯示 .env 內容AI 的設定與 MCP不要公開設定檔。使用權限受限的金鑰訓練資料撤銷外洩的金鑰已公開的金鑰卻因權限變更而變成風險先把可用 API 與可用網站範圍縮小一旦確定金鑰外洩,不論是哪條路徑,第一步都是先撤銷外洩的金鑰。因為即使從程式碼或檔案中刪除,金鑰本身仍然可以使用。關於金鑰的期限與撤銷方式,整理在 API 權杖何時到期、如何撤銷。
出處內容GitGuardian: The State of Secrets Sprawl 2026公開 GitHub 的金鑰 2,865 萬件・MCP 設定檔豐田汽車:關於客戶電子郵件地址等可能外洩之致歉公開的原始碼中含有存取金鑰Codecov: April 2021 Post-Mortem從容器映像檔的中間層抽出金鑰Chen et al.(arXiv 2604.03070)AI 代理元件弱點的 73.5%Truffle Security: Why exposed credentials stay live for years訓練所用公開儲存庫中的金鑰Truffle Security: Google API keys and Gemini可用於 Gemini 的 Google 金鑰 2,863 件引用的原文與出處,全部都在調查頁面逐行公開。若想確認細節,請參閱 API 金鑰是從哪裡外洩的 — 7 條路徑。
讀者問卷進行中
如果你希望這個主題被更深入探討,請在文章按「讚」。我們會依照「讚」數高的主題順序持續追加調查,結果將在新文章中公告(追蹤後會收到通知)。
【可轉載】關於本文轉載
本文的文字與圖表皆可轉載。圖請不要加工直接使用。轉載時請註明出處,並連回本文完整版本 《API 金鑰是從哪裡外洩的》(renkeimap.jp)。不需要事前聯絡。
※ 作者曾任職於日立系 IT 廠商、照護軟體供應商、大學醫院 IT 部門,後來獨立;目前一邊支援中小企業的 IT/DX,一邊以第一手資料研究業務系統的「串接關係」。文中的「編輯部」是指作者所屬的 IT 連結地圖編輯部。若發現錯誤,請到 更正窗口(免費、無需帳號)提出。更正紀錄也會公開。