跳到主要内容

审查 MCP 权限与变更

MCP 把外部能力带入 Ghast,也把对话数据和 Tool 参数带给外部 Server。安全审查要覆盖四层:Plugin 或配置来源、Server 进程/域名、连接账号与权限、每次 Tool 的真实副作用。

连接前检查​

本地 stdio​

  • 谁发布了要运行的程序或包?
  • 命令是否固定版本?
  • 工作目录和参数允许访问哪些文件?
  • 环境变量包含哪些凭证?
  • 进程是否需要联网?会把什么发送出去?
  • 停止 Ghast 后是否还有子进程或外部状态?

远程 MCP​

  • URL 是否为提供方的官方 HTTPS 域名?
  • 登录的是哪个账号和组织?
  • OAuth 请求了哪些 Scope?
  • Headers 中的 Token 有什么权限和有效期?
  • 服务是否保留输入、输出或文件内容?
  • 如何断开并在远端撤销?

不要把凭证放进聊天消息、Skill、Plugin 文案、截图或日志。优先使用 OAuth 或 Plugin 凭证库。自定义 MCP 的环境变量和 Headers 是明文输入区,编辑时会重新显示现有值;不要在屏幕共享或录屏时打开含凭证的配置。

按副作用审查 Tools​

类别示例最低核对
只读搜索、列出、获取详情账号、工作区、时间范围、分页是否完整。
创建新建文档、Issue、任务标题、位置、可见性、默认成员、是否重复。
更新修改记录、状态、权限目标 ID、旧值、新值、并发覆盖风险。
发送/发布邮件、消息、评论、公开内容收件人、频道、最终正文、附件、公开范围。
删除/撤销删除文件、取消事件、撤销授权是否可恢复、影响对象、关联数据和替代方案。
资金与交易下单、支付、转账网络、资产、金额、费用、滑点、目标地址和最终回执。

第一次使用一个 Server 时,只启用必要 Tool,并从只读动作开始。任何高风险动作都应在调用前要求明确参数,在调用后到目标系统确认结果。

Tool 描述变更审查​

MCP Server 可以在升级后改变 Tool 的说明或输入 Schema。Ghast 检测到实质变化时,会把该 Tool 暂停在待审查区:

  1. 打开 Plugins → 连接管理;
  2. 找到 Tool 变更提醒;
  3. 选择审查;
  4. 对比之前与之后的说明或输入 Schema;
  5. 只有确认含义、参数和副作用后才批准。

批准是对新描述的接受,不是对未来所有调用的永久授权。命令授权、Tool 选择和远端权限仍分别生效。

OAuth 与 Token​

  • OAuth 优先于手工长期 Token,因为 Scope 和撤销通常更清晰。
  • 浏览器授权时确认域名,防止在仿冒页面输入凭证。
  • 同一服务的测试与生产账号使用不同连接名称。
  • 断开 Ghast 连接后,根据界面提示到服务商处检查远端授权。
  • 怀疑泄露时先在服务商处撤销或轮换,再更新 Ghast 配置。

切勿把“已连接”理解为“已验证全部 Scope”。用只读 Tool 确认当前身份和数据范围,再进行写入。

Resources 的数据边界​

Resource 内容来自 Server,可能包含文档、数据库记录或文件。打开 Resource 会把内容显示在 Ghast 中;把它用于对话可能继续发送给所选模型提供方。

读取前确认:

  • Resource 属于哪个 Server 和账号;
  • 是否包含个人信息、客户数据或内部链接;
  • 当前模型提供方是否允许接收这些数据;
  • 是否只需要其中一小部分。

连接诊断怎么读​

Server 卡片可能显示失败连接或受限连接。展开后保留完整错误并按层定位:

  • 命令不存在 / 进程退出:本地运行时或参数;
  • DNS、TLS、超时:网络、代理或 URL;
  • 401、unauthorized、missing credential:OAuth 或 Token;
  • 协议/握手错误:端点或传输方式;
  • Tool 不可用:Server 能力发现或描述审查;
  • 调用成功但业务失败:Tool 参数或远端业务规则。

不要通过关闭错误提示、改成完全访问或扩大 Token 权限来“修复”未知原因。先确定失败层,再做最小改动。

断开、删除与撤销​

三种动作不同,而且入口并不相同:

  • 断开连接:Plugin Connection 可在连接管理中断开;自定义 MCP Server 当前没有对应 OAuth 断开按钮;
  • 删除 Server:移除 Ghast 中的自定义配置;
  • 远端撤销:在服务商处使 Token 或 OAuth Grant 失效。

要彻底停止访问,Plugin Connection 通常要在 Ghast 断开并在服务商处撤销;自定义 MCP 则删除配置并在服务商处撤销。已由 Tool 创建或修改的数据不会自动回滚。

上线前检查表​

  • 来源、作者、版本和完整性可核对。
  • 使用正确的测试或生产账号。
  • OAuth Scope 或 Token 权限最小化。
  • Tool 名称、说明和输入 Schema 已检查。
  • Resources 不包含不应发送给模型的数据。
  • 只读调用已成功并确认身份。
  • 写入动作有明确参数与验收方式。
  • 断开、撤销和回滚路径已记录。
  • 日志和截图不会泄露凭证或客户数据。