1. 基线指纹
在首次接触时,网关计算服务器声明工具集的一个规范哈希,并把它 作为批准的基线存储:- 该哈希覆盖每个工具的 name、description 和输入 JSON schema —— 恰好是一次 rug-pull 会改动的那个面(一个工具获得一个外泄参数, 或者一个被武器化用于提示注入的描述,都会翻转哈希)。
- 它是与顺序无关的:一个服务器重新排序它的工具列表,或者重新 排序一个 schema 内的键,不会看起来像一次变化。只有一次真正的 定义变化才会移动哈希。
2. schema 状态生命周期
每个已注册服务器携带一个schema_status。这些状态以及它们如何
影响该服务器的工具是否被提供:
| Status | 含义 | 工具被提供? |
|---|---|---|
| (未建立基线) | 首次使用——尚无基线记录。 | 发现姿态:是(trust-on-first-use——当前 schema 被捕获为基线)。严格姿态:否——见下方 pending。 |
verified | 活的 schema 匹配批准的基线。 | 是 |
changed | 检测到漂移——活的 schema 不同于基线。 | 否——fail closed |
pending | 一个在严格(无 trust-on-first-use)姿态下未建立基线的服务器——等待批准。 | 否——fail closed |
quarantined | 一名管理员已挂起该服务器。 | 否——fail closed |
三个 closed 状态——
changed、pending、quarantined——都会阻止
服务器的工具通过网关被提供。verified 总是提供;一个未建立基线的
服务器只在发现姿态(trust-on-first-use)下提供,而在严格姿态下被挂为
pending。漂移永不悄悄通过。3. 漂移时会发生什么
当一次重新核查发现活的 schema 不再匹配基线时:4. 重新批准一个已漂移的服务器
重新建立基线是一次单独的调用(或控制台操作):verified。(隔离一个服务器是一个单独的操作,用于
你判断这次变化是有敌意的时——approve_schema 只重新建立基线到
verified。)该操作被写入审计轨迹。
5. 这落在哪里
Schema 漂移检测是 rug-pull 防御的 schema 层的一半;另一半是mcp
面上每次调用的评估(每一次 tools/call 都在派发时对照你的策略
核查)。两者一起覆盖”定义变了”和”这次特定调用是危险的”。
Rug-pull 防御
完整的 rug-pull 图景——schema 基线加每次调用的评估。
MCP 安全总览
MCP 网关、技能和凭据。
MCP 工具投毒
这个状态机所防御的威胁。
MCP 审计事件
监控 schema 变化和网关决策。
