Отравление инструментов и внедрение инструкций
Как содержимое сервера MCP может управлять моделью - отравление описаний инструментов и внедрение инструкций через данные, что об этом говорит спецификация 2026-07-28 и что остаётся на хосте
требования протокола сверены со спецификацией 2026-07-28 4 октября 2026
Что здесь из спецификации, а что нет
Заголовок раздела «Что здесь из спецификации, а что нет»Два класса атак
Заголовок раздела «Два класса атак»| Класс | Где спрятаны указания | Кто их подложил |
|---|---|---|
| отравление инструментов | в описании или схеме инструмента, которые видит модель, но обычно не читает пользователь | владелец сервера |
| внедрение инструкций через данные | в результате вызова, ресурсе или тексте шаблона: письме, странице, записи в трекере | любой, кто может записать данные туда, откуда сервер их читает |
Отравление инструментов. Термин ввела компания Invariant Labs в публикации от 1 апреля 2025. По её описанию, вредоносный сервер может не только вывести данные пользователя, но и изменить поведение агента по отношению к другим, доверенным серверам. Это утверждение исследователей об изученных ими клиентах, а не свойство протокола.
Внедрение инструкций. Общий класс уязвимостей приложений с языковыми моделями. В перечне рисков OWASP он значится как LLM01: Prompt Injection. Для MCP важен непрямой вариант: указания приходят не от пользователя, а в данных, которые вернул инструмент. Сервер при этом может быть полностью честным.
Что требует спецификация
Заголовок раздела «Что требует спецификация»Требования собраны со страниц спецификации 2026-07-28. Ни одно из них не обещает, что атака невозможна.
| Требование | Кому | Сила | Где |
|---|---|---|---|
| считать аннотации инструментов ненадёжными, если они получены не от доверенного сервера | клиенту | обязан | Tools |
| оставлять человеку возможность отклонить вызов инструмента | приложению | следует | Tools |
| показывать, какие инструменты доступны модели, и отмечать момент вызова | приложению | следует | Tools |
| показывать пользователю параметры до вызова, чтобы данные не утекли незаметно | клиенту | следует | Tools |
| проверять результат инструмента, прежде чем передавать его модели | клиенту | следует | Tools |
| очищать результат инструмента перед выдачей | серверу | обязан | Tools |
| проверять входные и выходные данные шаблонов, чтобы не допустить внедрения | всем | обязаны | Prompts |
| не менять поведение и не принимать решения о безопасности по названию и версии, которые сообщила другая сторона | всем | не следует | базовый протокол |
не загружать автоматически схемы по сетевым ссылкам $ref |
всем | не должны | базовый протокол |
Что делает сам протокол на уровне устройства: сервер не получает всю переписку и не видит другие серверы. Но в контексте модели содержимое разных серверов встречается, и разделить его там протокол не может.
Sampling как отдельный риск
Заголовок раздела «Sampling как отдельный риск»Функция Sampling позволяла серверу просить у клиента ответ языковой модели. В обосновании её перевода в устаревшие (SEP-2577) сказано, что она создаёт поверхность для внедрения инструкций и вывода данных и что отказ от неё этот риск снижает. Статус и сроки - на странице «Что устарело».
Что остаётся на хосте и пользователе
Заголовок раздела «Что остаётся на хосте и пользователе»Это советы по реализации. Правилами MCP они не являются.
- Подключать серверы только из источников, которым вы доверяете, и проверять, что именно запускается.
- Показывать пользователю полное описание инструмента при подключении и при его изменении.
- Требовать подтверждение для действий, которые что-то меняют или отправляют наружу.
- Разделять инструменты, читающие внешние данные, и инструменты с доступом к закрытым данным: вместе они дают путь для вывода информации.
- Выдавать серверу минимально нужные права и области доступа.
- Вести журнал вызовов инструментов.
Что читать дальше
Заголовок раздела «Что читать дальше»- Модель доверия - что протокол определяет, а что нет.
- Защита сервера - обязанности сервера.
- Уязвимости и инциденты - уязвимости в конкретных программах.