Опубликован эксплойт уязвимости в ИИ-агентах
В начале марта ФСТЭК разослала предупреждение об обнаружении критической уязвимости BDU:2026-02402 в открытой библиотеке MCP Go SDK, которая обеспечивает взаимодействие языковых моделей искусственного интеллекта (LLM) с внешними источниками данных. Критичность уязвимости оценена в 10 баллов по третьей версии CVSS. Для неё существует эксплойт, доступный в открытом виде, что требует максимально оперативного исправления ошибки, благо разработчики уже выпустили исправление.
Уязвимость существует в общедоступной реализации протокола Model Context Protocol (MCP), который разработан Anthropic в 2024 году и находится в общем доступе на GitHub[2]. Он определяет, каким образом ИИ-системы («агенты») подключаются к внешним источникам данных: базам данных, корпоративным сервисам, API-интерфейсам, файловыми системам и другим элементам ИИ-экосистемы. По сути MCP – это универсальный «язык общения» между искусственным интеллектом и окружающей его инфраструктурой.
Ошибка появилась в реализации более низкоуровневого протокола JSON-RPC, который обеспечивает передачу сообщений в формате JSON между элементами ИИ-системы. Это простой протокол, определяющий только несколько типов данных и команд, однако в реализации его Go-функции json.Unmarshal() была обнаружена ошибка, которая позволяет удаленному злоумышленнику обойти ограничения безопасности и выполнить манипуляции с данными с помощью неправильной обработки регистра (CWE-178).
« Суть в том, что стандартная Go-функция json.Unmarshal() сопоставляет JSON-поля без учета регистра: для нее команды «Method» и «method» — одно и то же, а спецификация JSON-RPC 2.0 требует точного соответствия, – пояснил читателям TAdviser Сергей Зыбнев, ведущий специалист отдела по работе с уязвимостями «Бастион». – Получается несовпадение стандарта и проверок в коде — промежуточные средства защиты проверяют сообщения строго по заданному алгоритму и не видят угрозы, а MCP Go SDK принимает замаскированные команды. На практике злоумышленник может обойти контроли безопасности между ИИ-агентом и MCP-сервером, просто меняя регистр символов в JSON-полях.»
По словам эксперта, это уже 30-я уязвимость в экосистеме MCP с конца 2024 года, причем большая часть из них появилась за последние три месяца. В таком случае возникает подозрение в системных проблемах протокола, а не в конкретной ошибке.
«На текущий момент нет публично подтверждённых фактов использования именно MCP Go SDK в конкретных отечественных продуктах, – заявил TAdviser Антон Башарин, старший управляющий директор AppSec Solutions. – При этом Go активно применяется в банковском секторе, телеком-компаниях, e-commerce, а также в сервисах, связанных с обработкой данных. Организации, которые строят собственные ИИ-решения на базе больших языковых моделей и интегрируют их с корпоративной инфраструктурой через MCP, потенциально могут использовать эту библиотеку или её производные.»
Эксперт утверждает, что велика вероятность использования подобной библиотеки в командах, разрабатывающих: корпоративные ИИ-ассистенты с доступом к внутренним базам данных и сервисам, платформы автоматизации бизнес-процессов с ИИ-компонентами, DevOps- и DevSecOps-инструменты, использующие ИИ-агентов для анализа кода, инфраструктуры или инцидентов. Поскольку с точки зрения безопасности в объектах критической инфраструктуры рекомендовано строить собственные (on-premise) ИИ-решения, то велика вероятность, что для этого как раз и будут задействованы и протокол MCP, и язык программирования Go.
«Опасность подобных уязвимостей заключается в том, что ИИ не изолированная модель, а точка доступа к инфраструктуре, – напомнил TAdviser Михаил Тимаев, руководитель отдела технического пресейла IT Task. — ИИ будет становиться всё большей частью критичной инфраструктуры, а значит, к его компонентам нужно относиться также, как к любому другому элементу ИТ-ландшафта.»
Эксперт предупреждает, что ошибка позволяет вмешаться в обмен данными или выполнить произвольный код. В результате злоумышленник фактически получает возможность использовать сервер ИИ с достаточно высокими показателями производительности как прокси для атаки на другие внутрикорпоративные системы. И чем шире права у сервиса, тем серьезнее будут последствия.
«Опасность определяется архитектурой, – считает Кирилл Левкин, проджект-менеджер MD Audit. – Если сервис доступен извне и не изолирован, злоумышленник может отправить специально подготовленные запросы и получить несанкционированный доступ к функциям интеграции. Речь идет не об «взломе ИИ» как модели, а об атаке на интеграционный слой. При корректной сегментации и ограничении доступа риск существенно снижается. Однако для систем, где MCP используется в публичном или полуоткрытом контуре, уязвимость можно считать критичной.»
Главной рекомендацией для пользователей MCP Go SDK, по словам Владислава Шелепова, аналитика угроз GSOC «Газинформсервис», является обновление библиотеки до версии 1.3.1 или новее. В ней введен парсер JSON, который учитывает регистр функции и корректно выполняет проверки кода на безопасность. Новые версии заменяют стандартный encoding/json на чувствительный к регистру парсер, что полностью закрывает данную лазейку.
«Если обновление выполнить невозможно, необходимо использовать компенсирующие меры безопасности, – заявил TAdviser Владислав Шелепов. – А именно: изолировать MCP‑сервера от остальной инфраструктуры; закрыть доступ к серверам ИИ/MCP из внешних сетей и разрешать подключения только из доверенных подсетей; внедрить системы обнаружения и предотвращения вторжений, настроенные на анализ JSON-RPC. Дополнительно можно использовать прокси или API‑шлюз перед MCP-сервером, отбрасывающий сообщения с некорректным регистром ключей.»
По мнению Антона Прокофьева, руководителя отдела операционной поддержки Solar appScreener, для защиты ИИ от атак на компоненты системы стоит придерживаться системного подхода, который выходит за рамки простой безопасности алгоритмов. Уязвимости могут возникать на любом уровне: от пользовательского интерфейса до аппаратного обеспечения. Для того, чтобы избежать подобных уязвимостей, важно проверять сторонние компоненты, например, используя анализ состава программного обеспечения (Software Composition Analysis – SCA) и оценку безопасности открытого кода (Open Source Security Assessment – OSA).
«Комплексная защита требует сетевой изоляции: MCP-серверы не должны быть доступны из интернета напрямую, – также рекомендует Анатолий Песковский, руководитель направления анализа защищенности компании «Информзащита». – Использование межсетевых экранов и сегментации сети критически важно для предотвращения SSRF-атак, к которым уязвимы более трети серверов в мире. Не менее важно ограничить привилегии самих ИИ-агентов. Агент должен иметь доступ только к тем инструментам и данным, которые необходимы для конкретной задачи. Принцип очевидный, но в MCP-экосистеме он по умолчанию не реализован: авторизация оставлена «на усмотрение разработчика».


