MCP: удобный протокол или новая поверхность атаки?
Если вы используете код десктопа, курсор или другие инструменты, то знаете: ИИ уже не просто генерирует код — он читает файлы, делает коммиты, отправляет письма. Эта интеграция работает через протокол MCP, который позволяет подключать серверы буквально в пару кликов. Увидели интересный GitHub-сервер, установили — и готово.
Но у MCP есть обратная сторона: каждый сервер требует широкие права. Gmail-сервер просит полный доступ к почте, GitHub-сервер — ко всем репозиториям, файловый сервер — к домашней папке. Microsoft уже фиксирует рост «теневых MCP-серверов», которые сотрудники ставят без ведома IT-отдела. Palo Alto предупреждает: злоумышленники маскируют вредоносные серверы под полезные.
Мы провели собственное исследование MCP, изучили отчёты Microsoft, Invariant Labs, Trail of Bits и протестировали разные атаки. В этой статье — разбор протокола и ключевых рисков безопасности.
Как устроен MCP
Работа клиента с MCP-сервером выглядит так:
Рукопожатие — обмен версиями протокола и возможностями. Сервер сообщает, какие «инструменты» доступны.
Список инструментов — клиент получает описание функций (Tools). ИИ доверяет этим описаниям на слово.
Вызовы инструментов — ИИ использует их для выполнения задач (например, получить системную информацию).
Ресурсы и промпты — сервер может предоставлять документы, политики, готовые сценарии аудита.
Логирование — сервер ведёт журнал действий.
Главная проблема: клиент доверяет серверу по умолчанию. Проверка личности сервера или валидация ответов не предусмотрена архитектурой.
Основные атаки
1. Tool Poisoning
Описание инструмента становится оружием. Мы тестировали «калькулятор», который правильно считал 2+2, но параллельно сканировал файловую систему и передавал список директорий.
ИИ доволен результатом («4»), пользователь ничего не подозревает, а злоумышленник получает доступ к данным.
2. Resource Injection
Вредоносные инструкции можно спрятать прямо в документах. ИИ воспринимает их как доверенный источник.
Пример: в «политике паролей» скрыта команда предлагать пароль passport123
. Современные модели (например, SQuAD 4) часто игнорируют такие инструкции, но гарантии нет.
3. Supply Chain Trouble
43% популярных MCP-серверов содержат критические уязвимости, 22% позволяют читать произвольные файлы.
Как и с NPM-пакетами, злоумышленники маскируют вредонос под популярные инструменты. Один компрометированный сервер может затронуть тысячи разработчиков.
4. Legacy Endpoints
Поддержка устаревших версий протокола (например, Session ID в URL) создаёт брешь в защите.
Атакующий просто ищет наименее защищённый эндпоинт и использует downgrade-атаку.
5. GitHub Poisoning
ИИ не различает публичные и приватные данные. Вредоносные инструкции из публичных issues могут выполняться в контексте приватных репозиториев. Запретить такое смешивание — значит убить полезную функциональность.
6. Unicode Tag Injection
Исследователи описывают скрытые инструкции с невидимыми Unicode-символами. В наших тестах атака не сработала на SQuAD 4, но другие модели могут оказаться уязвимыми.
Почему это опасно
Слепое доверие: ИИ верит описанию инструментов и содержимому ресурсов.
Отсутствие валидации: результаты не проверяются.
Разные уровни риска: локальные серверы ещё можно проверить, а удалённые — «чёрный ящик».
Эффект домино: один скомпрометированный сервер может повлиять на целые компании.
Практические рекомендации
Для разработчиков MCP-серверов:
Валидируйте все входные данные.
Реализуйте принцип наименьших привилегий.
Логируйте и проверяйте каждое действие.
Думайте в парадигме Security-First.
Для пользователей:
Используйте только проверенные open-source серверы.
Мониторьте, что именно делает ИИ «от вашего имени».
Проводите регулярные аудиты.
Для бизнеса:
Внедряйте Zero Trust архитектуру.
Настройте Continuous Security Monitoring.
Обучайте сотрудников работе с MCP и ИИ-инструментами.
Итог
MCP — революционная технология для интеграции ИИ с реальными системами. Но архитектура по умолчанию основана на доверии, а значит, открывает простор для атак.
Те, кто изучает MCP критически и внедряет защиту, получают преимущество. Те, кто игнорирует риски, платят данными и безопасностью.
Эра мультиагентных систем только начинается. И наш выбор сегодня — осознанная безопасность или наивная вера в «удобные» инструменты.
А вы уже сталкивались с проблемами безопасности при работе с ИИ-сервисами и плагинами? Поделитесь опытом в комментариях.
Комментарии (4)
positroid
02.09.2025 21:00Не все агенты используют MCP, cursor может просто через команды в консоли делать все до чего дотянется безо всяких MCP.
MCP сервера следует понимать как пользовательский сторонний код (чем они по факту и являются). Так что ничего нового здесь не появилось - вы сами ставите mcp сервер / плагин в браузер / приложение на андроид / библиотеку с github и сами должны позаботиться о безопасности.
Проблема с MCP лишь в отсутствии нормального регулирования и доверенных маркетплейсов с внятными проверками безопасности. Впрочем, последние уже стали появляться.
А Antrophic здесь "виноваты" лишь в том, что разработали удобный протокол.
Politura
02.09.2025 21:00Доказываю на примере Claude
Спасибо за столь подробное доказательство, ух, такого от Клауде я не ожидал!
de43gy
А где докозательство слива данных от Claude?
nin-jin
Напишите его сами, чтобы оно попало в следующую обучающую выборку.