← Назад к блогу
cybersecurity 11 мин

Безопасность MCP-серверов: что показал аудит 1 808 серверов о рисках интеграции AI-инструментов

Аудит 1808 MCP-серверов выявил критические уязвимости в 66% серверов. Узнайте о рисках интеграции AI-инструментов и как защитить вашу систему.

Безопасность MCP-серверов: что показал аудит 1 808 серверов о рисках интеграции AI-инструментов

Проблема: AI-агенты защищены ровно настолько, насколько защищено их самое слабое подключение к инструменту

Каждая команда, которая спешит подключить AI-агентов к базам данных, API и файловым системам через серверы Model Context Protocol (MCP), сталкивается со скрытым риском. MCP-серверы выступают промежуточным звеном между большими языковыми моделями и внешними инструментами — и когда это промежуточное звено неправильно настроено или является вредоносным, вся цепочка оказывается под угрозой. Исследование команды Backslash Security, охватившее тысячи общедоступных MCP-серверов, выявило сотни серверов с критическими уязвимостями, включая произвольное выполнение команд и сетевую доступность на уровне всей сети. Более масштабное отраслевое сканирование 1 808 MCP-серверов показало, что у 66% обнаружены проблемы безопасности, из которых 427 классифицированы как критические — включая отравление инструментов, токсичные потоки данных и неконтролируемое выполнение кода.

Проще говоря: два из трёх MCP-серверов в открытом доступе имеют хотя бы одну проблему безопасности, и почти четверть содержит уязвимости, способные предоставить злоумышленнику доступ на уровне системы.

Почему это важно для любого бизнеса, использующего AI-агентов

MCP становится стандартным способом взаимодействия AI-агентов с реальным миром — чтение файлов, запросы к базам данных, вызовы API, запуск рабочих процессов. Как поясняет Contrast Security, при запуске MCP-клиент опрашивает настроенные серверы для получения доступных инструментов и их описаний, после чего AI использует эти инструменты по своему усмотрению. Именно эта гибкость составляет весь смысл протокола — и одновременно весь риск.

Скомпрометированный MCP-сервер не просто допускает утечку данных. Он может заставить AI-агента выполнять произвольные команды, похищать учётные данные или манипулировать выходными данными, которым нижестоящие системы безоговорочно доверяют. Радиус поражения принципиально отличается от традиционной уязвимости API, потому что AI-агент действует автономно, зачастую без явного одобрения человеком каждой операции.

Реальные цифры: 427 критических находок на 1 808 серверов означает, что примерно каждый четвёртый сервер содержит уязвимость, достаточно серьёзную для захвата системы, кражи данных или компрометации цепочки поставок.

Три наиболее опасных класса уязвимостей

Отравление инструментов: троянские кони внутри вашего AI-процесса

Отравление инструментов — одна из самых коварных атак на MCP. Согласно Practical DevSecOps, вредоносные команды внедряются в определения инструментов или метаданные, заставляя LLM выполнять вредоносные действия. Инструмент выглядит легитимным на поверхности — его название, описание и параметры кажутся нормальными, — но скрытые инструкции в метаданных перенаправляют поведение AI-агента.

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

Как отмечает Enkrypt AI, традиционные сканеры кода ловят базовые проблемы вроде SQL-инъекций или XSS, но пропускают уязвимости, которые действительно важны для MCP-серверов, — потому что они не понимают паттерны поведения AI-агентов, векторы инъекций в промпты или уникальные границы доверия, возникающие, когда LLM оркестрирует доступ к системам.

Токсичные потоки данных: когда недоверенный ввод проходит через доверенные каналы

MCP-серверы находятся между недоверенными внешними источниками и привилегированными внутренними системами. Когда валидация входных данных слабая или отсутствует, контролируемые злоумышленником данные поступают напрямую в базы данных, командные оболочки или нижестоящие API.

Анализ топ-10 рисков безопасности MCP от Prompt.security подчёркивает, что если MCP-серверы передают невалидированный пользовательский или внешний ввод в нижестоящие базы данных или системные команды, злоумышленники используют эти уязвимости для выполнения вредоносного кода, получения несанкционированного доступа к инфраструктуре, а также манипуляции или удаления критически важных данных. Это включает классические SQL-инъекции и инъекции команд — но усиленные тем фактом, что сам AI-агент формирует запросы на основе потенциально отравленного контекста.

Исследование CyCognito добавляет ещё одно измерение: MCP-серверы никогда не должны принимать токены доступа от клиентов и передавать их напрямую в нижестоящие API без валидации. Это нарушает базовые границы безопасности и лишает сервер возможности применять ограничение частоты запросов, аудит и проверку утверждений. Прямая передача токенов фактически превращает MCP-сервер в неконтролируемый прокси для имперсонации.

Произвольное выполнение кода: ключи от всего королевства

Исследовательская группа Backslash обнаружила, что чрезмерные разрешения и инъекции на уровне ОС были второй по распространённости проблемой среди проверенных MCP-серверов: десятки случаев, когда серверы позволяют выполнять произвольные команды на хост-машине — через небрежное использование вызовов подпроцессов, отсутствие санитизации ввода или ошибки обхода путей.

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

Сетевая доступность: проблема «NeighborJack»

Самой распространённой уязвимостью, обнаруженной Backslash среди сотен случаев, были MCP-серверы, явно привязанные ко всем сетевым интерфейсам (0.0.0.0), что делало их доступными для любого устройства в той же локальной сети. Исследовательская команда назвала это уязвимостью «NeighborJack».

Аналогия проста: представьте, что вы работаете в коворкинге, а на вашей машине тихо работает MCP-сервер. Любой, кто подключён к тому же Wi-Fi, может получить к нему доступ, выдать себя за инструменты и потенциально выполнять операции от вашего имени. Это как оставить ноутбук открытым и незаблокированным на виду у всех в комнате.

В сочетании с чрезмерными разрешениями это создаёт идеальный шторм — серверы, доступные по сети и одновременно позволяющие выполнять произвольные команды, означают, что удалённый злоумышленник может перейти от сетевого доступа к полному контролю над системой за один шаг.

Чем безопасность MCP отличается от традиционной безопасности API

Традиционная безопасность API фокусируется на аутентификации, ограничении частоты запросов и валидации ввода на чётко определённых конечных точках. Безопасность MCP требует всего того же — плюс совершенно нового уровня задач:

Традиционный риск API Специфический риск MCP
SQL-инъекция через пользовательский ввод Инъекция в промпт через запросы, сформированные LLM
Несанкционированный доступ к конечным точкам Отравление инструментов через манипуляцию метаданными
Кража токенов из ответов API Утечка учётных данных через конфигурационные файлы MCP
DDoS на конечные точки API Атаки типа «rug pull» — поведение инструмента меняется после первоначального одобрения
Атака на цепочку поставок через зависимости Атака на цепочку поставок через реестры MCP-серверов

Как указывает анализ Datadog, атаки через отравление инструментов могут заставить клиента прочитать конфиденциальные файлы хоста, такие как конфигурационные файлы MCP-сервера (~/.cursor/mcp.json) и SSH-ключи. Сам конфигурационный файл становится целью атаки, поскольку обычно содержит учётные данные для подключения к базам данных и сервисам.

Практические меры по снижению рисков: наши рекомендации

На основе результатов исследования 1 808 серверов и рекомендаций от OWASP, CyCognito и Prompt.security приведены шаги с наибольшим эффектом:

1. Изолируйте каждый MCP-сервер в песочнице

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

2. Привязывайте к localhost, а не к 0.0.0.0

Сотни серверов в исследовании были без необходимости открыты для всей локальной сети. Привязка MCP-серверов к 127.0.0.1 вместо 0.0.0.0 полностью устраняет класс атак NeighborJack — исправление в одну строку с колоссальным влиянием на безопасность.

3. Валидируйте входные данные на каждой границе

Параметризованные запросы для доступа к базам данных и строгая санитизация ввода для команд оболочки не подлежат обсуждению. Это касается как прямого пользовательского ввода, так и ввода, сгенерированного LLM — вывод AI-агента должен рассматриваться как недоверенный при поступлении на MCP-сервер.

4. Исключите прямую передачу токенов

MCP-серверы никогда не должны передавать клиентские токены напрямую в нижестоящие API. Токены и API-ключи должны быть явно выданы MCP-серверу и использоваться только этим сервером. Это сохраняет возможность ограничения частоты запросов, аудита и обнаружения злоупотреблений.

5. Сканируйте инструментами, понимающими специфику MCP

Универсальный статический анализ пропускает риски, специфичные для MCP. Такие инструменты, как MCP-Scan от Invariant Labs, MCP-сканер Enkrypt AI и CyberMCP, созданы для обнаружения отравления инструментов, векторов инъекций в промпты и специфических для MCP ошибок конфигурации, которые традиционные сканеры упускают.

6. Подписывайте и верифицируйте компоненты MCP

CyCognito подчёркивает, что разработчики должны подписывать компоненты MCP, чтобы пользователи могли проверить их целостность. Системы сборки должны включать статический анализ (SAST) и анализ состава ПО (SCA) для выявления уязвимостей как в коде, так и в зависимостях до развёртывания.

7. Обеспечьте аутентификацию — всегда

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

Выбор платформы безопасности для MCP

Ландшафт инструментов для безопасности MCP быстро развивается. Вот честное сравнение основных категорий:

Ключевой вывод для бизнеса: начните со сканирования каждого используемого MCP-сервера. Исследование показывает, что у 66% есть находки — поэтому считайте, что ваш тоже уязвим, пока не доказано обратное. Автоматическое сканирование, интегрированное в CI/CD, выявляет проблемы до того, как они попадут в продакшн.

Цена игнорирования безопасности MCP

Каждый MCP-сервер, подключённый к AI-агенту, — это граница доверия. Когда эта граница нарушена, AI-агент становится руками злоумышленника — читает файлы, выполняет команды и получает доступ к системам с любыми разрешениями, которые предоставляет сервер. В отличие от традиционного взлома, где атакующий должен самостоятельно ориентироваться в среде, скомпрометированный MCP-сервер даёт злоумышленнику автономного агента, который уже знает, как пользоваться каждым подключённым инструментом.

При 427 критических уязвимостях, обнаруженных на 1 808 серверах, — включая отравление инструментов, способное незаметно перенаправить поведение AI, и сетевую доступность, ставящую серверы в зону досягаемости любого, кто подключён к тому же Wi-Fi, — риск конкретен и непосредственен.

Что это значит для вашего проекта: если ваша команда разрабатывает или развёртывает AI-агентов с MCP-интеграциями, аудит безопасности — это не забота на будущее. Это обязательное условие. Цифры говорят сами за себя — относитесь к безопасности MCP-серверов с той же строгостью, что и к безопасности продакшн-баз данных, потому что уровень доступа сопоставим.

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

Как обнаружить атаки отравления инструментов на моих MCP-серверах до того, как они нанесут ущерб?

Используйте специализированные инструменты сканирования MCP, такие как MCP-Scan от Invariant Labs или сканер Enkrypt AI, которые анализируют разрыв между описанием инструмента и его реальной реализацией. Традиционные инструменты статического анализа пропускают эти векторы, потому что не понимают паттерны поведения AI-агентов. Интегрируйте сканирование в свой конвейер CI/CD, чтобы каждый коммит проверялся автоматически.

В чём разница между отравлением инструментов и атаками затенения инструментов в MCP?

Отравление инструментов внедряет вредоносные инструкции в метаданные инструмента или скрытые поля описания, заставляя AI выполнять непреднамеренные действия, в то время как инструмент выглядит легитимным. Затенение инструментов (также называемое атаками типа «rug pull») подразумевает инструмент, который ведёт себя корректно при первоначальной проверке, но меняет поведение после одобрения — функциональность инструмента изменяется после развёртывания. Оба способа эксплуатируют доверие AI-агента к определениям инструментов, но затенение труднее обнаружить, потому что инструмент действительно безопасен на момент сканирования.

Почему MCP-серверы с сетевой доступностью и чрезмерными разрешениями создают «идеальный шторм» для злоумышленников?

Сетевая доступность (привязка к 0.0.0.0) означает, что любой в локальной сети может получить доступ к серверу. Чрезмерные разрешения означают, что сервер может выполнять произвольные команды на хосте. В сочетании злоумышленник переходит от доступа к Wi-Fi к полному контролю над системой без необходимости каких-либо учётных данных — сам сервер предоставляет и точку входа, и возможность выполнения.

Как провести аудит разрешений MCP-инструментов, чтобы убедиться в соблюдении принципа минимальных привилегий?

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

Могут ли злоумышленники эксплуатировать MCP-серверы иначе, чем при прямых атаках на LLM, и какую расширенную поверхность атаки это создаёт?

MCP-серверы расширяют поверхность атаки за пределы самой LLM, предоставляя прямой доступ к файловым системам, базам данных, API и системным командам. Злоумышленнику, скомпрометировавшему MCP-сервер, не нужно манипулировать рассуждениями LLM — он может внедрить вредоносные определения инструментов, перехватить потоки данных или выполнять команды напрямую. Как отмечает Practical DevSecOps, уязвимости LLM, такие как манипуляция промптами, в сочетании с угрозами MCP-серверов усиливают общий риск, делая экосистему более уязвимой к сложным эксплойтам, чем каждый компонент по отдельности.

Статья подготовлена на основе открытых источников и может содержать неточности.

Читайте также

ВыжимкаAI
  1. Исследование 1 808 MCP-серверов показало, что 66% содержат проблемы безопасности, из них 427 — критические уязвимости, которые позволяют злоумышленнику получить доступ на уровне системы.
  2. AI-агент с доступом к скомпрометированному MCP-серверу может автономно выполнять произвольные команды, похищать учётные данные и манипулировать данными без явного одобрения человека, что качественно отличает риск от традиционных уязвимостей API.
  3. Отравление инструментов — атака, при которой вредоносные команды внедряются в определения инструментов, заставляя LLM выполнять вредоносные действия под видом легитимной функциональности.

Powered by B1KEY