有時候會想把需要使用 API 金鑰的工作交給 Claude Code、Codex 這類 AI 代理人處理。這時候,使用者該怎麼把金鑰交出去呢?貼在對話內容、寫進 .env 讓它讀、放在 .zshrc 的環境變數……不同的傳遞方式,金鑰會遭遇的情況也不同。
如開頭圖所示,從使用者的操作來看,金鑰的傳遞方式可分成 6 種。金鑰字串越接近 AI 能看到的地方,外洩路徑就越多。最安全的是不要把金鑰字串本身交給 AI,而是使用 OAuth。
本文將從 Claude Code、Codex、Gemini CLI、GitHub Copilot、Cursor 這 5 種工具的官方文件出發,回答不同傳遞方式會發生什麼事,以及該如何設定才能保護金鑰。引用的原文則逐行收錄在調查頁面 把金鑰交給 AI 代理人沒問題嗎——6 種傳遞方式 中。
貼到對話內容中的金鑰,會被送到 AI 公司,並且也會留在你的對話紀錄中。Copilot CLI 在初始設定下,會把對話同步到 GitHub 帳號。Google 也在使用條款中明訂,免費版 Gemini API 不要傳送敏感資訊。使用者最好的做法,就是不要把金鑰貼進對話內容。
📎 各工具的原文可見 把金鑰交給 AI 代理人沒問題嗎 的「貼在對話內容中」。
如果 AI 讀取了 .env,.env 的內容就會進入對話,等同於把金鑰貼到對話內容中。Gemini CLI 會自動載入 .env。
不讓 AI 讀取的「排除設定」,只能對 AI 工具內建的「讀取檔案」功能生效。Claude Code 也會阻擋像 cat 這樣直接點名檔案的指令。另一方面,排除設定無法阻止不明講檔名的讀取指令,或是由腳本自行開啟檔案的情況。
📎 排除設定的寫法與無法發揮作用的地方,整理在 把金鑰交給 AI 代理人沒問題嗎 的「調查細節」 中,並依工具分別列出。
使用者若在 .zshrc 等處 export 金鑰,除非 AI 把它顯示出來,否則不會進入對話。不過,AI 執行的指令一開始就會繼承該環境變數。Codex 在初始設定下會把所有環境變數都傳給指令。也曾有實證顯示,AI 讀到的文字中若藏有指令,可能會把整個環境變數外送(Gemini CLI)。
縮限要傳給指令的變數之設定,Claude Code、Copilot CLI、Codex 都有提供。但無論哪一種工具,都必須由使用者自行啟用該設定。
📎 原文可見 把金鑰交給 AI 代理人沒問題嗎 的「設成環境變數」。
如果把金鑰直接寫進 MCP 設定檔,一旦設定檔外洩,金鑰也會一併外洩。各家都建議不要直接寫入金鑰,而是用環境變數參照。Astrix Security 的調查顯示,公開的 MCP 伺服器中有 53% 使用期限較長的固定金鑰,而使用 OAuth 的伺服器只有 8.5%。
在新增 MCP 伺服器之前,建議先確認的事項,已整理在 新增 MCP 伺服器前該確認什麼 中。
📎 原文可見 把金鑰交給 AI 代理人沒問題嗎 的「寫進 MCP 設定」。
透過 OAuth 授權時,使用者不會把金鑰字串交給 AI。使用者是設定期限與範圍來授權,因此即使授權外洩,造成的損害也會比較小。這 5 種工具都能透過 OAuth 連接外部 MCP 伺服器(GitHub Copilot 的雲端代理人尚未支援)。
對於在雲端運作的代理人,也有把金鑰註冊到雲端金鑰保管處的方式。在 Claude Code 與 Codex 的雲端中,AI 不會持有真正的金鑰。
📎 原文可見 把金鑰交給 AI 代理人沒問題嗎 的「透過 OAuth 授權」。
把「不讓它讀取的設定」「縮限環境變數的設定」「MCP 金鑰的寫法」「OAuth」四者並列來看,每種工具都會有「一開始什麼都沒做」的地方。即使只使用其中一種工具,也建議至少確認一次。各工具的訓練利用與費用等資訊,已整理在 Claude Code、Codex、GitHub Copilot、Cursor 的產品頁面中。
📎 各列的原文可見 把金鑰交給 AI 代理人沒問題嗎 的「調查細節」。
使用者第一件事,就是不要把金鑰貼進對話內容。接著,建立權限縮小過的金鑰。排除設定只是防護之一,不要只依賴排除設定。
金鑰放置位置的想法可參考 什麼是密鑰管理,金鑰的期限與撤銷方式可參考 API 權杖何時過期、如何撤銷。金鑰從哪裡外洩,可參考 API 金鑰會從哪裡外洩;外洩金鑰由誰來阻止,則可參考 什麼是密鑰掃描。
出處內容Claude Code Docs: Data usage對話會送到哪裡,以及本機記錄Claude Code Docs: Configure permissions拒絕讀取的規則,以及無效之處Claude Code Docs: Cloud environments雲端中 AI 不持有真正的金鑰OpenAI Codex Docs: Advanced configuration傳給指令的環境變數設定OpenAI Codex Docs: MCPMCP 金鑰與 OAuthGemini CLI Docs: Configuration自動載入 .envGemini CLI Docs: MCP servers不要直接寫金鑰・OAuthGemini API 追加利用條款免費版不要傳送敏感資訊GitHub Docs: Copilot 的 session data把對話同步到 GitHub 帳號GitHub Docs: Copilot CLI command reference隱藏環境變數・OAuthCursor Docs: Ignore file.cursorignore 與在終端機中無法阻擋的情況Cursor Docs: MCP金鑰以環境變數方式處理・OAuthAstrix Security: State of MCP Server Security 2025MCP 伺服器的金鑰取得方式Tracebit: Gemini CLI 的實證環境變數被送到外部引用的原文與出處,都已在調查頁面逐行公開。想確認的人請參閱 把金鑰交給 AI 代理人沒問題嗎——6 種傳遞方式。
讀者問卷進行中
如果你希望這個主題再深入一點,請幫本文按「讚」。我們會依照獲得「讚」最多的主題優先追加調查,結果會在新文章中通知你(追蹤後即可收到通知)。
【可轉載】本文轉載說明
本文的文字與圖表皆可自由轉載。圖片請勿修改直接使用。轉載時請在出處標註並連結到本文完整版 《把金鑰交給 AI 代理人沒問題嗎》(renkeimap.jp)。無需事前聯絡。
※ 作者曾任職於日立系 IT 廠商、照護軟體廠商、大學醫院 IT 部門,現已獨立,並在協助中小企業 IT/DX 導入的同時,根據一手資料調查業務系統之間的「連結」。文中的「編輯部」是指作者所屬的 IT 連結地圖編輯部。若發現錯誤,請至 更正窗口(免費、無須帳號)提出。更正紀錄也會公開。