Почему Docker называет MCP «кошмаром безопасности» — и как это исправить

Протокол контекста модели (Model Context Protocol, MCP) был представлен как универсальный стандарт — «USB-C для приложений ИИ» — для обеспечения беспрепятственного взаимодействия агентов ИИ с внешними инструментами, API и данными. Крупные игроки, такие как Microsoft, Google и OpenAI, быстро приняли его, и появились тысячи серверных инструментов MCP. Обещание было простым: написать интеграцию один раз, и любой агент ИИ сможет ее использовать.

Однако недавний анализ от Docker показывает, что эта гонка за удобством создала катастрофу в области безопасности. Протокол, разработанный скорее для связи, чем для безопасности, оставил след критических уязвимостей по всей экосистеме. Предупреждение Docker не просто теоретическое; оно основано на реальных инцидентах утечки учетных данных, несанкционированного доступа к файлам и удаленного выполнения кода.

Анатомия угрозы

Исследование Docker тысяч MCP-серверов выявило системные недостатки. Суть проблемы в том, что агенты ИИ работают с повышенным доступом к файловой системе, сети и оболочке, но при этом выполняют непроверенные инструкции из ненадежных источников. Это привело к нескольким классам критических уязвимостей.

1. Инъекция команд и удаленное выполнение кода

Это самая серьезная угроза. Ошеломляющие 43% проанализированных MCP-серверов уязвимы для инъекций команд. Многие интеграции реализованы небезопасно, что позволяет злоумышленникам выполнять произвольные системные команды на хост-машине.

Яркий пример, CVE-2025-6514, использовал популярный прокси OAuth, используемый в MCP-серверах. Эта единственная уязвимость превратила стандартный поток аутентификации в вектор удаленного выполнения кода, скомпрометировав почти полмиллиона сред разработчиков.

2. Неограниченный доступ к данным и учетным данным

Многие инструменты MCP работают с плохой изоляцией, что приводит к огромным рискам для данных:

  • Неограниченный сетевой доступ: Одна треть MCP-серверов позволяет неограниченный исходящий сетевой доступ, создавая идеальный канал для эксфильтрации конфиденциальных данных или связи с командно-контрольными серверами.
  • Уязвимость файловой системы: У 22% серверов были обнаружены уязвимости утечки файлов, позволяющие им получать доступ к файлам за пределами их предполагаемой области действия.
  • Кража секретов и учетных данных: Неадекватное управление секретами широко распространено. Ключи API и пароли часто выставляются в виде переменных окружения в открытом тексте, которые легко могут быть собраны скомпрометированным инструментом.

3. Манипуляции, специфичные для ИИ (отравление инструментов)

Это новый, коварный вектор атаки, уникальный для систем ИИ. Вредоносные MCP-серверы могут предоставлять ложные описания инструментов или манипулировать ответами, чтобы обмануть агента ИИ, заставив его выполнить несанкционированные действия. Например, инструмент, который утверждает, что только читает общедоступные данные, может быть использован для удаления файлов или отправки конфиденциальной информации злоумышленнику.

Решение Docker: безопасность по умолчанию

Для противодействия этим рискам Docker выступает за усиленную, ориентированную на безопасность архитектуру для интеграций MCP. Вместо запуска ненадежных инструментов из менеджеров пакетов, таких как npm, непосредственно на хост-машине, их решение основано на трех основных принципах: изоляция, верификация и сетевое взаимодействие с нулевым доверием.

  • MCP Gateway: Действует как интеллектуальный прокси, который перехватывает все вызовы инструментов, применяет политики безопасности, сканирует на предмет утечек секретов и обеспечивает комплексное логирование.
  • Изоляция контейнеров: Каждый MCP-сервер работает в собственном изолированном контейнере с ограниченным доступом к файлам, ограниченным CPU/памятью и без доступа к хост-системе. Скомпрометированный инструмент остается в «песочнице».
  • Безопасное распространение: Каталог Docker MCP предоставляет криптографически подписанные образы контейнеров, обеспечивая проверку инструментов и защиту от атак на цепочку поставок.

Это кардинально меняет положение безопасности разработки ИИ.

Аспект безопасностиТрадиционный MCPНабор инструментов Docker MCP
Модель выполненияПрямое выполнение на хосте (например, npx)Контейнерная изоляция
Обработка OAuthУязвимые внешние проксиВстроенный, безопасный OAuth в Docker Desktop
Управление секретамиВыставлены в переменных окруженияБезопасное хранилище в Docker Desktop
Сетевой доступНеограниченная хост-сетьL7 прокси с разрешенными назначениями
Цепочка поставокНепроверенные пакеты npmКриптографически подписанные образы Docker
МониторингОтсутствие видимостиКомплексное логирование и журналы аудита

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


Источник: MCP Horror Stories: The Security Issues Threatening AI Infrastructure