Скрытая отрава и манипуляции в системе MCP: демонстрация в реальном времени
MCP (Модель Контекст Протокол)система в настоящее время находится на ранней стадии развития, общая обстановка довольно хаотична, различные потенциальные способы атак появляются один за другим, существующие протоколы и инструменты не могут эффективно защититься. Чтобы помочь сообществу лучше понять и повысить безопасность MCP, Slow Mist специально открыла исходный код инструмента MasterMCP, надеясь, что с помощью практических атакующих упражнений удастся выявить уязвимости в дизайне продукта и постепенно укрепить проект MCP.
В этой статье мы продемонстрируем на практике распространенные методы атак в системе MCP, такие как отравление информации, скрытые вредоносные команды и другие реальные примеры. Все демонстрационные скрипты также будут открыты, и все смогут полностью воспроизвести весь процесс в безопасной среде, даже разработать свои собственные плагины для тестирования атак на основе этих скриптов.
Обзор общей архитектуры
Демо-атака цель MC:Toolbox
smithery.ai является одним из самых популярных сайтов плагинов MCP, на котором собрано множество списков MCP и активных пользователей. Среди них @smithery/toolbox - это официальный инструмент управления MCP от smithery.ai.
Выберите Toolbox в качестве тестовой цели, основываясь на следующих пунктах:
Огромная база пользователей,具有代表性
Поддержка автоматической установки других плагинов, дополнение некоторых функций клиента (, таких как Claude Desktop )
Содержит чувствительную конфигурацию (, такую как API ключ ), что облегчает демонстрацию.
Демонстрационное использование вредоносного MC: MasterMC
MasterMCP — это инструмент для моделирования вредоносных MCP, разработанный компанией Slow Mist специально для тестирования безопасности, использующий модульную архитектуру и включающий следующие ключевые модули:
Моделирование местного веб-сервиса:
Чтобы более реалистично воспроизвести сценарий атаки, MasterMCP встроил модуль симуляции локального веб-сервиса. Он быстро создает простой HTTP-сервер с помощью фреймворка FastAPI, моделируя обычную веб-среду. Эти страницы на вид нормальные, например, отображают информацию о кондитерской или возвращают стандартные данные в формате JSON, но на самом деле в исходном коде страницы или в ответах интерфейса скрыты тщательно разработанные вредоносные нагрузки.
Локальная плагинная архитектура MC
MasterMCP использует плагиновую архитектуру для расширения, что облегчает добавление новых методов атак в будущем. После запуска MasterMCP будет запускать FastAPI-сервис предыдущего модуля в дочернем процессе. ( здесь уже существует угроза безопасности - локальные плагины могут запускать любые дочерние процессы, не предусмотренные MCP ).
демонстрационный клиент
Cursor: один из самых популярных в мире IDE для программирования с поддержкой ИИ
Claude Desktop: Anthropic(MCП协议定制方)официальный клиент
демонстрационная версия большой модели
Клод 3.7
Выберите версию Claude 3.7, так как в ней уже были сделаны определенные улучшения в распознавании чувствительных операций, и она представляет собой сильную операционную способность в текущей экосистеме MCP.
Кросс-MC Злонамеренный Вызов
Демонстрация включает два содержания: отравление и злонамеренный вызов Cross-MCP.
атака с использованием уязвимостей веб-контента
Комментарийный токсикоз
Курсор получает доступ к локальному тестовому сайту.
Это страница "Delicious Cake World", которая кажется безобидной. Мы через этот эксперимент моделируем влияние доступа клиентом большого моделирования к вредоносному сайту.
Выполнить команду:
Получить содержимое
Результаты показывают, что Cursor не только считывает содержимое веб-страницы, но и передает локальные конфиденциальные данные на тестовый сервер. В исходном коде вредоносные подсказки внедрены в виде HTML-комментариев.
Хотя способ комментариев довольно прямолинейный и легко распознаваемый, он уже может вызвать вредоносные действия.
Кодирующее комментирование с отравлением
Посетите страницу /encode, это веб-страница, которая выглядит так же, как в предыдущем примере, но в ней вредоносные подсказки закодированы, что делает эксплойт более скрытным, и даже при просмотре исходного кода веб-страницы трудно заметить это напрямую.
Даже если исходный код не содержит открытых подсказок, атака все равно успешно выполняется.
MCP инструменты возвращают информацию о заражении
Согласно подсказке MasterMCP введите имитационную команду ( эта команда не имеет реального значения, предназначена для активации злонамеренного MCP для демонстрации его последующих действий ):
получить много яблок
Можно увидеть, что после срабатывания команды клиент вызвал Toolbox через MCP и успешно добавил новый сервер MCP.
Посмотрев код плагина, можно обнаружить, что в возвращаемых данных уже внедрён закодированный вредоносный полезный груз, который пользователь практически не может заметить.
Угроза загрязнения через сторонние интерфейсы
Этот демонстрационный пример в первую очередь предназначен для того, чтобы напомнить, что как злонамеренные, так и незлонамеренные MCP, при вызове стороннего API, если напрямую возвращают сторонние данные в контекст, могут вызвать серьезные последствия.
Выполнение запроса:
Получить json с /api/data
Результат: злонамеренные подсказки были внедрены в возвращенные данные JSON и успешно вызвали злонамеренное выполнение.
Технология отравления на этапе инициализации MCP
Данная демонстрация включает в себя начальную инъекцию подсказок и два содержания конфликта имен.
Атака с наложением злонамеренной функции
Здесь MasterMCP написал инструмент с тем же именем функции remove_server, что и в Toolbox, и закодировал скрытые вредоносные подсказки.
Выполнить команду:
инструмент удалить получать плагин сервер
Claude Desktop не вызвал оригинальный метод toolbox remove_server, а вместо этого сработал метод с тем же именем, предоставленный MasterMCP.
Принцип заключается в том, чтобы подчеркнуть, что "предыдущий метод отменен", и приоритетно побуждать большую модель вызывать функции с вредоносным перекрытием.
Добавить злонамеренную глобальную проверку логики
Здесь MasterMCP написал инструмент banana, основная функция которого заключается в том, что перед запуском всех инструментов в подсказках необходимо обязательно выполнить этот инструмент для проверки безопасности.
Перед каждым выполнением функции система сначала вызывает механизм проверки banana.
Это глобальная логическая инъекция, реализованная путем многократного подчеркивания в коде "необходимо выполнить проверку banana".
Продвинутые техники скрытия злонамеренных подсказок
Дружественный к большим моделям кодировочный способ
Из-за того, что большие языковые модели ( LLM ) обладают очень высокой способностью к анализу многоязычного формата, это используется для сокрытия вредоносной информации, к обычным методам относятся:
В английской среде: использовать кодировку Hex Byte
В китайской среде: используйте кодировку NCR или кодировку JavaScript
Механизм возврата случайной вредоносной нагрузки
Как упомянуто в главе 2, загрязнение стороннего интерфейса, при запросе /random:
Каждый раз возвращается случайная страница с вредоносной нагрузкой, что значительно увеличивает сложность обнаружения и отслеживания.
Итоги
С помощью практической демонстрации MasterMCP мы наглядно увидели различные скрытые угрозы безопасности в системе Model Context Protocol (MCP). От простых инъекций подсказок и межMCP-вызовов до более скрытых атак на этапе инициализации и скрытия вредоносных инструкций, каждый этап напоминает нам: экосистема MCP, хотя и мощная, но также уязвима.
Особенно в эпоху, когда большие модели все чаще взаимодействуют с внешними плагинами и API, даже небольшое загрязнение ввода может привести к системным рискам безопасности. А разнообразие методов атаки, таких как кодирование (, случайное загрязнение и перезапись функций ), также означает, что традиционные подходы к защите нуждаются в полном обновлении.
Безопасность никогда не достигается сразу.
Надеюсь, что эта демонстрация сможет предупредить всех: как разработчики, так и пользователи должны проявлять достаточную бдительность к системе MCP, постоянно следя за каждым взаимодействием, каждой строкой кода и каждым возвращаемым значением. Только уделяя внимание каждой детали, мы сможем действительно создать стабильную и безопасную среду MCP.
В следующем шаге мы также будем продолжать совершенствовать скрипт MasterMCP, открывая больше целевых тестовых случаев, чтобы помочь всем глубже понять, отработать и усилить защиту в безопасной среде.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
23 Лайков
Награда
23
7
Репост
Поделиться
комментарий
0/400
EthSandwichHero
· 07-18 06:35
Этот старый прием, скорее всего, будет легче атаковать.
Посмотреть ОригиналОтветить0
gas_guzzler
· 07-16 22:51
MCP смотрит на опасность, быстро убегай
Посмотреть ОригиналОтветить0
faded_wojak.eth
· 07-15 19:06
Смотреть, как твой MCP играет с уловками
Посмотреть ОригиналОтветить0
PanicSeller
· 07-15 19:06
неудачники还没 разыгрывайте людей как лохов就这么放手了?
Посмотреть ОригиналОтветить0
LiquiditySurfer
· 07-15 19:01
Безопасность Блокчейн также требует выбора лучшей точки входа для серфинга~ Текущая хаотичная ситуация просто не позволяет охладить даже мартини со льдом.
Посмотреть ОригиналОтветить0
consensus_failure
· 07-15 18:54
Скажем честно, такую уязвимость не следует постоянно оставлять открытой.
Практическая демонстрация безопасных рисков системы MCP: от отравления до скрытого манипулирования
Скрытая отрава и манипуляции в системе MCP: демонстрация в реальном времени
MCP (Модель Контекст Протокол)система в настоящее время находится на ранней стадии развития, общая обстановка довольно хаотична, различные потенциальные способы атак появляются один за другим, существующие протоколы и инструменты не могут эффективно защититься. Чтобы помочь сообществу лучше понять и повысить безопасность MCP, Slow Mist специально открыла исходный код инструмента MasterMCP, надеясь, что с помощью практических атакующих упражнений удастся выявить уязвимости в дизайне продукта и постепенно укрепить проект MCP.
В этой статье мы продемонстрируем на практике распространенные методы атак в системе MCP, такие как отравление информации, скрытые вредоносные команды и другие реальные примеры. Все демонстрационные скрипты также будут открыты, и все смогут полностью воспроизвести весь процесс в безопасной среде, даже разработать свои собственные плагины для тестирования атак на основе этих скриптов.
Обзор общей архитектуры
Демо-атака цель MC:Toolbox
smithery.ai является одним из самых популярных сайтов плагинов MCP, на котором собрано множество списков MCP и активных пользователей. Среди них @smithery/toolbox - это официальный инструмент управления MCP от smithery.ai.
Выберите Toolbox в качестве тестовой цели, основываясь на следующих пунктах:
Демонстрационное использование вредоносного MC: MasterMC
MasterMCP — это инструмент для моделирования вредоносных MCP, разработанный компанией Slow Mist специально для тестирования безопасности, использующий модульную архитектуру и включающий следующие ключевые модули:
Чтобы более реалистично воспроизвести сценарий атаки, MasterMCP встроил модуль симуляции локального веб-сервиса. Он быстро создает простой HTTP-сервер с помощью фреймворка FastAPI, моделируя обычную веб-среду. Эти страницы на вид нормальные, например, отображают информацию о кондитерской или возвращают стандартные данные в формате JSON, но на самом деле в исходном коде страницы или в ответах интерфейса скрыты тщательно разработанные вредоносные нагрузки.
MasterMCP использует плагиновую архитектуру для расширения, что облегчает добавление новых методов атак в будущем. После запуска MasterMCP будет запускать FastAPI-сервис предыдущего модуля в дочернем процессе. ( здесь уже существует угроза безопасности - локальные плагины могут запускать любые дочерние процессы, не предусмотренные MCP ).
демонстрационный клиент
демонстрационная версия большой модели
Выберите версию Claude 3.7, так как в ней уже были сделаны определенные улучшения в распознавании чувствительных операций, и она представляет собой сильную операционную способность в текущей экосистеме MCP.
Кросс-MC Злонамеренный Вызов
Демонстрация включает два содержания: отравление и злонамеренный вызов Cross-MCP.
атака с использованием уязвимостей веб-контента
Курсор получает доступ к локальному тестовому сайту.
Это страница "Delicious Cake World", которая кажется безобидной. Мы через этот эксперимент моделируем влияние доступа клиентом большого моделирования к вредоносному сайту.
Выполнить команду:
Получить содержимое
Результаты показывают, что Cursor не только считывает содержимое веб-страницы, но и передает локальные конфиденциальные данные на тестовый сервер. В исходном коде вредоносные подсказки внедрены в виде HTML-комментариев.
Хотя способ комментариев довольно прямолинейный и легко распознаваемый, он уже может вызвать вредоносные действия.
Посетите страницу /encode, это веб-страница, которая выглядит так же, как в предыдущем примере, но в ней вредоносные подсказки закодированы, что делает эксплойт более скрытным, и даже при просмотре исходного кода веб-страницы трудно заметить это напрямую.
Даже если исходный код не содержит открытых подсказок, атака все равно успешно выполняется.
MCP инструменты возвращают информацию о заражении
Согласно подсказке MasterMCP введите имитационную команду ( эта команда не имеет реального значения, предназначена для активации злонамеренного MCP для демонстрации его последующих действий ):
получить много яблок
Можно увидеть, что после срабатывания команды клиент вызвал Toolbox через MCP и успешно добавил новый сервер MCP.
Посмотрев код плагина, можно обнаружить, что в возвращаемых данных уже внедрён закодированный вредоносный полезный груз, который пользователь практически не может заметить.
Угроза загрязнения через сторонние интерфейсы
Этот демонстрационный пример в первую очередь предназначен для того, чтобы напомнить, что как злонамеренные, так и незлонамеренные MCP, при вызове стороннего API, если напрямую возвращают сторонние данные в контекст, могут вызвать серьезные последствия.
Выполнение запроса:
Получить json с /api/data
Результат: злонамеренные подсказки были внедрены в возвращенные данные JSON и успешно вызвали злонамеренное выполнение.
Технология отравления на этапе инициализации MCP
Данная демонстрация включает в себя начальную инъекцию подсказок и два содержания конфликта имен.
Атака с наложением злонамеренной функции
Здесь MasterMCP написал инструмент с тем же именем функции remove_server, что и в Toolbox, и закодировал скрытые вредоносные подсказки.
Выполнить команду:
инструмент удалить получать плагин сервер
Claude Desktop не вызвал оригинальный метод toolbox remove_server, а вместо этого сработал метод с тем же именем, предоставленный MasterMCP.
Принцип заключается в том, чтобы подчеркнуть, что "предыдущий метод отменен", и приоритетно побуждать большую модель вызывать функции с вредоносным перекрытием.
Добавить злонамеренную глобальную проверку логики
Здесь MasterMCP написал инструмент banana, основная функция которого заключается в том, что перед запуском всех инструментов в подсказках необходимо обязательно выполнить этот инструмент для проверки безопасности.
Перед каждым выполнением функции система сначала вызывает механизм проверки banana.
Это глобальная логическая инъекция, реализованная путем многократного подчеркивания в коде "необходимо выполнить проверку banana".
Продвинутые техники скрытия злонамеренных подсказок
Дружественный к большим моделям кодировочный способ
Из-за того, что большие языковые модели ( LLM ) обладают очень высокой способностью к анализу многоязычного формата, это используется для сокрытия вредоносной информации, к обычным методам относятся:
Механизм возврата случайной вредоносной нагрузки
Как упомянуто в главе 2, загрязнение стороннего интерфейса, при запросе /random:
Каждый раз возвращается случайная страница с вредоносной нагрузкой, что значительно увеличивает сложность обнаружения и отслеживания.
Итоги
С помощью практической демонстрации MasterMCP мы наглядно увидели различные скрытые угрозы безопасности в системе Model Context Protocol (MCP). От простых инъекций подсказок и межMCP-вызовов до более скрытых атак на этапе инициализации и скрытия вредоносных инструкций, каждый этап напоминает нам: экосистема MCP, хотя и мощная, но также уязвима.
Особенно в эпоху, когда большие модели все чаще взаимодействуют с внешними плагинами и API, даже небольшое загрязнение ввода может привести к системным рискам безопасности. А разнообразие методов атаки, таких как кодирование (, случайное загрязнение и перезапись функций ), также означает, что традиционные подходы к защите нуждаются в полном обновлении.
Безопасность никогда не достигается сразу.
Надеюсь, что эта демонстрация сможет предупредить всех: как разработчики, так и пользователи должны проявлять достаточную бдительность к системе MCP, постоянно следя за каждым взаимодействием, каждой строкой кода и каждым возвращаемым значением. Только уделяя внимание каждой детали, мы сможем действительно создать стабильную и безопасную среду MCP.
В следующем шаге мы также будем продолжать совершенствовать скрипт MasterMCP, открывая больше целевых тестовых случаев, чтобы помочь всем глубже понять, отработать и усилить защиту в безопасной среде.