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 和审计。

官方来源

接下来去哪

本页目录