AI 編程安全注意事項:密鑰保護、權限模式怎麼選、提示注入防範清單

用 Cursor、Claude Code、Codex、Copilot 寫代碼有哪些安全風險?按各家官方安全文檔整理:密鑰別進上下文和倉庫、各工具權限模式對照與推薦檔位、提示注入是什麼與五條防範、不可信倉庫怎麼開、MCP 與規則文件的風險,附一頁自查清單。

NNathaniel bigo··原創首發·AI 輔助撰寫
13 分鐘讀完
資料核對於 2026-10-11 · 依據官方文檔與公開資料整理 免費帳號 帳號
本文根據 Claude Code、Cursor、GitHub Copilot CLI、Cline、Kiro 的官方安全文檔和 MCP 官方《Local Server Security》整理,資料核對於 2026-10-11。本文講的是保護你自己的代碼、密鑰和電腦的做法。

適用於誰

  • 開始讓 AI 智能體直接改文件、跑命令,心裏沒底的人;
  • 搜「ai 編程 安全」「提示注入」「mcp 安全風險」的人;
  • 團隊裏要給 AI 編程工具定使用規範的人。

結論先說

  1. 智能體有手有腳:能讀文件、改文件、跑命令、聯網。幾家官方都承認 AI 會因為提示注入、幻覺等原因做出意外行為,所以才有權限和沙箱這些護欄——Cursor 明確說它們是「盡力而為的護欄,不是硬性安全邊界」。
  2. 密鑰三不:不寫進代碼、不貼進對話、不放進會被提交或被智能體讀到的文件。
  3. 權限選中間檔:既不要每一步都手動點(會點麻木),也不要全部放開。各工具都有「自動審查 + 沙箱」這類中間模式。
  4. 凡是智能體讀到的東西都可能帶指令:網頁、issue、PR 評論、依賴包的 README、MCP 工具描述、別人倉庫裏的規則文件。這就是提示注入。
  5. 最後一道防線是你:Claude Code 官方的原話是,用戶有責任在批准前審查代碼和命令的安全性。
  6. 一切操作都在 Git 管理下進行,隨時能回退。

一、密鑰

常見的泄露路徑

路徑怎麼發生怎麼防
寫死在代碼裏讓 AI「幫我接一下某某 API」,它把 Key 直接寫進源碼指令裏寫明「密鑰從環境變量讀取」;提交前搜一遍
貼進對話調試時把帶 Key 的配置、報錯、curl 命令整段粘貼粘貼前把 Key 換成佔位符
被智能體讀到它為了排查問題讀了 .env 或配置文件忽略文件 + 權限規則(見下)
寫進 MCP 配置並提交mcp.json 裏直接填了 token用變量引用環境變量;帶密鑰的配置不進倉庫
前端代碼vibe coding 生成的應用把 Key 放在瀏覽器可見的代碼裏密鑰只在伺服器端讀取
截圖和錄屏發帖求助時截到了 Key發之前打碼

忽略文件能擋多少

  • Cursor 預設忽略 .env、.git/ 和鎖文件,可用 .cursorignore 追加。但官方說明:終端命令和 MCP 工具運行在這套文件訪問控制之外,仍可能讀到被忽略的文件。
  • Cline 的 .clineignore 官方已標註即將棄用,並明說它不是安全或訪問控制邊界,推薦改用 PreToolUse hook 做真正的攔截。
  • 結論:忽略文件只能減少「不小心讀到」,要真正攔住,得靠權限規則裏的 deny 和沙箱。例如 Devin Desktop 可以寫 Read(**/*.pem) 的拒絕規則;Claude Code 可以在 permissions.deny 裏禁止讀取某些路徑。

萬一泄露了:立刻到發放方作廢並重新生成這把 Key。從對話或提交歷史裏刪掉並不夠——它可能已經進入日誌或被推送。

給 Key 最小權限。Kiro 官方舉的例子:GitHub 用細粒度個人訪問令牌而不是經典令牌,只授權需要的倉庫,並定期輪換。

二、權限模式怎麼選

工具最嚴格推薦的中間檔全部放開(慎用)
Claude CodeManual:先只讀,改文件和跑命令都問你Auto:由單獨的分類器模型代你審查並攔截它判斷為不安全的操作;或開啟沙箱bypass 權限
CursorAllowlist:只有白名單裏的動作自動運行Auto-review:白名單直接跑,其餘 shell 命令盡量進沙箱,進不了的交給分類器Run Everything
GitHub Copilot CLI預設:只讀操作自動放行,會改東西的逐次詢問用 --allow-tool 精確放行、--deny-tool 精確禁止--allow-all
Cline關閉全部 Auto Approve只開「讀項目文件、編輯項目文件、執行安全命令」Execute all commands / YOLO 模式
Codex見單篇教學見單篇教學見單篇教學

對應教學:《Claude Code 權限模式詳解》、《Cursor 私隱模式與 Agent 權限》、《Codex 權限與沙箱設定》、《GitHub Copilot CLI 安裝與使用》。

選檔位的三條原則

  1. 日常用中間檔。純手動模式下每一步都彈窗,人很快就會不看內容直接點同意,反而不安全。Claude Code 官方把允許常用安全命令加白名單稱為緩解「提示疲勞」。
  2. deny 規則寫死紅線。不管哪個檔位,都把絕不允許的操作寫成拒絕規則:git push、刪除類命令、讀密鑰目錄、訪問生產環境的命令。Copilot CLI 官方明確 deny 永遠優先於 allow。
  3. 全部放開只用在可丟棄的環境:容器、虛擬機、沒有任何憑據的雲端沙箱。在裝着 SSH 密鑰和雲憑據的工作電腦上不要開。

分類器不是保險。Cursor 官方直說 Auto-review 的分類器會出錯——可能放行你本想攔的,也可能攔下你本想放的。Cline 的「安全命令」是模型自己根據命令內容標記的,沒有固定白名單,官方說給出的例子不是保證。

三、提示注入

是什麼。Claude Code 官方的定義:攻擊者通過插入惡意文本,試圖覆蓋或操縱 AI 助手的指令。對編程智能體來說,危險在於它分不清「數據」和「命令」:它讀到的任何文字都可能被當成要執行的指示。

可能藏在哪

  • 讓它「讀一下這個網頁 / 這篇文檔」——頁面裏藏着給 AI 的指令;
  • issue、PR 評論、提交資訊——尤其是開源倉庫裏陌生人寫的;
  • 依賴包的 README、代碼註釋;
  • MCP 伺服器的工具名稱和描述(MCP 官方稱為「被投毒的工具目錄」);
  • 別人倉庫裏的 AGENTS.md、規則文件、.mcp.json、hooks 配置。Kiro 文檔提醒:只選你信任的倉庫,因為智能體會遵循倉庫代碼裏的指示。

它想讓智能體做什麼:讀取密鑰並通過網絡請求發出去;執行下載並運行腳本的命令;偷偷修改 CI 配置或依賴。

五條防範(前四條來自 Claude Code 官方的「處理不可信內容的最佳實踐」)

  1. 批准前看清建議的命令,尤其是帶 curl、wget、管道到 shell、base64 的;
  2. 不要把不可信的內容直接管道餵給智能體;
  3. 核對對關鍵文件的改動:CI 配置、依賴清單、部署腳本、權限配置;
  4. 在虛擬機裏跑腳本和工具調用,特別是要和外部網絡服務交互時;
  5. 限制出網。智能體拿到了數據也發不出去,注入就成功不了一半。Cursor 預設設定下智能體不能發起任意網絡請求;Claude Code 預設不自動批准 curl、wget 這類聯網命令;沙箱模式都可以配置域名白名單。

官方也都承認:這些保護能顯著降低風險,但沒有任何系統對所有攻擊免疫。

四、打開不認識的倉庫

別人的倉庫不只是代碼,還可能帶着會自動生效的配置。

  • 用工作區信任機制。Claude Code 在你沒信任過的文件夾裏啟動時會彈信任確認;項目 .mcp.json 裏的伺服器另有單獨的批准提示。Devin Desktop 的 Restricted Mode 會禁用所有智能體和 hooks。Cursor 支持 workspace trust 但預設關閉,可在 settings.json 裏設 "security.workspace.trust.enabled": true;Cursor 官方甚至建議:不可信的倉庫乾脆用普通文本編輯器看。
  • 先看這些文件:AGENTS.md、CLAUDE.md、.cursor/、.claude/、.kiro/、.trae/、.mcp.json、任何 hooks 配置。
  • Trae 的項目級 MCP、Kiro 的多倉庫任務,官方都附了「確保來源可信」的警告。
  • 非交互模式要格外小心。Claude Code 官方註明 -p 會話不顯示信任確認。

五、MCP、插件與規則文件

  • 本地 MCP 伺服器是以你的身份運行的普通進程,能讀環境變量和文件、能聯網。裝之前按《MCP 伺服器怎麼選》裏的七步檢查過一遍。
  • 少裝、用完就關、版本鎖定。
  • 新裝的伺服器先別開自動批准,每次調用看一眼參數。
  • 從網上抄來的規則、skills、hooks 先讀內容再用——它們本質上是直接寫給智能體的指令。本站 Skill 庫 裏的條目都標了來源倉庫,使用前同樣建議自己讀一遍。

六、代碼與數據去哪了

  • 用 AI 功能時,提示詞和相關代碼會發給模型提供方做推理,這是所有云端工具的共同點。差別在是否用於訓練、保留多久。
  • 各家都有開關:Cursor 的 Privacy Mode;Claude 消費者帳號可在私隱設定裏更改訓練偏好;ChatGPT 有數據控制設定。見《Cursor 私隱模式與 Agent 權限》、《Claude 私隱設定》、《ChatGPT 私隱設定》。
  • 自帶 API Key、使用第三方模型時,數據政策跟着模型提供方走。
  • 公司代碼先看公司規定;客戶數據、個人資料不要進對話。

一頁自查清單

每個項目做一次

  • [ ] 密鑰全部走環境變量,.env*、證書目錄在 .gitignore 和工具的忽略文件裏
  • [ ] 權限規則裏有 deny:推送、刪除、讀密鑰路徑、生產環境命令
  • [ ] 權限模式是中間檔,沒有開「全部放開」
  • [ ] 讀取範圍限制在工作區內
  • [ ] MCP 配置裏沒有寫死的密鑰,每個伺服器都知道來源
  • [ ] 倉庫裏有 CI 的測試、類型檢查、lint,AI 的改動要過這些檢查

每次任務

  • [ ] 開工前 Git 工作區是乾淨的
  • [ ] 批准命令前讀過命令內容
  • [ ] 合併前看過完整 diff,重點看 CI、依賴、部署、權限相關文件
  • [ ] 讓它讀外部內容(網頁、issue)之後,留意它有沒有提出不相干的操作

出事之後

  • [ ] 泄露的 Key 立刻作廢重發
  • [ ] 回退到已知良好的提交
  • [ ] 查一遍 MCP 配置和 hooks 有沒有被改
  • [ ] 可疑行為向工具官方反饋(Claude Code 用 /feedback,Cursor 有安全報告電郵)

參考資料

  • Security(Claude Code 官方):https://code.claude.com/docs/en/security
  • Agent Security(Cursor 官方):https://cursor.com/docs/agent/security
  • Run Modes(Cursor 官方):https://cursor.com/docs/agent/security/run-modes
  • Allowing and denying tool use(GitHub Copilot CLI 官方):https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/allowing-tools
  • Auto Approve & YOLO Mode(Cline 官方):https://docs.cline.bot/features/auto-approve
  • Local Server Security(MCP 官方):https://modelcontextprotocol.io/docs/2026-07-28/tutorials/security/local-server-security
  • MCP Best practices(Kiro 官方):https://kiro.dev/docs/mcp/security
需要開通或續費?Claude Pro 充值 →

Nathaniel 的更多內容

  1. 01

    AI 學習路線:零基礎從哪開始,6 個階段、每階段該讀哪幾篇教學(2026)

    AI 學習路線怎麼走?給零基礎的人一條循序漸進的路徑:先選一個助手用順,再學提問,再用進日常工作,按需學做圖做影片,守住私隱與版權,最後進階自動化和編程。每個階段都配了本站對應的教學。

    其他 AI 工具0
  2. 02

    AI 瀏覽器有哪些:Perplexity Comet、Opera Neon、Dia、Brave Leo 與 Edge Copilot 的官方說法對照

    AI 瀏覽器有哪些?按官方頁面整理 Perplexity Comet、Opera Neon、Dia、Brave Leo 和 Edge 裏的 Copilot:官方自述的定位、支持的平台、免費還是訂閱,以及 Gemini、Claude 的 Chrome 方案和已停用的 ChatGPT Atlas。

    其他 AI 工具0
  3. 03

    即夢國際版 Dreamina 是什麼:官方站入口、能生成什麼、免費積分和模型(2026)

    即夢國際版 Dreamina 是什麼?官方站是 dreamina.capcut.com,是一個圖片、影片和數字人一體的 AI 創作平台。按官方首頁和 FAQ 講:能生成什麼、免費用戶每天 120 積分、列出的 Seedance 與 Seedream 模型,以及和國內即夢怎麼區分。

    其他 AI 工具0
  4. 04

    Kimi K3 Coding Plan 是什麼、怎麼用:Kimi Code 會員、模型 ID、套餐價格和額度規則

    Kimi K3 Coding Plan 是什麼?按 Kimi 官方文檔核對:官方現在叫 Kimi Code,是 Kimi 會員權益裏的編程服務,Plus 及以上才有;講 K3 等模型 ID、國內新套餐價格、三種客戶端、第三方工具接入和額度規則。

    Kimi0
  5. 05

    DeepSeek V4 Pro 和 Flash 的區別與 API 價格:官方價格頁逐項對照(高峰與空閒時段)

    DeepSeek V4 Pro 和 Flash 有什麼區別、API 怎麼收費?按 DeepSeek 官方價格頁(2026-10-19 查詢)列出兩個模型的版本、上下文、圖像理解、並發和每百萬 token 價格,說明高峰與空閒時段的計費差別和舊模型名怎麼處理。

    其他 AI 工具0
  6. 06

    GPT-6 Pro(Astra)怎麼用、哪些套餐有:怎麼選到 Pro 檔、用量限制和 Pro 三檔價格

    GPT-6 Pro(Astra)怎麼用、哪些套餐有?按 OpenAI 幫助中心核對:聊天裏 Pro 檔給 Pro 100、Pro 200、Business 和 Enterprise;Plus 在 Work 和 Codex 裏含 Astra。講怎麼選到、用量上限和官方 Pro 價格。

    ChatGPT0

同產品的其他教學

  1. 01

    Claude Pro 和 Max 的區別:用量、價格、Fable 模型和每月 API 額度怎麼選

    Claude Pro 和 Max 有什麼區別?按官方定價頁和幫助中心核對:Max 有 5x、20x 兩檔用量,Pro 與 Max 在價格、Fable 模型、每月 API 額度和計費週期上的差別,以及什麼情況下 Pro 夠用、什麼情況下該升 Max。

    Claude0
  2. 02

    Claude 登入不了、用不了、打不開怎麼辦:按官方幫助中心逐條排查

    Claude 無法登入、無法使用、無法打開怎麼辦?按官方幫助中心的順序排查:收不到登入電郵、登入報錯、Google 登入出問題、系統繁忙、額度用完、官方故障,以及所在地區是否在官方支持名單裏。

    Claude0
  3. 03

    Claude 怎麼註冊:官方註冊流程、手機驗證要求,以及提示無法註冊時官方怎麼說

    Claude 怎麼註冊?打開 claude.ai,用 Google 或電郵登入連結創建帳號,再用支持地區的手機號收短訊驗證碼。講清官方的註冊條件、手機驗證的限制,以及收不到驗證碼、號碼被用過多次時官方的處理辦法。

    Claude0
  4. 04

    Claude 怎麼用:新手入門,從打開聊天到寫出第一個好問題

    Claude 怎麼用?按官方幫助中心整理的新手路徑:在網頁、桌面版或手機 App 打開聊天,像對同事一樣寫需求,用輸入框的「+」和「/」找功能,點模型名換模型,免費版有每 5 小時重置的上限。

    Claude0
  5. 05

    Claude 怎麼設定成中文:介面語言、回答語言和語音語言分別怎麼設

    Claude 怎麼設定中文?官方幫助中心列出的 11 種介面語言裏目前沒有中文,但 Claude 會用你提問的語言回答,直接用中文問即可;想固定用中文,可在設定的 Instructions for Claude 裏寫一句。語音模式的語言要單獨選。

    Claude0
  6. 06

    AI圖片放大與高清修復:Midjourney、ChatGPT、Gemini 怎麼出高解像度圖

    AI 生成的圖不夠清晰,想打印或做大圖怎麼辦?本文按官方文檔講清 Midjourney 的 Subtle / Creative 放大和 HD 直出、Gemini 與 ChatGPT 的解像度選項、Flow 的影片放大,以及「AI 放大會編造細節」的注意事項。

    Gemini其他 AI 工具0

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~