AI 程式設計教程中文版
官方教程中文版團隊與企業

LLM 安全與控制

區分 Cursor 中可強制執行的安全控制和非確定性的 LLM steering,並給出企業級 Agent 防護方案。

LLM 安全不要只靠“提示詞寫好一點”。在 Cursor 裡,企業應該把硬控制、Hooks、審批、沙箱、檔案許可權和 Rules 組合起來,才能讓 Agent 在可接受的邊界內工作。

核驗日期:2026-05-09。Agent 安全、Hooks、瀏覽器控制、自動執行和團隊策略會隨 Cursor 版本變化;上線前按官方 LLM Safety and Controls 與 Agent Security 文件複核。

1. 一句話判斷

Cursor 官方把 AI 安全分成兩類:security controlsLLM steering

  • Security controls 是確定性邊界,用來阻斷危險操作。
  • LLM steering 是提示和上下文引導,用來提高輸出質量。

這兩類都要用,但不能混淆。Rules、Commands、MCP 可以讓 Agent 更懂專案;真正防誤刪、防洩密、防越權,要靠審批、hooks、許可權、沙箱和組織策略。

2. 硬控制:把危險動作擋在執行前

終端命令審批

預設情況下,Cursor 在執行終端命令前需要使用者批准。這個預設值應該保留,尤其是生產儲存庫、資料庫、部署、金鑰和檔案刪除場景。

Auto-approval 只能給低風險命令,例如安裝依賴、執行測試、構建、格式化。它不是安全邊界,官方也強調 allowlist 是 best-effort,不能抵禦繞過或 prompt injection。

Enforcement hooks

Hooks 是 Cursor 企業安全裡最實用的強制層。它可以在關鍵節點執行自定義邏輯:

  • prompt 提交前:掃描 API key、PII(Personally Identifiable Information,個人可識別資訊)、客戶資料、敏感業務資訊。
  • 檔案讀取前:阻斷 .env、日誌、資料庫 dump、金鑰配置。
  • 程式碼生成後:掃描漏洞、許可證風險、硬編碼憑據。
  • 終端執行前:阻斷 rm -rfsudogit push、資料庫 DROP、生產部署。

把 hooks 接到現有 DLP(Data Loss Prevention,資料防洩漏)、SAST(Static Application Security Testing,靜態應用安全測試)、secret scanner(金鑰掃描器)、ticket 審批或 SIEM(Security Information and Event Management,安全資訊和事件管理平臺),才能從”個人確認”升級到”組織策略”。

敏感檔案保護

.cursorignore 可以把檔案排除出語義搜尋、Agent file reading 和 context selection。它適合降低誤用機率,但官方明確說它不是安全邊界。

真實安全邊界來自:

  • 檔案系統許可權。
  • 加密檔案系統。
  • 單獨隔離敏感儲存庫。
  • 不把生產金鑰 clone 到 Cursor 可訪問路徑。
  • hooks 阻斷檔案讀取和寫入。

.cursor 目錄保護

Enterprise 團隊可以防止 Agent 修改 .cursor/ 目錄。開啟後,Agent 不能修改規則、settings 或刪除 .cursor/,但使用者仍可手動編輯,Agent 修改需要審批。

這適合保護團隊規則不被 Agent 自己改掉,尤其是安全規則、專案約束和命令策略。

Browser origin controls

Enterprise 可限制 Agent 瀏覽器工具能訪問的網站 origin。只放行內部文件、測試站、設計系統、API 文件等必要域名,阻止 Agent 被外部網頁 prompt injection 帶偏。

3. DLP 整合方式

企業 DLP 可以三層接入:

  • Endpoint DLP agents:監控到 *.cursor.sh 的流量,但可能影響效能。
  • Hooks-based DLP:在 prompt、檔案讀取、生成程式碼、命令執行前後掃描。
  • Third-party DLP API:hook 呼叫公司已有 DLP 服務,再根據返回結果 allow 或 deny。

建議優先把最明確的規則做成 hooks,例如:

  • 阻斷 API key、token、私鑰、資料庫連線串。
  • 阻斷從生產日誌或客戶資料檔案取上下文。
  • 阻斷未經審批的 deploy、push、migration、DROP、delete。
  • 生成程式碼後跑 secret scan 和 license scan。

4. Sandboxing 的真實邊界

Cursor Agent 預設執行在本地使用者賬號下。它能讀使用者能讀的檔案、寫使用者能寫的檔案、執行使用者能執行的命令、訪問使用者能訪問的網路。

官方文件說得很直接:Agent 和本地使用者賬號之間沒有額外安全邊界。

需要更強隔離時,考慮:

  • 用 Cloud Agents 或獨立 VM 承載任務。
  • 用檔案系統許可權限制 Cursor 程序能讀寫的路徑。
  • 用專用開發機,不讓它接觸生產系統。
  • 把敏感儲存庫、金鑰、客戶資料放到隔離環境。

5. LLM steering:讓模型更少犯錯,但不負責兜底

Rules

Rules 會進入 LLM 上下文,幫助模型按團隊標準工作。可分為:

  • User rules:個人習慣。
  • Project rules:專案級工程約束。
  • Team rules:組織級安全、合規和風格要求。

Rules 適合寫“應該怎麼做”,不適合寫“絕對不能發生”。後者要交給 hooks 和許可權。

Commands

Commands 把複用工作流打包成 slash command,例如 /security-review/test/release-check。它能減少口頭任務的變體,讓 Agent 按固定步驟執行。

MCP

MCP 給 Agent 接外部知識和工具,例如內部文件、API、資料庫、知識庫。它提升上下文質量,但 MCP 本身也有許可權風險,應和 88 頁的 MCP allowlist 一起治理。

6. 商業級驗收

  • 終端命令預設需要審批,auto-run 只開放低風險命令。
  • 高風險命令由 hooks 阻斷或升級審批。
  • .cursorignore、檔案系統許可權和 hooks 分工清楚。
  • .cursor/ 目錄保護已啟用或有明確豁免理由。
  • Browser origin allowlist 覆蓋必要域名,外部未知站點預設禁止。
  • DLP、secret scan、SAST、license scan 至少接入一個執行點。
  • Team rules 寫清楚組織要求,但不把它當安全邊界。
  • MCP server 許可權和模型許可權已在 88 頁同步治理。

7. 常見失敗點

  • 把 prompt 寫得很嚴,卻沒有 hooks 和許可權限制。
  • 開了 auto-run 後允許 git push、deploy、migration、delete。
  • 以為 .cursorignore 能阻止使用者或 Agent 訪問敏感檔案。
  • 允許 Agent 訪問任意瀏覽器 origin,暴露給網頁 prompt injection。
  • 在本地使用者賬號下跑 Agent,卻按沙箱隔離來評估風險。
  • MCP 接入內部系統後,沒有同步收緊 allowlist 和審計。

官方來源

接下來去哪

本頁目錄