Почему доверие между ИИ-агентами не заменяет проверку запросов

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

Пример уязвимости

В реализации MCP Toolbox была выявлена SSRF-уязвимость в HTTP-компонентах, связанная с недостаточным контролем перенаправлений и целевых IP-адресов в ряде версий. Это могло позволить направить исходящий запрос сервера к внутреннему или другому неразрешённому ресурсу. Такой запрос использует сетевые возможности сервера, а не только права пользователя перед интерфейсом.

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

Где проходит граница доверия

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

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

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