Skip to content
RiverCore
Уязвимость MCP затронула 7 000 серверов и 150 млн загрузок в цепочке поставок ИИ
MCP security flawAI supply chainCVE vulnerabilitiesMCP STDIO transport vulnerability AI SDKsAnthropic MCP unpatched CVEs 2026

Уязвимость MCP затронула 7 000 серверов и 150 млн загрузок в цепочке поставок ИИ

22 апр 20266 мин. чтенияSarah Chen

Одно архитектурное решение в Model Context Protocol компании Anthropic распространилось на более чем 7 000 публично доступных серверов и программных пакетов, представляющих свыше 150 миллионов загрузок. Именно такой радиус поражения определяет OX Security для единственной уязвимости «by design» в STDIO-транспорте MCP, охватывающей все официально поддерживаемые языки SDK: Python, TypeScript, Java и Rust. Из одиннадцати CVE, связанных с этой первопричиной, исправлены три. Восемь — нет.

Цифры

Главный показатель — соотношение: 3 из 11 раскрытых CVE в настоящее время содержат исправления. LiteLLM (CVE-2026-30623), Bisheng (CVE-2026-33224) и DocsGPT (CVE-2026-26015) выпустили патчи. Оставшиеся восемь, касающиеся GPT Researcher, Agent Zero, Fay Framework, Langchain-Chatchat, Jaaz, Upsonic, Windsurf и Flowise, на момент публикации отчёта OX Security остаются открытыми, как сообщало The Hacker News. Это примерно 27-процентный показатель устранения уязвимостей в совокупности проектов, которые в целом обеспечивают значительную долю текущего стека агентного ИИ.

Цифра в 7 000 серверов требует пояснения. Это публично доступные экземпляры — то есть достижимые через интернет конечные точки, где выполнение команд через STDIO посредством конфигурации эксплуатируемо при правильном пути запроса. 150 миллионов загрузок — это совокупное число скачиваний пакетов по всем затронутым проектам, включая LiteLLM, LangChain, LangFlow, Flowise, LettaAI и LangBot. Загрузки — запаздывающий индикатор развёртывания, а не реальная установочная база, однако они задают верхнюю границу воздействия и нижнюю границу аудиторской работы, которую теперь обязаны выполнить команды разработчиков.

Для сравнения: предшествующие случаи RCE в отдельных проектах в сфере ИИ-инструментов — CVE-2025-49596 в MCP Inspector, CVE-2026-22252 в LibreChat, CVE-2026-22688 в WeKnora, CVE-2025-54994 в @akoskm/create-mcp-server-stdio и CVE-2025-54136 в Cursor — согласно анализу OX Security, все восходят к одному базовому паттерну злоупотребления STDIO. Это как минимум пять независимых отчётов за последний год, касающихся вариаций одного поведения протокола, ещё до нынешней группы из десяти. Сигнал от повторных, несогласованных обнаружений заключается в том, что исследователи постоянно натыкались на одну и ту же стену, а стена не двигалась.

Источник не раскрывает, сколько из 7 000 публичных серверов активно задействованы в продакшн-агентных рабочих нагрузках, а не в разработке или демо-развёртываниях, — а это важно, поскольку реальная эксплуатируемая поверхность находится где-то внутри этого диапазона. Граница очевидна: максимум 7 000, минимум — подмножество, уже отпечатанное в публичных сканерах. Если отслеживание активной эксплуатации последует паттерну недавних событий в цепочках поставок, следует ожидать, что каталог CISA KEV включит как минимум одну из этих CVE в течение 90 дней.

Что действительно нового

Новым элементом здесь является не RCE через инъекцию конфигурации. Инъекция команд через ненадёжный конфигурационный ввод — это старый, хорошо задокументированный класс уязвимостей, и OWASP Top Ten охватывает категории инъекций уже более десяти лет. Новым является механизм доставки: SDK, выпущенный автором протокола, идентичный для четырёх языковых сред выполнения, который при запросе локального STDIO-сервера преобразует поля конфигурации в выполнение команд на уровне ОС через STDIO-транспорт.

Формулировка OX Security точна: «Model Context Protocol компании Anthropic предоставляет прямое выполнение команд из конфигурации через STDIO-интерфейс во всех своих реализациях, независимо от языка программирования». Механизм состоит в том, что STDIO-загрузчик был разработан для запуска локального сервера и передачи дескриптора обратно LLM. Передайте ему команду, не являющуюся серверной, — она всё равно будет выполнена, а затем вернётся ошибка. Ошибка — лишь видимость. Выполнение уже произошло.

Четыре категории атак делают это конкретным: неаутентифицированная и аутентифицированная инъекция команд через MCP STDIO, неаутентифицированная инъекция через прямую конфигурацию STDIO с обходом защиты, неаутентифицированная инъекция через редактирование конфигурации MCP, управляемое инъекцией подсказок без кликов (zero-click), и неаутентифицированная инъекция через маркетплейсы MCP, где сетевые запросы активируют скрытые STDIO-конфигурации. Третья категория должна вызвать беспокойство у руководителей платформ. Zero-click инъекция подсказок в редактирование конфигурации означает, что злоумышленнику не нужно компрометировать машину разработчика — достаточно разместить контент, который агент прочитает в ходе обычной работы.

Второй действительно новый элемент — ответная реакция Anthropic. По данным отчёта OX Security, Anthropic отказалась вносить изменения в архитектуру протокола и охарактеризовала поведение как «ожидаемое». Это политическая позиция, а не упущение. Она перекладывает границу безопасности с автора протокола на каждого разработчика в Python, TypeScript, Java и Rust. Возражение исследователей заслуживает цитирования: «Перекладывание ответственности на разработчиков не переносит риск. Это лишь скрывает того, кто его создал».

Что уже учтено командами безопасности

Большинство платформенных команд, использующих LangChain, LiteLLM или Flowise в продакшне, уже рассматривают эти библиотеки как быстро развивающиеся и требующие частых патчей. Существование RCE в проекте, смежном с LangChain, не является неожиданностью, и CVE-фиды в этой экосистеме были шумными уже более года. Эта часть уже учтена.

Что не учтено: идея о том, что сам протокол, а не отдельная библиотека, является слабым звеном. Команды, проводившие аудит графов зависимостей на уровне пакетов и пришедшие к выводу «мы на исправленных версиях», могут по-прежнему нести тот же базовый дефект, поскольку паттерн находится в эталонном SDK Anthropic. Это меняет рамки работы по устранению. Больше речь идёт не об «обновлении LiteLLM», а об «аудите каждой границы MCP STDIO в вашем стеке, включая самописные серверы, построенные на официальном SDK».

Также недооценён вектор маркетплейса. MCP-маркетплейс, обслуживающий конфигурации через сетевые запросы, где эти конфигурации могут скрывать STDIO-команды, фактически является каналом распространения программного обеспечения без встроенного предположения о подписи. Если вы CTO, создающий внутренний MCP-маркетплейс для своей инженерной организации, модель доверия там ближе к непроверенному npm-зеркалу, чем к курируемому корпоративному реестру. Соответствие техникам MITRE ATT&CK, связанным с компрометацией цепочки поставок и выполнением команд и скриптов, прямое.

Наиболее важная неизвестная: сколько внутренних, непубличных MCP-серверов внутри предприятий имеют тот же дефект. Источник измеряет публичный интернет. Приватные развёртывания за VPN или сервисными сетями по определению находятся за пределами этого подсчёта. Рабочая оценка: частная экспозиция как минимум сопоставима с публичными 7 000 и, вероятно, в несколько раз больше, поскольку назначение MCP — интеграция внутренних инструментов.

Альтернативная точка зрения

Консенсусная позиция состоит в том, что Anthropic неправа, и это баг на уровне протокола. Альтернативный аргумент: Anthropic может быть технически права в том, что STDIO-транспорты по своей природе выполняют локальные процессы, и что размещение границы доверия внутри транспорта, предназначенного для порождения подпроцессов, является категориальной ошибкой. Если конфигурация MCP рассматривается как доверенный ввод (так же, как доверяют файлу юнита systemd или Dockerfile), то «конфигурация ведёт к выполнению команд» — это функция, а не уязвимость.

Проблема с этой защитной позицией операционная, а не теоретическая. На практике конфигурация MCP передаётся через сетевые границы, редактируется LLM, отвечающими на запросы пользователей, и распространяется через маркетплейсы. Предположение о доверии, на котором был разработан протокол, не выживает при тех паттернах развёртывания, которые протокол активно поощряет. Anthropic может быть права в спецификации и при этом ошибаться в реальном мире. Называя поведение «ожидаемым», компания заканчивает разговор именно там, где он должен начинаться.

Если Anthropic будет придерживаться этой позиции ещё два квартала, следует ожидать, что как минимум один резонансный инцидент, связанный с конфигурацией MCP-маркетплейса, вынудит изменить политику там, где волна CVE этого не добилась.

Ключевые выводы

  • Одиннадцать CVE восходят к одному архитектурному решению MCP STDIO; на момент анализа OX Security исправлены только три (LiteLLM, Bisheng, DocsGPT).
  • Воздействие охватывает 7 000+ публичных серверов и 150 млн+ загрузок через реализации SDK на Python, TypeScript, Java и Rust.
  • Anthropic отказалась от архитектурных изменений и охарактеризовала поведение как «ожидаемое», перекладывая устранение уязвимостей на каждого разработчика.
  • Четыре категории атак включают zero-click инъекцию подсказок в конфигурации MCP и скрытые STDIO-команды, распространяемые через маркетплейсы, что расширяет модель угроз за пределы традиционного патчинга зависимостей.
  • Прогноз: если хотя бы одна из восьми неисправленных CVE попадёт в CISA KEV в течение 90 дней после 20 апреля 2026 года, следует ожидать, что позиция Anthropic об «ожидаемом поведении» изменится до третьего квартала 2026 года.

Часто задаваемые вопросы

В: Что представляет собой уязвимость MCP STDIO в SDK Anthropic?

Это уязвимость «by design», при которой STDIO-транспорт MCP преобразует конфигурационный ввод в выполнение локальных команд независимо от того, запускает ли команда фактически STDIO-сервер. OX Security сообщает, что она затрагивает официальный SDK Anthropic для Python, TypeScript, Java и Rust, обеспечивая удалённое выполнение кода на любой системе с уязвимой реализацией.

В: Какие проекты затронуты и какие исправлены?

Раскрытые CVE охватывают GPT Researcher, LiteLLM, Agent Zero, Fay Framework, Bisheng, Langchain-Chatchat, Jaaz, Upsonic, Windsurf, DocsGPT и Flowise. На момент анализа OX Security патчи опубликовали только LiteLLM (CVE-2026-30623), Bisheng (CVE-2026-33224) и DocsGPT (CVE-2026-26015).

В: Что инженерным командам следует сделать прямо сейчас?

Проведите аудит каждой границы MCP STDIO в своём стеке, включая внутренние серверы, построенные на официальном SDK; рассматривайте конфигурационный ввод MCP из любого сетевого источника как ненадёжный; изолируйте сервисы с поддержкой MCP в sandbox; блокируйте публичный IP-доступ к чувствительным инструментальным серверам и устанавливайте MCP-серверы только из проверенных источников. Патчинг на уровне зависимостей необходим, но недостаточен, поскольку корневой дефект находится в эталонной реализации протокола.

SC
Sarah Chen
RiverCore Analyst · Dublin, Ireland
ПОДЕЛИТЬСЯ
// RELATED ARTICLES
ГлавнаяРешенияПроектыО насКонтакт
Новости06
Дублин, Ирландия · ЕСGMT+1
LinkedIn
🇷🇺RU