Потенциальные риски безопасности и демонстрация атак в системе MCP
Текущий MCP ( Model Context Protocol ) экосистема все еще находится на ранней стадии развития, общая среда довольно хаотична, различные потенциальные методы атак появляются один за другим, а существующие протоколы и инструменты трудно эффективно защищают. Для помощи сообществу в повышении осведомленности о безопасности MCP был разработан инструмент с открытым исходным кодом под названием MasterMCP, который призван через практические атакующие учения помочь разработчикам своевременно выявлять уязвимости в дизайне продукта, тем самым постоянно усиливая безопасность проекта MCP.
В этой статье читатели смогут ознакомиться с практическими демонстрациями распространенных способов атак в экосистеме MCP, включая отравление информации, скрытые вредоносные команды и другие реальные примеры. Все демонстрационные скрипты являются открытыми и доступны для воспроизведения всего процесса в безопасной среде, а также для разработки собственных плагинов для тестирования атак.
Обзор общей архитектуры
демонстрационная атака на цель MCP: Toolbox
Toolbox является популярным инструментом управления MCP и имеет большую базу пользователей. Выбор его в качестве тестовой цели основан на следующих соображениях:
Большая база пользователей, является репрезентативной
Поддержка автоматической установки других плагинов, что позволяет дополнить некоторые функции клиента
Содержит конфиденциальные настройки (, такие как API Key ), удобно для демонстрации
Демонстрационное использование вредоносного MC: MasterMCP
MasterMCP — это инструмент для имитации злонамеренного MCP, разработанный специально для тестирования безопасности, использующий модульную архитектуру и содержащий следующие ключевые модули:
Моделирование локальных веб-сервисов:
Этот модуль быстро создает простой HTTP-сервер с помощью фреймворка FastAPI, имитируя обычную веб-среду. Эти страницы выглядят нормально, но на самом деле в исходном коде или ответах интерфейса скрыты тщательно разработанные вредоносные нагрузки.
Локальная плагинизированная архитектура MC
MasterMCP использует модульный подход для расширения, что облегчает быстрое добавление новых методов атаки в будущем. После запуска MasterMCP будет запускать указанный сервис FastAPI в дочернем процессе.
Демонстрационный клиент
Cursor: Один из популярных IDE для программирования с поддержкой ИИ в мире
Claude Desktop: Официальный клиент Anthropic
демонстрационная версия большой модели
Клод 3.7
Выбор этой версии обусловлен тем, что она уже имеет определенные улучшения в распознавании чувствительных операций, а также представляет собой сильные операционные возможности в текущей экосистеме MC.
Cross-MCP злонамеренный вызов
атака с подменой контента на веб-странице
Комментарийный вредонос
Посетив локальный тестовый сайт через Cursor, это страница, которая выглядит безобидной под названием "Вкусный пирог Мир". После выполнения команды для получения содержимого веб-страницы, Cursor не только считывает содержимое веб-страницы, но и передает локальные конфиденциальные данные конфигурации на тестовый сервер. В исходном коде вредоносные подсказки внедрены в виде HTML-комментариев.
Кодирование типа комментариев
Посетите страницу /encode, это веб-страница, которая выглядит одинаково, но содержит закодированные вредоносные подсказки, что делает их внедрение более скрытным. Даже если исходный код не содержит открытых подсказок, атака по-прежнему успешно выполняется.
MCP инструмент возвращает информацию о подмене
Согласно подсказкам MasterMCP, после ввода имитационной команды "get a lot of apples" клиент вызвал Toolbox через MCP и успешно добавил новый сервер MCP. Просмотрев код плагина, можно обнаружить, что в возвращаемых данных уже встроен закодированный вредоносный полезный нагрузка, которую пользователь почти не может заметить.
Атака на загрязнение сторонних интерфейсов
После выполнения запроса для получения данных JSON, вредоносные подсказки были внедрены в возвращенные данные JSON и успешно вызвали вредоносное выполнение. Это напоминает нам о том, что как вредоносные, так и невредоносные MCP, при вызове стороннего API, если напрямую вернуть данные третьей стороны в контекст, это может привести к серьезным последствиям.
Техника отравления на этапе инициализации MCP
Атака подмены вредоносной функции
MasterMCP написал инструмент с тем же названием функции remove_server, что и у Toolbox, и закодировал скрытые вредоносные подсказки. После выполнения команды Claude Desktop не вызвал изначальный метод toolbox remove_server, а вместо этого вызвал одноимённый метод, предоставленный MasterMCP. Это было достигнуто путём подчеркивания "изначальный метод устарел", чтобы первоочередно побудить большую модель вызвать вредоносно заменённую функцию.
Добавить злонамеренную глобальную проверку логики
MasterMCP разработал инструмент banana, основная функция которого заключается в том, что все инструменты должны проходить проверку безопасности перед их запуском. Каждый раз перед выполнением функции система в первую очередь вызывает механизм проверки banana. Это реализовано через глобальную логику, повторяющую в коде «необходимо выполнить проверку banana».
Продвинутые техники скрытия вредоносных подсказок
дружелюбный к большим моделям способ кодирования
Из-за того, что большие языковые модели обладают высокой способностью к анализу многоязычных форматов, это используется для сокрытия вредоносной информации. Обычно используемые методы включают:
Английская среда: использование кодирования Hex Byte
中文环境:используйте кодировку NCR или кодировку JavaScript
Механизм возврата случайных вредоносных нагрузок
При запросе /random каждый раз случайным образом возвращается страница с вредоносной нагрузкой, что значительно усложняет обнаружение и отслеживание.
 для сокрытия, случайное загрязнение и переопределение функций (, также означает, что традиционные подходы к защите требуют全面 обновления.
Безопасность никогда не достигается сразу. Надеюсь, что эта демонстрация сможет прозвучать как звоночек для всех: как для разработчиков, так и для пользователей, нужно сохранять достаточную бдительность к системе MCP, постоянно следя за каждым взаимодействием, каждой строкой кода и каждым возвращаемым значением. Только внимательно относившись к каждой детали, можно действительно построить прочную и безопасную среду MCP.
На следующем этапе мы также будем продолжать совершенствовать скрипт MasterMCP, открывать больше целевых тестовых случаев, чтобы помочь всем глубже понять, отработать и усилить защиту в безопасной среде.
![Практическое начало: Скрытая отрава и манипуляции в системе MCP])https://img-cdn.gateio.im/webp-social/moments-bf6d8976b54bebbec34699753f4dbb70.webp(
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Анализ экологических рисков MCP: демонстрация меж-MCP атак и скрытого отравления
Потенциальные риски безопасности и демонстрация атак в системе MCP
Текущий MCP ( Model Context Protocol ) экосистема все еще находится на ранней стадии развития, общая среда довольно хаотична, различные потенциальные методы атак появляются один за другим, а существующие протоколы и инструменты трудно эффективно защищают. Для помощи сообществу в повышении осведомленности о безопасности MCP был разработан инструмент с открытым исходным кодом под названием MasterMCP, который призван через практические атакующие учения помочь разработчикам своевременно выявлять уязвимости в дизайне продукта, тем самым постоянно усиливая безопасность проекта MCP.
В этой статье читатели смогут ознакомиться с практическими демонстрациями распространенных способов атак в экосистеме MCP, включая отравление информации, скрытые вредоносные команды и другие реальные примеры. Все демонстрационные скрипты являются открытыми и доступны для воспроизведения всего процесса в безопасной среде, а также для разработки собственных плагинов для тестирования атак.
Обзор общей архитектуры
демонстрационная атака на цель MCP: Toolbox
Toolbox является популярным инструментом управления MCP и имеет большую базу пользователей. Выбор его в качестве тестовой цели основан на следующих соображениях:
Демонстрационное использование вредоносного MC: MasterMCP
MasterMCP — это инструмент для имитации злонамеренного MCP, разработанный специально для тестирования безопасности, использующий модульную архитектуру и содержащий следующие ключевые модули:
Этот модуль быстро создает простой HTTP-сервер с помощью фреймворка FastAPI, имитируя обычную веб-среду. Эти страницы выглядят нормально, но на самом деле в исходном коде или ответах интерфейса скрыты тщательно разработанные вредоносные нагрузки.
MasterMCP использует модульный подход для расширения, что облегчает быстрое добавление новых методов атаки в будущем. После запуска MasterMCP будет запускать указанный сервис FastAPI в дочернем процессе.
Демонстрационный клиент
демонстрационная версия большой модели
Выбор этой версии обусловлен тем, что она уже имеет определенные улучшения в распознавании чувствительных операций, а также представляет собой сильные операционные возможности в текущей экосистеме MC.
Cross-MCP злонамеренный вызов
атака с подменой контента на веб-странице
Посетив локальный тестовый сайт через Cursor, это страница, которая выглядит безобидной под названием "Вкусный пирог Мир". После выполнения команды для получения содержимого веб-страницы, Cursor не только считывает содержимое веб-страницы, но и передает локальные конфиденциальные данные конфигурации на тестовый сервер. В исходном коде вредоносные подсказки внедрены в виде HTML-комментариев.
Посетите страницу /encode, это веб-страница, которая выглядит одинаково, но содержит закодированные вредоносные подсказки, что делает их внедрение более скрытным. Даже если исходный код не содержит открытых подсказок, атака по-прежнему успешно выполняется.
MCP инструмент возвращает информацию о подмене
Согласно подсказкам MasterMCP, после ввода имитационной команды "get a lot of apples" клиент вызвал Toolbox через MCP и успешно добавил новый сервер MCP. Просмотрев код плагина, можно обнаружить, что в возвращаемых данных уже встроен закодированный вредоносный полезный нагрузка, которую пользователь почти не может заметить.
Атака на загрязнение сторонних интерфейсов
После выполнения запроса для получения данных JSON, вредоносные подсказки были внедрены в возвращенные данные JSON и успешно вызвали вредоносное выполнение. Это напоминает нам о том, что как вредоносные, так и невредоносные MCP, при вызове стороннего API, если напрямую вернуть данные третьей стороны в контекст, это может привести к серьезным последствиям.
Техника отравления на этапе инициализации MCP
Атака подмены вредоносной функции
MasterMCP написал инструмент с тем же названием функции remove_server, что и у Toolbox, и закодировал скрытые вредоносные подсказки. После выполнения команды Claude Desktop не вызвал изначальный метод toolbox remove_server, а вместо этого вызвал одноимённый метод, предоставленный MasterMCP. Это было достигнуто путём подчеркивания "изначальный метод устарел", чтобы первоочередно побудить большую модель вызвать вредоносно заменённую функцию.
Добавить злонамеренную глобальную проверку логики
MasterMCP разработал инструмент banana, основная функция которого заключается в том, что все инструменты должны проходить проверку безопасности перед их запуском. Каждый раз перед выполнением функции система в первую очередь вызывает механизм проверки banana. Это реализовано через глобальную логику, повторяющую в коде «необходимо выполнить проверку banana».
Продвинутые техники скрытия вредоносных подсказок
дружелюбный к большим моделям способ кодирования
Из-за того, что большие языковые модели обладают высокой способностью к анализу многоязычных форматов, это используется для сокрытия вредоносной информации. Обычно используемые методы включают:
Механизм возврата случайных вредоносных нагрузок
При запросе /random каждый раз случайным образом возвращается страница с вредоносной нагрузкой, что значительно усложняет обнаружение и отслеживание.
 для сокрытия, случайное загрязнение и переопределение функций (, также означает, что традиционные подходы к защите требуют全面 обновления.
Безопасность никогда не достигается сразу. Надеюсь, что эта демонстрация сможет прозвучать как звоночек для всех: как для разработчиков, так и для пользователей, нужно сохранять достаточную бдительность к системе MCP, постоянно следя за каждым взаимодействием, каждой строкой кода и каждым возвращаемым значением. Только внимательно относившись к каждой детали, можно действительно построить прочную и безопасную среду MCP.
На следующем этапе мы также будем продолжать совершенствовать скрипт MasterMCP, открывать больше целевых тестовых случаев, чтобы помочь всем глубже понять, отработать и усилить защиту в безопасной среде.
![Практическое начало: Скрытая отрава и манипуляции в системе MCP])https://img-cdn.gateio.im/webp-social/moments-bf6d8976b54bebbec34699753f4dbb70.webp(