跳到正文
FunCoding

搜索

搜索文档、智能体、博客、Skill 和 MCP

安全与运行模式

Agent 的安全默认值:哪些操作需要审批、MCP 与网络请求限制、工作区信任;Run Modes(Auto-review、Allowlist、Run Everything)与沙箱配置。

AI 可能因提示词注入、幻觉等问题而行为异常。Cursor 用护栏限制智能体能做的事,默认情况下敏感操作需要你手动批准。官方建议保持这些默认控制开启。

默认安全行为

  • 第一方工具调用:Cursor 带有帮助智能体写代码的工具(读文件、编辑文件、运行终端命令、搜索网络等)。读文件和搜索代码不需要批准,用 .cursorignore 阻止智能体访问特定文件;可能暴露敏感数据的操作需要你的显式批准。智能体可以不经批准修改工作区文件(配置文件除外),改动立即保存到磁盘,所以务必使用版本控制以便回退;像工作区设置这样的配置文件需要先经你批准。如果你启用了自动重载,智能体的改动可能在你评审之前就执行了。默认终端命令需要你批准;要让受信任的调用无需提示就运行,配置 Run Modes,范围从简单的允许列表到 Auto-review 分类器,它们是尽力而为的护栏而不是硬安全边界
  • 第三方工具调用:可以用 MCP 连接外部工具。所有 MCP 连接都需要你的批准;批准 MCP 连接后,每次工具调用运行前仍需单独批准,你可以用 MCP 允许列表预批准特定工具
  • 网络请求:攻击者可能利用网络请求窃取数据。Cursor 的工具只向 GitHub、直接链接获取和网络搜索提供商发起网络请求;默认设置下智能体无法发起任意网络请求
  • 工作区信任:Cursor 支持工作区信任,但默认关闭。启用后,它会在新工作区提示你选择普通模式或受限模式(受限模式下 AI 功能不可用,对不受信任的仓库,改用基础文本编辑器)。启用方法:在用户 settings.json 里添加 "security.workspace.trust.enabled": true;组织可以通过 MDM 强制该设置
  • 漏洞披露:发现漏洞请把详情和复现步骤发送到 security-reports@cursor.com,Cursor 在 5 个工作日内确认收到报告

Run Modes

Run Modes 控制 Cursor 智能体如何运行工具调用,以及何时打断你请求批准,用它们决定智能体在 shell 命令、MCP 工具和 Fetch 调用上有多少自主权。对多数人最安全且有用的设置是 Auto-review。在桌面应用里进入 Settings > Agents > Approvals & Execution 设置:

模式无需询问就运行什么沙箱分类器
Auto-review允许列表里的调用立即运行;其他 shell 命令在可能时在沙箱里运行;不使用沙箱的调用交给 Auto-review 分类器是(shell 命令)是
Allowlist允许列表里的动作无需批准就运行;启用沙箱时,受支持的 shell 命令可以在沙箱里运行可选(shell 命令)否
Run Everything每个工具调用都自动运行否否

Auto-review 如何工作

Auto-review 适用于 shell、MCP 和 Fetch 工具调用,Cursor 按顺序检查每个调用:允许列表里的立即运行;其他 shell 命令在可能时在沙箱里运行;任何其他的交给分类器,它可以允许调用、让智能体换一种方法、或让 Cursor 向你显示批准提示。shell 命令「能在沙箱里运行」指它能在沙箱的文件和网络限制下工作;需要完整系统访问的命令(如写工作区之外或特权操作)无法沙箱化,所以交给分类器。Auto-review 不是安全边界:分类器会出错,可能允许一个你本来会阻止的调用,或阻止一个你本来会允许的调用。分类器运行在 Cursor 管理的小模型上(官方说明目前使用 Gemini 3.5 Flash Lite,备选 Claude 4.5 Haiku);企业模型访问控制对两者都适用,所以团队要保持允许 Claude 4.5 Haiku;Auto-review 变灰时在团队设置的 Models 里启用 Claude 4.5 Haiku,完全退出并重启 Cursor。

配置 Auto-review:Auto-review 不需要配置就能工作良好;如果有你总想手动评审的特定动作,用白话描述即可,最简单的办法是让 Cursor 智能体替你做(比如说「I want every AWS CLI command to go through approval first」,它会编辑你的 permissions.json)。Auto-review 从两个位置读取 permissions.json:~/.cursor/permissions.json(适用于你机器上的所有项目目录)和 <项目目录>/.cursor/permissions.json(只适用于一个项目目录,项目应共享同样的指引时提交它)。两个文件都存在时 Cursor 合并它们;团队在控制台定义了全局 Auto-review 配置时,它优先,Cursor 忽略用户级和项目级文件。每条指令是一句白话:

{
  "autoRun": {
    "allow_instructions": [],
    "block_instructions": [
      "Every AWS CLI command should go through approval first.",
      "Every command that modifies Kubernetes resources should go through approval first."
    ]
  }
}

allow_instructions 描述 Auto-review 应倾向于允许的动作;block_instructions 描述它应倾向于阻止的动作,让智能体选择另一条路或请你批准。

沙箱

沙箱让 Cursor 运行终端命令而不给它们完整的机器访问权限:沙箱化的命令可以在你的项目里工作,但不能随意读取受保护的文件、写入批准路径之外、或联系任意网络目标。permissions.json 与 sandbox.json 分工不同:permissions.json 引导 Auto-review 自动运行哪些调用、评审哪些;sandbox.json 控制沙箱化命令能触及什么(如网络域名以及额外可读或可写路径)。你开始时两个文件都不需要。终端命令的默认沙箱行为:

访问默认行为
工作区文件工作区内可读写;.cursorignore 可以对智能体隐藏文件
受保护路径Cursor 保护 .git/config、.git/hooks、.vscode、.cursorignore 和敏感的 Cursor 配置文件等路径
网络默认阻止,之后由你的网络模式和 sandbox.json 放开
临时文件/tmp 和平台临时目录可写,除非在 sandbox.json 里禁用

有些命令需要完整的系统访问并绕过沙箱,Cursor 会提示命令在沙箱之外运行并请求你的批准。sandbox.json 的位置:~/.cursor/sandbox.json(所有项目目录)和 <项目目录>/.cursor/sandbox.json(一个项目目录);两者都存在时合并,项目级文件优先;团队管理员策略和 Cursor 硬编码的安全规则叠加在上面,所以本地文件无法削弱这些保护。用它控制网络策略、额外的可读或可写路径、临时目录写入和共享的构建缓存,完整 schema 见官方 sandbox.json 参考。