ZHENGJIM.COM / SECURITY OBSERVATIONS资料核对至 2026-10-27 RSS ↗

接入 MCP 前,先查清它能读写哪些数据

让 Agent 查询一个项目,通常不需要整个账户的写权限。接入前把账户、数据范围和允许动作列出来,比只在提示词里写“只读”可靠。

要点

权限限制要落在账户、接口和执行端。提示词可以指导模型,不能代替实际的读写限制。

相关信息

适用对象
接入外部工具的 Agent 与 MCP 客户端/服务端
起点
身份、资源范围、允许动作、失败与撤销
关注风险
令牌受众错误、代理混淆、不可信内容诱导

“只查询”要在权限里兑现

以查询一个项目的问题列表为例,需要的是读取这个项目,而不是修改所有项目。接入时先查底层凭证实际能访问什么,再查工具暴露了哪些操作。

如果凭证和接口仍允许写入,单靠提示词中的“只读”就留下了缺口。授权应尽量限定到任务所需的项目、文件或业务对象。

接入前检查需要明确的内容
账户使用谁的身份,凭证面向哪个服务
数据允许访问哪些项目、文件或业务对象
动作读取、写入、删除和执行分别是否允许
限制由账户、服务端或执行端中的哪一层拦截
撤销如何收回权限,如何确认已经失效

网页和工具返回都可能夹带指令

Agent 读到的网页、仓库说明或日志里,可能出现要求它改配置、上传文件或发送凭据的文字。这些内容来自待处理资料,不能据此扩展原来的授权。

执行工具调用时,应校验实际操作、目标资源和参数是否符合当前任务;需要受控的动作,要在执行端实施限制。

令牌还要检查是发给谁的

MCP 官方安全文档明确反对未经正确验证就把客户端令牌透传给下游 API。接收一个 token,并不意味着它可以用于任意服务。

接入 OAuth 代理时,检查令牌受众、允许范围及下游身份关系。调试日志可以记录调用结果,但不应记录真实凭据。

用最小任务走完一次调用和撤销

先选一个范围明确的任务,检查允许的调用能否完成,越权调用能否被拒绝,然后撤回权限再确认访问已经停止。保留操作与结果,日志里去掉凭据和不必要的敏感内容。

以后增加工具、扩大数据范围或加入写操作时,再检查新增的能力。这份表用于接入审查,不是对某个产品的安全认证。

资料来源

  1. MCP 官方安全最佳实践 ↗
  2. OWASP 提示注入防护资料 ↗

依据文末资料整理,未做环境实测。编辑与更正说明。

修订记录

2026-10-26:首次发布。

2026-10-27:编辑修订:重写标题、导语和正文,删去重复提示,保留技术范围、来源与原发布时间。

继续阅读本专题 ↗通过 RSS 订阅 ↗