
Критическая уязвимость в интеграции протокола Model Context Protocol (MCP) на GitHub позволяет помощникам по программированию на базе ИИ вытекать данные из приватных репозиториев, сообщила компания Invariant Labs. Эксплойт под названием «Toxic Agent Flow» обманывает агентов через специально подготовленные GitHub Issues и затрагивает такие инструменты, как GitHub Copilot и подключённые экземпляры Claude. Это указывает на серьёзную архитектурную проблему безопасности в быстро растущей экосистеме ИИ‑агентов.
По словам исследователей, корень проблемы заключается не в конкретной ошибке сервера MCP, а в том, как агенты обрабатывают недоверенные внешние данные. Злоумышленники могут помещать так называемые «prompt‑бомбы» в публичных задачах и ждать, пока организационный агент случайно обработает их в ходе рутинных операций.
Invariant Labs продемонстрировала эксплуатацию с использованием модели Claude 4 Opus от Anthropic. Исследование показало, что вредоносный Issue в публичном репозитории может внедрить инструкцию для агента, когда пользователь запрашивает обзор задач.
В результате агент получил доступ к приватной информации репозитория — включая имена участников, детали проектов и предположительные данные о зарплатах — и вывел эти данные, создав новый pull request в публичном репозитории.
Аналитик Саймон Уиллисон охарактеризовал такую атаку как «смертельную триаду» для инъекций подсказок: доступ агента к приватным данным, воздействие вредоносных инструкций и возможность вывода информации. По его мнению, реализация MCP‑сервера GitHub объединяет все три элемента и делает атаку возможной.
Успех эксплойта даже против продвинутых моделей показывает, что одних лишь методов обучения моделей по безопасности недостаточно. Массовое внедрение кодирующих агентов в индустрии делает эту проблему особенно актуальной.
Характер уязвимости носит архитектурный характер, поэтому простая заплатка вряд ли решит проблему целиком; требуется пересмотр подходов к взаимодействию агентов с недоверенными источниками данных. Это означает, что даже при безопасном MCP‑сервере дизайн агентов, способных выполнять действия на основе внешних данных, остаётся критической уязвимостью.
Официальный MCP‑сервер GitHub был выпущен для поддержки самостоятельного размещения расширений, совместимых с Copilot, и ряд крупных компаний приняли или поддержали стандарт MCP с целью унифицировать подключение моделей к инструментам и данным. Целью инициативы было упростить разработку ИИ и заменить многочисленные кастомные интеграции единым стандартом.
Широкое распространение стандарта означает, что архитектурные уязвимости могут иметь масштабные последствия. Функции, которые позволяют агентам выполнять команды терминала и управлять файлами, становятся мощными векторами нападения в случае компрометации агента.
Invariant Labs предложила несколько мер смягчения: внедрение тонкой, зависящей от контекста системы прав доступа, например ограничение агента доступом только к одному репозиторию в рамках одной сессии. Они также настаивают на постоянном мониторинге взаимодействий агентов с MCP‑системами.
В качестве практической меры исследователи представили политики, предназначенные для предотвращения утечек между репозиториями путём обнаружения попыток доступа к разным репозиториям в одной сессии. Эксперты предупреждают, что оптимального решения пока нет и призывают к осторожности при экспериментировании с MCP.
Описанный случай следует за рядом других инцидентов в инструментах для разработчиков и подчёркивает необходимость комплексного подхода к безопасности ИИ‑систем. Необходимо защищать не только сами модели, но и архитектуру агентов и точки их взаимодействия с внешними данными и сервисами.


Комментариев