---
title: "LLM 安全与控制"
description: "区分 Cursor 中可强制执行的安全控制和非确定性的 LLM steering，并给出企业级 Agent 防护方案。"
verifiedAt: "2026-05-09"
---
LLM 安全不要只靠“提示词写好一点”。在 Cursor 里，企业应该把硬控制、Hooks、审批、沙箱、文件权限和 Rules 组合起来，才能让 Agent 在可接受的边界内工作。

> [!NOTE]
> **核验日期**：2026-05-09。Agent 安全、Hooks、浏览器控制、自动运行和团队策略会随 Cursor 版本变化；上线前按官方 LLM Safety and Controls 与 Agent Security 文档复核。

## 1. 一句话判断

Cursor 官方把 AI 安全分成两类：**security controls** 和 **LLM 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 -rf`、`sudo`、`git 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 和审计。

## 官方来源

- [https://cursor.com/docs/enterprise/llm-safety-and-controls.md](https://cursor.com/docs/enterprise/llm-safety-and-controls.md)
- [https://cursor.com/docs/agent/security.md](https://cursor.com/docs/agent/security.md)
- [https://cursor.com/docs/hooks.md](https://cursor.com/docs/hooks.md)
- [https://cursor.com/docs/reference/ignore-file.md](https://cursor.com/docs/reference/ignore-file.md)
- [https://cursor.com/docs/rules.md](https://cursor.com/docs/rules.md)
- [https://cursor.com/docs/mcp.md](https://cursor.com/docs/mcp.md)

## 接下来去哪

<Cards>
  <Card title="继续下一页" description="88-model-integration-management" href="/docs/cursor/official/06-teams-enterprise/88-model-integration-management" />
  <Card title="Agent Security" description="回到 Agent 执行边界" href="/docs/cursor/official/01-agent-workflow/21-agent-security" />
  <Card title="Hooks 自动化" description="把策略落到执行点" href="/docs/cursor/official/02-context-customization/24-hooks" />
</Cards>
