MCP Security: главные риски
MCP открывает агенту двери наружу — и каждая дверь работает в обе стороны. Главная архитектурная слабость: модель не отличает инструкции от данных, поэтому вредоносное описание инструмента выполняется как команда. С 2025 года есть и теория (гайды OWASP по MCP и агентным системам), и практика — отравленные серверы, украденные ключи, RCE через конфиги. Разбираем классы атак по именам и защиты, которые реально работают.
Короткий ответ
Главная дыра MCP — описания инструментов читаются как инструкции: отравленное описание заставляет агента слить секреты. Лечится allowlist, подтверждениями и песочницей.
Вектор и классы атак
Модель не отличает инструкции от данных: вредоносное описание инструмента выполняется как команда, а код сервера при этом может быть чист — атака живёт в тексте. Вторая щель — разрыв доверия во времени: одобрили безобидное, обновление тихо меняет поведение, перепроверки нет.
Классы по именам: отравление описаний и выводов; подмена имён и версий после доверия; запутанный заместитель — чужая просьба вашими правами (отравленный issue, сообщение, документ); широкие права и куча секретов в одном месте; теневые серверы мимо инвентаризации.
- описание выполняется как команда, код может быть чист
- обновление меняет поведение после одобрения
- чужая просьба вашими правами
- широкие права, куча секретов, теневые серверы
Хроника: что уже случалось
Весна 2025: формализовано отравление через описания — скрытая инструкция в безобидном инструменте уводит агента к чтению секретов. Тот же год: публичный кейс, где отравленная задача в трекере заставила агента с широкими правами вынести приватное в публичное место. Лето 2025: критические уязвимости в инструментах и клиентах — инъекция команд через URL авторизации, перезапись конфигов без подтверждения с последующим удалённым выполнением.
Осень 2025: supply-chain через npm — вредоносная версия пакета после серии чистых релизов. Урок один: сверяйте lockfile и diff обновлений, не доверяйте истории релизов. Замеры на синтетике показывают десятки процентов успеха атак с ростом у более способных моделей: чем лучше модель следует инструкциям, тем послушнее выполняет и вредоносные.
- весна 2025 — отравление описаний, кража секретов
- публичный кейс — чужая задача вашими правами
- лето 2025 — RCE через конфиги и URL
- осень 2025 — вредонос после чистых релизов
Защиты и аудит
Разрешённый список вместо запрещённого, версии по хешу, обновление только после просмотра изменений. Подтверждения: чтение — автоматом, запись и сеть наружу — каждый раз. Привилегии по минимуму, токены узкие и короткие, секреты врозь, исполнение в песочнице, ключи на серверы — раздельные. Свежий урок октября 2026-го из мира coding-агентов: расширение может отвечать позже ваших запретов и тем самым отменять их — поэтому несущие запреты держите там, где ни одно расширение не отвечает после вас: управляемые настройки, контейнер без выхода, защищённая ветка.
Логируйте определения инструментов с хешем: дрейф означает подмену. Каждый вызов — в журнал, ответы — по схеме, лишнее — отклонять. Конфиги — как код: ревью, версии, минимум прав. После инцидента — ротация всех ключей, которых касался агент, без исключений.
- allowlist, версии по хешу, запись — с подтверждением
- минимум прав, узкие токены, песочница
- хеш описаний — дрейф означает подмену
- конфиги как код; после инцидента — ротация всего
Источники и связанные страницы
Следующий шаг
Открыть эту статью в Markdown·Поделиться в Telegram
Следующий материалModel Routing: как выбирать модель под задачу