Автор: Evan Harris
Уровень риска: Высокий
Затронутый компонент: thirdweb MCP Server

Введение

В рамках наших продолжающихся исследований безопасности серверов Model Context Protocol (MCP) мы выявили значимую уязвимость в thirdweb MCP Server, которая допускает несанкционированные криптовалютные транзакции через неаутентифицированный сетевой доступ.

Обзор уязвимости

thirdweb MCP Server, запущенный с флагом --transport sse, открывает неаутентифицированный интерфейс Server-Sent Events (SSE), который по умолчанию привязывается к 0.0.0.0:8000. Такая конфигурация позволяет удалённым атакующим выполнять несанкционированные криптовалютные транзакции из кошельков жертв.

Технические подробности

Проблема

При конфигурации с транспортом SSE сервер:

  • Привязывается к 0.0.0.0:8000, становясь доступным с любого узла сети
  • Не предоставляет никакого механизма аутентификации для эндпоинта /sse
  • Доверяет любому подключённому клиенту выполнение привилегированных операций, включая криптовалютные транзакции

Сценарий атаки

Атакующий может:

  1. Обнаружить открытый эндпоинт по адресу http://victim_ip:8000/sse
  2. Подключиться с помощью стандартных инструментов MCP, таких как MCP Inspector
  3. Выполнить несанкционированные транзакции с использованием инструмента send_transaction
  4. Перевести криптовалюту из кошелька жертвы на собственный адрес

Proof of Concept

Уязвимая конфигурация

thirdweb-mcp \
  --transport sse \
  --secret-key=sk_... \
  --engine-url=railway_hosted_engine_url \
  --engine-auth-jwt=eyJ... \
  --engine-backend-wallet-address=0xVictimWallet

Выполнение несанкционированной транзакции

С помощью MCP Inspector атакующий может подключиться к http://victim_ip:8000/sse и выполнить инструмент send_transaction с подходящими параметрами, чтобы перевести криптовалюту из кошелька жертвы на подконтрольный атакующему адрес.

[Технические подробности скрыты до появления патча]

Это приводит к несанкционированному переводу криптовалюты из кошелька жертвы без какой-либо аутентификации или согласия пользователя.

Оценка воздействия

Эта уязвимость допускает:

  • Прямую кражу криптовалюты из кошельков жертв без согласия пользователя
  • Экспозицию в масштабах всей сети, затрагивающую кофейни, офисы, публичные сети и любую скомпрометированную частную сеть

Факторы риска

  • Сетевая экспозиция: привязка по умолчанию к 0.0.0.0 делает сервис доступным в масштабах всей сети
  • Отсутствие аутентификации: любой клиент может подключиться и выполнять привилегированные операции
  • Высокоценная цель: прямой доступ к криптовалютным транзакциям
  • Незаметная работа: атаки могут происходить без ведома пользователя

Рекомендуемые меры по устранению

Для пользователей (немедленно)

  • Избегайте использования --transport sse в общих сетевых средах
  • Используйте привязку к localhost, изменив конфигурацию по умолчанию
  • Внедрите ограничения на сетевом уровне (межсетевые экраны, VPN)

Для разработчиков (в долгосрочной перспективе)

  • Измените привязку по умолчанию с 0.0.0.0 на 127.0.0.1
  • Внедрите аутентификацию для всех транспортных интерфейсов
  • Добавьте предупреждения о безопасности в документацию и вывод CLI
  • Рассмотрите модели безопасности, специфичные для транспорта

Эта уязвимость была сообщена команде thirdweb в рамках практик ответственного раскрытия. Мы рекомендуем пользователям обновиться до последней версии, как только патчи станут доступны.

Более широкие последствия

Этот вывод подчёркивает важные соображения безопасности для MCP-серверов:

  1. Механизмы аутентификации необходимы для любого сетевого MCP-сервиса
  2. Значения сетевой привязки по умолчанию должны ставить безопасность выше удобства
  3. Безопасность на транспортном уровне следует использовать для смягчения атак на основе HTTP
  4. Документация по безопасности должна описывать риски развёртывания

Хронология раскрытия

  • 2025-05-23: Уязвимость обнаружена и сообщена команде thirdweb
  • 2025-07-18: Повторное письмо с просьбой подтвердить получение отчёта о раскрытии
  • 2025-09-02: Финальная проверка с подтверждением, что отчёт будет опубликован
  • 2025-09-03: Публичное раскрытие и публикация бюллетеня безопасности

Заключение

Возможность несанкционированных транзакций в thirdweb MCP Server демонстрирует критическую важность безопасных настроек по умолчанию в инструментах разработки, интегрирующих блокчейн и ИИ.

По мере роста распространения MCP внедрение надёжных мер безопасности становится ещё более важным для защиты цифровых активов пользователей и сохранения доверия к экосистеме.

Организациям и частным лицам, разворачивающим MCP-серверы, следует проводить тщательные проверки безопасности, применять стратегии эшелонированной защиты (defense-in-depth) и сохранять осведомлённость о рисках сетевой экспозиции.

Ссылки