Использование новых решений часто сопряжено с рисками информационной безопасности. В настоящее время уже определились популярные способы компрометации практических реализаций протокола. Расмотрим, на что обратить внимание при встраивании MCP-компонентов в ландшафт систем искусственного интеллекта.
MCP — это открытый протокол, который позволяет организовать контролируемые взаимодействия ИИ со сторонними инструментами и информационными системами через унифицированный API. Фактически, это клиент-серверная технология, в которой MCP-сервер выполняет роль прокси между источниками данных, инструментами работы с ними и ИИ-моделью.
Упрощенно схема потоков данных выглядит так:
- Пользователь отправляет промт в LLM, которая обучена на предмет доступных источников данных и инструментов их обработки.
- LLM определяет необходимый источник данных или инструмент и обращается к соответствующему MCP-клиенту, который в свою очередь делает запрос на MCP-сервер.
- MCP-сервер направляет запрос к источнику данных или в инструмент.
- MCP-сервер получает ответ на свой запрос.
- MCP-сервер передает ответ через MCP-клиент в LLM.
- LLM анализирует ответ.
- LLM возвращает результаты анализа пользователю.
Роль пользователя, который взаимодействует с LLM или c MCP-сервером может выполнять AI-агент, автоматизирующий какое-либо действие пользователя или взаимодействующий с другой информационной системой.
В традиционной архитектуре без MCP пользовательское приложение само управляет всеми интеграциями и в связи с этим обладает рядом минусов:
- отсутствие изоляции потоков данных;
- сложность мониторинга содержимого потоков данных;
- хранение чувствительной информации в приложении (API-ключей, интеграционных учетных записей и паролей);
- сложности настройки защиты от негативного воздействия на модель;
- низкий уровень логирования.
Эти недостатки эксплуатируются при реализации следующих основных групп атак:
1) на данные модели и на саму модель:
- извлечение (копирование) модели и/или ее данных;
- подмена модели на зловредную;
- негативное воздействие на модель входными данными, заставляющее ее галлюцинировать, выдавать заведомо неверные зловредные данные или инструкции.
2) на AI-агентов:
- инъекции вредоносного кода в файлы или другие объекты (агент может выполнить код без проверки);
- нарушение логики (контекста) работы агента за счет подмены легитимных действий на зловредные в рамках санкционированного сценария (агент под сценарием «отправка данных пользователю» может удалить данные или отправить данные злоумышленнику).
В MCP-конфигурации потоки данных унифицируются и проксируются, обеспечивая возможность встраивания защитных механизмов. Это разделяет ответственность: одни серверы предоставляют инструменты взаимодействия, другие ресурсы и данные, третьи LLM сервисы, а пользователи (агенты) используют их через единый стандартизированный интерфейс. Это позволяет внедрить основные меры противодействия вышеперечисленным атакам:
- настроить структуру запросов, входных данных и их источников;
- реализовать идентификацию и контроль пользовательского, служебного и автоматизированного ввода, разделение данных и команд;
- обеспечить экранирование ввода (в том числе вызванного самой моделью) и проверку его содержимого на предмет зловредного кода или инструкций;
- настроить ограничения к выводу модели и проверку его содержимого на предмет возможного негативного воздействия на адресата.
Кроме того, MCP-архитектура позволяет:
- изолировать инструменты по зонам доступа за счет связей один ко одному для каждого MCP-сервера и источника данных/инструмента;
- строго настроить потоки данных и сценарии взаимодействия узлов;
- валидировать внешние подключения;
- логировать события безопасности.
Решения, доступные сейчас для обеспечения защиты
- Guardrails AI обеспечивает проверку ввода в LLM на наличие чувствительных данных, запрещенных администратором данных, попыток атак. Вывод модели также проверяется перед отдачей адресату: галлюцинации, зловредный или не этичный ответ, наличие чувствительных данных. Решение интегрируется между MCP-хостом и
LLM-инфраструктурой. - Invariant Guardrails позиционируется как система безопасного использования AI-агентов. Устанавливается «в разрыв» между агентами и MCP-сервером, LLM. Позволяет настраивать контекстные правила к потоку данных по шаблонам и ограничивать вызов инструментов. Инструмент Invariant Explorer обеспечивает мониторинг поведения модели и ее системного окружения.
Так как MCP использует JSON-RPC как стандарт общения, для локальных развертываний есть техническая возможность интеграции с системами DLP (Data Loss Prevention) для противодействия утечкам информации. Также с системных компонентов можно собирать в корпоративный SIEM события запросов и ответов, системные логи и события взаимодействия между компонентами.
При том, что MCP устраняет недостатки традиционной архитектуры без него, нужно не забывать о защите самих MCP-серверов, которые переложили на себя значительную функций по работе с инструментами обработки данных. Для MCP-сервера, который фактически представляет собой инфраструктурный узел, наиболее актуальны известные атаки на получение несанкционированного доступа, возможности удаленного выполнения кода. Реализация этих атак приводит к:
- получению несанкционированного доступа к узлам и данным за счет утечек API-ключей, учетных записей и паролей для взаимодействия с внешними инструментами и источниками данных;
- компрометации доверенных для MCP-сервера узлов за счет обхода ограничений взаимодействия компонентов MCP-среды;
- изменению логики работы LLM за счет отравления инструментов MCP-сервера и изменения правил взаимодействия с инструментами и источниками данных.
Также для публичных MCP-серверов применимы атаки их подмены или дублирования (в отсутствии аутентификации).
Классические атаки — классические средства безопасности, в этом смысле защищать MCP-сервер необходимо по стандартным известным правилам:
- для HTTPS-взаимодействия настройка TLS 1.3, OAuth аутентифкации, включение WAF;
- ограничение доступа по портам к серверу на межсетевом экране (для внутреннего сервера — доступ только из локальной сети);
- шифрование секретов (логины, пароли, API-ключи);
- реализация принципов минимальных привилегий и «все что не разрешено, то запрещено»;
- настройка rate-лимитов на уровне запросов и попыток доступа;
- настройка параметров безопасности системных компонентов;
- проверка на отсутствие уязвимостей в цепочке поставок и своевременные обновления ПО;
- запуск в контейнерах.
Несколько инструментов безопасности для MCP-серверов:
- MCP Inspector — средство для отладки и тестирования MCP-серверов;
- ScanMCP, mcpscan.ai, MCPSafetyScanner — сканеры уязвимостей на уровне реализации сервера, взаимодействия и потока данных, конфигурации окружения;
- gVisor — песочница для безопасного запуска компонентов MCP-серверов в контейнерах.
В заключении отметим, что MCP получил распространение за счет новых возможностей повышения эффективности работы с системами искусственного интеллекта и очевидно продолжит набирать популярность. Задача безопасности в этом контексте заключается в обеспечении развития и внедрения протокола с учетом актуальных рисков. Как стандарт MCP использует простые технологии и не представляет новых сложных вызовов информационной безопасности. При внимательном подходе реализация MCP делает системы с LLM более управляемыми, контролируемыми и защищенными.

































