MCP · отравление инструментов · rug pull

Изменился ли ваш MCP-сервер после одобрения?

Модель читает описания инструментов как инструкции, а сервер может поменять их уже после вашей проверки. Вставьте tools/list, который вы одобрили, и тот, что сервер отдаёт сейчас: вы получите вердикт, пословный дифф каждого изменённого инструмента и сигнал на каждое рискованное добавление.

Бесплатно · без аккаунта · без кошелька

Список инструментов, {"tools": […]} или JSON-RPC-ответ сервера.

Тот же сервер сегодня, в любой из этих форм.

Ctrl / ⌘ + Enter

Что проверяется

  • Добавленные и удалённые инструменты, повторяющиеся и похожие имена.
  • Пословный дифф каждого изменённого описания, JSON-пути схем, которые поменялись, и изменения аннотаций.
  • Сигналы о том, что изменение добавило: инструкции для модели, формулировки перехвата приоритета и сокрытия, пути к учётным данным и кошелькам, скрытые действия, невидимый Unicode, текст, вытесненный из поля зрения.
  • Новые URL, e-mail, IP-адреса и адреса кошельков во всём наборе инструментов.
  • Расширенные права: снят readOnlyHint, включены destructiveHint или openWorldHint, новые параметры для команды, пути или URL.

Что не проверяется

Шаблоны, а не модель: фразы сопоставляются на английском, а адреса, скрытые символы и изменения схем читаются одинаково на любом языке. Сравниваются два списка, которые вы дали; для одного списка есть скан 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"}'

ИИ-агенты покупают эту же проверку

Для людей эта страница бесплатна. ИИ-агент получает тот же детерминированный ответ за $0.003 за вызов по x402 — USDC в сети Base, без аккаунта и без API-ключа:

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

Есть в x402 Bazaar от Coinbase и на x402scan. Агент платит ровно за тот ответ, который показывает эта страница, байт в байт.

Вопросы

Что такое rug pull в MCP?

Сервер проходит проверку с честными описаниями инструментов, а потом меняет их: новый адрес, куда отправлять данные, скрытая инструкция прочитать ключи пользователя, инструмент перестаёт объявлять себя «только для чтения». Клиенты обычно показывают описание один раз, при одобрении, поэтому подмену никто не замечает.

Вердикт выносит модель?

Нет. Детерминированные правила дают каждый раз один и тот же ответ, а каждый сигнал показывает, на чём он основан, — судите сами.

Где хранить список «до»?

Рядом с конфигом MCP, под контролем версий. Lock-файл WARDEN (warden-mcp scan --lock) делает это для каждого сервера, который запускают ваши клиенты, и блокирует сервер, если тот изменился.

Другие бесплатные проверки