Skip to content
简体中文

切换主题

// Agent 工具 · 安全

MCP 与 agent 安全清单

装 MCP 服务器、打开自动批准之前先看:会出什么事,以及挡住大多数问题的几个设置。要点来自 MCP 官方安全指南。

6 类风险核对于 2026-10-22依据 modelcontextprotocol.io

01最常见的 6 类问题

每条都附依据的官方来源。

  1. 01

    本地 MCP 服务器 = 以你的身份运行的程序

    stdio 服务器是你电脑上的普通进程,能读你能读的文件、用你环境里的令牌、随意联网。一条 npx 命令装上的第三方服务器,权限和你本人一样。

    怎么防: 不需要碰本机的服务改用远程版;第三方服务器放进容器、沙箱或虚拟机;固定版本号,只装能确认发布者的。 来源 ↗

  2. 02

    工具返回的内容可能带“提示注入”

    会抓网页、读邮件、读工单的服务器,会把外部写的文字原样交给模型;里面藏的指令可能让 agent 去做你没让它做的事。Anthropic、OpenAI 的官方文档都专门提醒了这一点。

    怎么防: 读外部内容的工具和能写、能发、能付款的工具不要同时放开自动执行;敏感操作保留人工确认。 来源 ↗

  3. 03

    工具描述本身也是不可信输入

    服务器给出的工具名称和描述会直接进模型上下文,描述可以被写成诱导模型的指令,也可能在你批准后悄悄改掉。

    怎么防: 装之前扫一眼每个工具的描述;用会在工具定义变化时重新提示的客户端;只开需要的工具(多数客户端支持工具白名单)。 来源 ↗

  4. 04

    令牌给得太宽、被转手

    官方安全指南点名的几类问题:令牌透传(服务器把收到的令牌原样转给下游 API)、混淆代理、权限范围过大。一个能读写所有仓库的令牌,一旦被注入利用,损失就是全部仓库。

    怎么防: 每个服务器单独发最小权限令牌(细粒度 PAT、只读数据库账号);OAuth 只申请需要的 scope;不要把 shell 里的全部环境变量继承给服务器。 来源 ↗

  5. 05

    文件和网络不设边界

    能写任意目录、能连任意地址,就能删改代码库外的文件、把数据发出去(官方指南也提到 SSRF)。

    怎么防: 文件访问限定到具体目录、能只读就只读;不需要网络的服务器关掉外连,其余只放行已知地址。agent 自己的命令也尽量在沙箱里跑。 来源 ↗

  6. 06

    “全自动”模式等于放弃最后一道闸

    bypassPermissions、--allow-all-tools、Run Everything、danger-full-access、trust: true 这类开关会让 agent 不经确认执行任何命令。Cursor 官方也说明,自动审核分类器不是安全边界。

    怎么防: 只在一次性容器或虚拟机里用全自动;日常用“工作区可写 + 需要时再问”这类默认档。 来源 ↗

02个人自查清单

摘自 MCP 官方《Local Server Security》。

03团队 / 企业清单

04各家客户端的安全开关

完整接入指南 →
Agent权限模式沙箱
Claude Code权限模式:default(逐个确认)/ acceptEdits / plan / auto(分类器审核)/ dontAsk / bypassPermissions/sandbox 开启,默认关闭;macOS 用 Seatbelt,Linux / WSL2 用 bubblewrap,原生 Windows 不支持
Codex (CLI · IDE · ChatGPT desktop)沙箱 read-only / workspace-write(默认,网络关)/ danger-full-access;审批 on-request / never / granular默认开启:macOS 用 Seatbelt,Linux 用 bwrap + seccomp,Windows 用 MXC;.git、.codex、.agents 等目录始终只读
Cursor (editor · CLI)Run Modes:Auto-review(推荐,分类器审核)/ Allowlist / Run Everything(全部自动执行)终端命令可在沙箱里跑(Auto-review 或 Allowlist + 沙箱);CLI 用 /sandbox 或 --sandbox 切换。官方说明 Auto-review 不是安全边界
GitHub Copilot (VS Code · Copilot CLI)CLI 默认逐项确认;--allow-tool 精确放行,--allow-all-tools 等于把你的全部权限交给它CLI 里 /sandbox enable 开本地沙箱;云端沙箱为公开预览
Antigravity CLI未写明官方文档有“沙箱与文件访问控制”专页,细节见链接
Gemini CLI未写明-s / GEMINI_SANDBOX 开启:docker、podman、macOS Seatbelt 等
Devin Desktop / Devin CLI (formerly Windsurf)未写明Devin CLI 有系统级沙箱(Linux 需 bubblewrap + socat),企业可强制开启
Cline默认逐步确认,可按操作类型开启自动批准(Auto Approve)未写明
OpenCode每类操作设 allow / ask / deny,可按命令通配符细分未写明
Kiro (IDE · CLI)未写明未写明
Qwen Code审批模式 plan / default / auto-edit / auto(分类器)/ yolotools.sandbox 可设为 docker 等

05帮你落实的工具

全部安全工具 →
本地(stdio)MCP 服务器比远程的更危险吗?

它在你的电脑上以你的权限运行,恶意或被入侵的版本能读到你的文件和令牌。MCP 官方指南建议:不需要访问本机的就用远程版,第三方本地服务器要隔离运行。

开了沙箱,全自动模式就安全了吗?

沙箱限制的是文件和网络越界,你交给它的令牌、经 MCP 工具做的操作照样能执行。密钥要最小化,敏感操作保留确认。

来源 · 关于这页

数据更新于:MCP 安全清单(北京时间)