7 уязвимостей шлюза MCP: утечки сессий, мертвый SSE и OAuth в режиме шлюза

✍️ OpenClawRadar📅 Опубликовано: 14 мая 2026 г.🔗 Source
7 уязвимостей шлюза MCP: утечки сессий, мертвый SSE и OAuth в режиме шлюза
Ad

После демонстрации счастливого пути пользователь Reddit столкнулся с семью конкретными багами при размещении шлюза MCP между реальными клиентами и серверами. Исправления заключались не в инженерии промптов — это были явные границы сессий, таймауты для каждого инструмента, идемпотентность, структурированные журналы действий, трассировка на уровне шлюза и тесты параллельных вызовов инструментов. Результатом стало значительное сокращение времени выполнения параллельных инструментов, но главной победой было знание того, где возникают сбои.

Семь багов, которые действительно имели значение

  • Утечка состояния сессии между клиентами — общее состояние между сессиями вызывало загрязнение данных.
  • Молчаливый разрыв SSE-соединений — никаких ошибок не возникало при обрыве соединения с серверными событиями.
  • Работа OAuth в локальных тестах, но сбой в режиме шлюза — URI перенаправления или проверка токенов не работали за прокси.
  • Обнаружение зондов возвращало устаревшие метаданные сервера — кэшированные возможности не отражали обновления сервера.
  • Запись в SQLite блокировала параллельные вызовы инструментов — блокировки базы данных сериализовывали одновременные запросы.
  • Логика повторных попыток дублировала побочные эффекты инструментов — повторные попытки заново выполняли мутации, такие как запись или вызовы API.
  • Задержка инструментов скрывалась внутри шлюза вместо вызова модели — мониторинг относил время не к тому слою.
Ad

Исправление: скучная инфраструктура, а не лучшие промпты

Подход автора к каждому багу:

  • Явные границы сессий — отдельное состояние на клиента, никаких общих объектов.
  • Политика таймаутов для каждого инструмента — индивидуальные таймауты, чтобы один медленный инструмент не блокировал другие.
  • Идемпотентность где возможно — ключи дедубликации или транзакционное поведение для безопасных повторных попыток.
  • Структурированные журналы действий — подробные, анализируемые журналы каждого действия шлюза для отладки.
  • Трассировка на уровне шлюза — распределенная трассировка для правильного отнесения задержки к разным слоям.
  • Тесты параллельных вызовов инструментов — интеграционные тесты, которые отправляют параллельные запросы для выявления состояний гонки.

Это конкретные, практические шаблоны для всех, кто запускает шлюз MCP в продакшене. Ключевая идея поста: сложные проблемы — это изоляция состояния, молчаливые сбои и наблюдательность, а не промпты модели.

📖 Source: r/ClaudeAI

Ad

👀 Смотрите также

在Claude Code之上构建处理上下文与协调的流程层
Советы

在Claude Code之上构建处理上下文与协调的流程层

Команда рассказывает, как они построили процессный слой поверх Claude Code, который объявляет входы/выходы для каждого этапа разработки, уменьшая потерю контекста при передаче задач и обеспечивая совокупный рост продуктивности без опоры на индивидуальную дисциплину.

OpenClawRadar
Сократите токены OpenClaw Boot на 43% с помощью инструмента для уточнения и файлов памяти
Советы

Сократите токены OpenClaw Boot на 43% с помощью инструмента для уточнения и файлов памяти

Сокращение загрузочных токенов с ~9 457 до ~5 400 (на 43 %) путем преобразования TOOLS.md в индекс, переноса деталей инструментов в отдельные файлы и внедрения поэтапного продвижения памяти.

OpenClawRadar
Как нон-кодер создал переиспользуемый рабочий процесс на Claude для контент-маркетинга основателя
Советы

Как нон-кодер создал переиспользуемый рабочий процесс на Claude для контент-маркетинга основателя

Бывший редактор журнала без опыта программирования рассказывает, как случайно создал повторяемый рабочий процесс с Claude для контент-маркетинга соло-основателя: выгрузить сырые мысли, затем переструктурировать с помощью Claude в форматы для конкретных платформ.

OpenClawRadar
20 команд Claude Code, которые должен знать каждый разработчик
Советы

20 команд Claude Code, которые должен знать каждый разработчик

Пост на Reddit перечисляет 20 команд Claude Code для остановки задач, управления контекстом, ответвлений, удаленного управления и ярлыков продуктивности, таких как /compact, /branch и /simplify.

OpenClawRadar