GhostSplice показал риск утечки секретов через вредоносные MCP-серверы

Исследовательская группа ASSET описала технику GhostSplice, при которой вредоносный сервер Model Context Protocol (MCP) может склонить ИИ-агента для программирования к передаче SSH-ключей, переменных окружения, исходного кода и клиентских данных. В контролируемых изолированных проектах с тестовыми учётными данными разделение инструкции на два фрагмента повысило среднюю подчиняемость 11 API-моделей с 42% до 82%.
MCP — открытый стандарт, через который ИИ-ассистенты вызывают внешние инструменты. Атака не означает удалённый взлом произвольного агента: разработчик должен заранее подключить сервер злоумышленника, а агент уже должен иметь права на чтение целевых файлов.
Как работает разделённая инструкция
В демонстрационной реализации сервер предлагает внешне безобидный инструмент integrity_checker с четырьмя полями — alpha, beta, gamma и delta. В его описании нет названий конфиденциальных файлов и прямого требования передать данные.
Недостающая часть появляется позднее, в результате сканирования проекта. Она сопоставляет поля с содержимым .ssh/id_rsa, проприетарного исходного кода, customers.csv и .env, объясняя это «серверной проверкой хеша». Каждый фрагмент отдельно выглядит рутинно, но в общем рабочем контексте агент может объединить их и вызвать инструмент с секретами.
ASSET также опубликовала вариант из трёх взаимодействий: отдельно передаются перечень файлов проекта, сопоставление файлов с полями и инструмент для сбора данных. Авторы отмечают, что простая форма для заполнения оказалась сложнее для модели в плане распознавания подвоха, чем развёрнутые объяснения о соответствии требованиям или управлении данными.
Результаты зависят от клиента и защитного контура
Опубликованные результаты нельзя трактовать как общий рейтинг безопасности моделей. GPT-4o, Gemini 2.0 Flash и Llama 3.3 70B в тесте с цельной инструкцией показали 0%, а при разделении на две части — 100%. Claude Haiku 4.5 сохранила 0% в API-тестах, но достигла 100% в трёхчастном сценарии в Cursor.
Одна и та же модель в разных клиентах вела себя по-разному. Для GPT-5.4 ASSET указала 90% в Cursor и 100% через Codex CLI, тогда как за Claude Code показатель составил 0%. Claude Sonnet 4.6 и Opus 4.6 имеют 0% в опубликованной таблице, однако Sonnet в одном опыте всё же передала проприетарный код с действующим жёстко заданным ключом, скрыв более очевидные секреты.
Этот сценарий дополняет инциденты с агентами ИИ и ClickFix и показывает, что защита зависит не только от самой модели, но и от того, как клиент обрабатывает контент подключённых инструментов. Спецификация MCP рекомендует сохранять за человеком возможность отклонить вызов инструмента и не доверять аннотациям непроверенных серверов.
Что проверить командам разработки
Практическая мера ASSET — воспринимать вывод сервера как данные, а не как инструкции для агента. Значения из ответа одного инструмента не должны без проверки попадать в аргументы другого. OpenAI также советует организациям оценивать собственные и сторонние MCP-интеграции, поскольку небезопасные серверы повышают риск prompt injection.
Для бизнеса это означает необходимость инвентаризировать подключённые MCP-серверы, ограничить права агентов на чтение чувствительных файлов и оставить подтверждение рискованных вызовов за человеком. Такие меры адресуют именно условия GhostSplice: доверенный пользователем внешний сервер, доступ агента к локальным данным и неконтролируемая передача контекста между инструментами.

