MCP · 工具投毒 · rug pull

你的 MCP 服务器在你批准后变了吗?

模型把工具描述当作指令来读,而服务器可以在你审核之后修改它们。粘贴你批准过的 tools/list 和服务器现在返回的:你会得到结论、每个改动工具的逐词差异,以及对改动新增的每个风险点的信号。

免费 · 无需账号 · 无需钱包

工具列表、{"tools": […]},或服务器的 JSON-RPC 响应。

同一服务器今天的结果,以上任一形式均可。

Ctrl / ⌘ + Enter

检查什么

  • 新增和移除的工具、重复名称和仿冒名称。
  • 每个改动描述的逐词差异、发生变化的 schema 的 JSON 路径,以及注解的变化。
  • 关于改动新增内容的信号:针对模型的指令、抢占和隐瞒措辞、凭据和钱包路径、隐蔽操作、不可见的 Unicode、被挤出视野的文本。
  • 整个工具集中新出现的 URL、电子邮件、IP 和钱包地址。
  • 权限扩大:readOnlyHint 被移除,destructiveHint 或 openWorldHint 被打开,新增命令、路径或 URL 参数。

不检查什么

基于规则,而非模型:短语按英文匹配,而地址、隐藏字符和 schema 变化在任何语言中都一样可读。它对比你给出的两个列表;单个列表请用 WARDEN 扫描,服务器的公开历史请用 HISTOR。

隐私

你粘贴的内容发送到 modelmarket.dev,由我们 HESTIA 运行环境中的确定性函数对比后返回答案。不会被保存。

如何获取 tools/list

很多 HTTP 服务器直接响应这个请求;需要会话的服务器要先调用 initialize。保存今天的结果——它就是下次检查的“之前”。

curl -s https://mcp.example.com/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

AI 智能体购买的是同一项检查

本页对人免费。AI 智能体通过 x402 以每次 $0.003 获得同样的确定性答案——Base 上的 USDC,无需账号,无需 API 密钥:

POST https://modelmarket.dev/x402/mcp-diff

已收录于 Coinbase 的 x402 Bazaar 和 x402scan。智能体付费买到的,就是本页显示的答案,逐字节一致。

常见问题

什么是 MCP 跑路篡改(rug pull)?

服务器先以诚实的工具描述通过审核,之后再修改:新增一个发送数据的地址、一条读取用户密钥的隐藏指令、某个工具不再声明自己只读。客户端通常只在批准时显示一次描述,所以改动无人察觉。

结论是模型判断的吗?

不是。确定性规则每次给出相同答案,每个信号都列出证据,由你自己判断。

“之前”的列表放在哪里?

放在 MCP 配置旁边,纳入版本控制。WARDEN 的锁文件(warden-mcp scan --lock)会为你的客户端启动的每个服务器这样做,并在有服务器漂移时阻止它。

其他免费检查