AI 寫程式助手需要金鑰,
但模型不該看到它

速讀:5 分鐘掌握重點

為什麼現在很紅:金鑰貼進 AI 對話的那一刻,它就不只在你的終端機裡了:對話紀錄、工具上下文、分享連結,每一處都可能存著它。

一句話結論
讓 AI 編程助手跑指令最快的方法是把金鑰貼進對話,但金鑰也因此進了對話紀錄、工具上下文和分享連結。
他要的是什麼
他不用攻擊 AI 服務。只要等你把那段對話分享出去,或讓模型讀到一段帶指令的文字,那把全權限金鑰就自己出現在他眼前。
你今天做一件事
今天就回頭翻一遍最近的 AI 對話和分享連結,只要看過金鑰出現在裡面,那把就排進今天的輪換清單。 直接去做 →
哪些能信
2 可證明2 推論2 缺口 每個主張都標了等級,缺口是誠實寫出來的。
破口速查
受害端一律去識別化;寫「未公開」代表公開資料查不到。
伺服器服務商
不適用(示意情境;涉及的是 AI 編程助手服務與雲端帳號)
網路服務商
不適用(同上)
漏洞出現的地方
開發流程層:工程師把雲端金鑰直接貼進 AI 編程助手的對話,或寫在它讀得到的設定檔裡;金鑰因此進入對話紀錄、工具上下文與日誌,再隨分享連結外流;給 AI 工具的又常是工程師本人的全權限金鑰
馬上自我檢測
回頭翻最近的 AI 對話與分享連結,搜尋有沒有貼過金鑰(不用指令) gitleaks dir --redact . 打開 AI 工具的權限設定,看哪些指令不經確認就會執行 查你用的 AI 服務在你的方案下的資料保存與訓練政策
漏洞修補方式
金鑰一律不貼進對話,改用環境變數或設定檔引用,讓工具執行時讀取;給 AI 工具專用、只限開發環境、有到期日的低權限憑證;部署、刪除、對外連線保留人工確認;確認服務的資料政策;出現在對話裡的金鑰當作已外洩立即輪換;定期掃描專案目錄與工具設定檔
有 15 分鐘再看:其餘 2 點
  1. OWASP 指出系統提示裡的限制可能被提示注入繞過,並建議不要把憑證、連線字串放在系統提示裡;給 AI 的金鑰又常是工程師本人的全權限金鑰。
  2. 三條規則先做:金鑰不貼進對話、給 AI 工具專用的低權限有期限憑證、危險操作保留人工確認;已經貼過的,當作外洩立即輪換。

讓 AI 編程工具直接跑指令、部署、呼叫 API,最直接的方法就是把金鑰貼進對話。工作完成了,那把金鑰也進了對話紀錄、工具的上下文,甚至某個你沒看過的記錄檔。這篇講怎麼讓工具用得到金鑰,模型卻看不到。

作者分析:金鑰貼進 AI 編程助手對話後隨分享連結外流(示意情境,非真實事件)·示意情境:為了除錯部署腳本,把雲端金鑰貼進 AI 對話,幾週後對話被分享到外部社群·全文 7 分鐘
本篇目錄

一段被轉出去的除錯對話

假設有一家十二人的軟體工作室。工程師 O 請 AI 編程助手幫他除錯部署腳本,順手把雲端金鑰貼進對話。助手很快解決了問題。幾週後,O 把這段對話分享給同事參考,連結被轉到一個外部社群,裡面就包含那把金鑰。

先說清楚,這是示意情境,不是真實事件,工作室、人物與經過都是為了說明而設。但越來越多工程師讓 AI 編程工具直接幫忙跑指令、部署、呼叫 API;為了讓它能做事,最直接的方法就是把金鑰貼進對話,或寫在它讀得到的設定檔裡。工作是完成了,那把金鑰也進到了對話紀錄、工具的上下文,甚至某個你沒仔細看過的記錄檔裡。

這篇要講的只有一件事:AI 工具需要用到金鑰,但模型不需要看到金鑰的值。

金鑰進了上下文,風險在哪裡

第一層是上下文。貼進對話或被工具讀到的內容,可能被記錄、保存或分享;你以為只是一次除錯,它其實留下了好幾份副本。

第二層是提示注入。OWASP 的 LLM 應用風險清單指出,系統提示裡的限制可能被提示注入繞過;也明確建議不要把憑證、連線字串放在系統提示裡。模型看得到的東西,就有機會被誘導說出來。

第三層是權限。給 AI 工具的金鑰,往往就是工程師本人的全權限金鑰,它能做的事等於你能做的事。

最後是紀錄散落。對話紀錄、工具日誌、分享連結,每一處都可能存著金鑰,而且你不一定知道有幾處。

這篇示意情境裡,跟著對話出去的是什麼

這是示意情境,沒有實際外洩;下表列的是這類情境裡金鑰會留下的位置,讓你知道「貼一次」等於複製了幾份。

leaked credentials這次外洩了什麼:服務、用途、存在形式
服務憑證類型用途存在形式放在哪權限範圍狀態
雲端帳號(IAM)長期存取金鑰工程師本人操作雲端、執行部署腳本貼進 AI 對話的明文字串AI 編程助手的對話紀錄與分享連結;連結被轉到外部社群工程師本人的權限(示意情境中為全權限)示意情境;輪換前持續有效
同一把金鑰的其他副本長期存取金鑰同上明文工具日誌、工具讀過的設定檔、其他對話同上還出現在哪裡無法確認
憑證本身已遮蔽或失效;這裡只說明它是哪個服務、拿來做什麼、以什麼形式存放,讓你能對照自己的環境。

第一列看得到,第二列看不到;但輪換一次,兩列一起處理掉。

能證明的、只能推論的

這篇是觀點文,情境是示意的,所以能證明的只有官方文件與專案頁寫明的事;情境裡的經過只能算推論,不知道的就寫成缺口。

不花錢就能做的流程

到這裡,其實已經足夠理解問題在哪。如果你想直接動手,可以跳到「今天就可以來試試」;下面是完整的六步流程。

第一步,規則:金鑰不貼進對話。 需要時用環境變數或設定檔引用,讓工具執行指令時讀取,而不是讓模型看到值。

第二步,給 AI 工具專用的低權限憑證。 只限開發環境、只給需要的權限、設到期日。不要直接用自己的管理員金鑰。憑證名稱直接取成 ai-agent-dev-r2k 這類一眼能認的,稽核紀錄裡才分得出是人還是工具在動。

第三步,讀懂工具的權限設定。 多數 AI 編程工具可以設定哪些指令要先經過人確認。部署、刪除、對外連線這類動作,保留人工確認。

第四步,確認資料政策。 查清楚你用的 AI 服務在你的方案下,會不會保存對話、保存多久、會不會用於訓練。

第五步,外洩就輪換。 只要金鑰出現在對話裡,就當作已經外洩,立即輪換。

第六步,掃描日誌和設定。 用 Gitleaks、TruffleHog 等開源掃描器,掃描專案目錄和工具的設定檔。

什麼時候不需要買工具

個人或小團隊在開發環境使用 AI 助手的話,「不貼金鑰、專用低權限憑證、人工確認危險操作」三條規則就夠了。需要在多人、多工具之間集中控管和稽核時,才考慮專門的工具。

市面上大致分四類。AI 工具本身的權限設定:指令確認、允許清單、工作目錄限制等,功能依產品而定。雲端原生短期憑證:用 SSO 取得短期憑證,讓 AI 工具使用的金鑰自動過期。密鑰管理(開源與雲端):Infisical、OpenBao、AWS Secrets Manager、Google Cloud Secret Manager,讓程式在執行時讀取密鑰。商用:例如 1Password 在 2026/07/28 宣布推出 MCP Server,官網說可以把保管庫連到 AI 編程工具,在執行時注入憑證,憑證不進入模型的上下文。

限制也要一起看:就算模型看不到金鑰,AI 代理拿到憑證後能做什麼,還是取決於憑證本身的權限;隔離機制的安全性取決於實作,導入前要用自己的情境測試。選的時候問三件事:使用規模(個人用靠規則,團隊用需要集中管理)、AI 工具的種類(確認候選方案支援你們用的工具)、稽核需求(需要知道 AI 何時用了哪個憑證,就要有紀錄功能)。

這篇提到的項目要花多少錢

來源沒有列任何價格,表裡的金額大多是估算或未公開,照實標出來。

cost讓 AI 工具用得到、看不到金鑰的成本
項目用量單價期間US$NT$舉證
翻查最近的 AI 對話與分享連結
估
每位工程師估 15–30 分鐘一次性——本站估算
為 AI 工具建立專用低權限、有期限的憑證
估
每個工具/每人估 30–60 分鐘一次性,到期後更新——本站估算
Gitleaks/TruffleHog開源軟體免費—0.000各專案 GitHub 頁
商用 AI 憑證注入方案依人數本文來源未列價格———本文未取得價格
示意情境中金鑰外流後的損失未知未公開———示意情境;是否被濫用本身就是推論
合計(僅可證明列)0.000
匯率假設 1 USD ≈ NT$32。單價為公開牌價或帳單實付,來源:本站估算;各開源專案頁(2026-10-17 讀取)。「舉證」欄標明每筆損失的證據來源與等級( 可證明 推論 缺口)。

最便宜的一步,是在貼上之前停一秒。

你可以學到什麼

站在攻擊者那一側看,AI 對話是一個新的、還沒人巡邏的倉庫:工程師為了省事把最強的鑰匙放進去,倉庫又附帶一個可以轉給任何人的分享連結。他不用攻擊 AI 服務,只要等連結流出,或讓模型讀到一段誘導它說出來的文字。

lessons本案的 5 個教訓
  1. 01
    貼進 AI 對話或被工具讀到的金鑰,可能被記錄、保存或分享;只要出現在對話裡,就當作已經外洩,立即輪換。
  2. 02
    OWASP 指出系統提示裡的限制可能被提示注入繞過,並建議不要把憑證、連線字串放在系統提示裡。
  3. 03
    讓工具在執行時從環境變數或密鑰儲存讀取金鑰,模型就不必看到金鑰的值。
  4. 04
    給 AI 工具專用、只限開發環境、有到期日的低權限憑證,不要直接用自己的管理員金鑰。
  5. 05
    就算模型看不到金鑰,AI 代理能做什麼仍取決於憑證權限;部署、刪除、對外連線要保留人工確認。
keywords重點學習:最需要學習的 10 個關鍵字10 個
  1. 01
    上下文(Context)
    這篇的核心:模型看得到的一切,都可能被記錄、保存或說出來。
  2. 02
    提示注入(Prompt Injection)
    繞過系統提示限制的方法,說明為什麼憑證不能放在模型看得到的地方。
  3. 03
    LLM07:2025 系統提示洩漏
    OWASP 明確建議不要把憑證、連線字串放在系統提示裡的出處。
  4. 04
    LLM02:2025 敏感資訊揭露
    OWASP 把敏感資訊外流列為 LLM 應用的主要風險之一。
  5. 05
    執行時注入(Runtime Injection)
    讓工具用得到金鑰、模型卻看不到值的做法。
  6. 06
    專用低權限憑證
    給 AI 工具一把自己的鑰匙,只限開發環境、有到期日。
  7. 07
    人工確認(Human-in-the-loop)
    部署、刪除、對外連線這類動作,最後一道由人按下。
  8. 08
    分享連結
    示意情境裡金鑰外流的出口,分享前要先看內容。
  9. 09
    資料保存政策
    決定你的對話會不會被保存、保存多久、會不會用於訓練。
  10. 10
    短期憑證
    讓 AI 工具使用的金鑰自動過期,就算外流也很快失效。
try today今天就可以來試試約 15 分鐘

全部唯讀,不改任何設定;做完你會知道自己有沒有同樣的破口。

  1. 回頭翻最近一個月的 AI 編程助手對話,搜尋有沒有貼過金鑰、token 或連線字串(唯讀)
    看到什麼代表什麼:只要找到一次,那把金鑰就要排進今天的輪換清單。
  2. 列出你建立過的對話分享連結,確認每一個的內容(唯讀,不要刪除前先記下)
    看到什麼代表什麼:內容含有金鑰的分享連結,就是示意情境裡那個出口。
  3. 已安裝 Gitleaks 的話,掃一次專案目錄與 AI 工具會讀的設定檔,結果遮蔽顯示(唯讀)
    gitleaks dir --redact .
    看到什麼代表什麼:列出的每一筆都是 AI 工具讀得到的明文密鑰候選;掃描器會漏判,沒有發現也不代表沒有。
  4. 打開 AI 編程工具的權限設定,看哪些指令不經確認就會執行(唯讀,不要改)
    看到什麼代表什麼:部署、刪除、對外連線如果在自動執行清單裡,就是要先收回的那一項。
  5. 查你用的 AI 服務在你的方案下的資料保存與訓練政策(唯讀)
    看到什麼代表什麼:答得出保存多久、會不會用於訓練,才知道已經貼過的內容可能留在哪裡。

揭露:本文未受任何廠商贊助,提及的產品僅為舉例。

想看全部細節?

環境背景、時間線、攻擊鏈對照 ATT&CK、關鍵證據、根因、處置與檢討都在完整版,約 7 分鐘。

來源

本文為公開報導與官方公告的整理與拆解,非第一手鑑識;證據等級依來源可信度標註。

本文由 AI 團隊協助研究與撰寫,經隱私與事實檢查後發布;證據等級依來源可信度標註。

看完的心情
ai prompt把這篇的切入點帶回你的環境

複製下面這段,貼給你在用的 AI 工具(Claude Code、Cursor、Copilot、ChatGPT 都可以)。它會用本篇的破口位置、自我檢測與學習重點,對你的專案或環境做一次資安掃描,列出潛在問題與建議的調整或加強方式。

預設是唯讀:只發現問題、提出建議,不會改你任何檔案或設定。

§
對應課程模組

M2 身分與金鑰 · 想在自己的環境做一次同樣的盤點,從 自我盤點 開始。

newsletter
下一篇拆解直接寄到信箱

每篇新文章一封:三點摘要、關鍵字定義、今天能做的一件事。或先 加入會員 記錄你完成的任務。