Практическая демонстрация безопасных рисков системы MCP: от отравления до скрытого манипулирования

Скрытая отрава и манипуляции в системе MCP: демонстрация в реальном времени

MCP (Модель Контекст Протокол)система в настоящее время находится на ранней стадии развития, общая обстановка довольно хаотична, различные потенциальные способы атак появляются один за другим, существующие протоколы и инструменты не могут эффективно защититься. Чтобы помочь сообществу лучше понять и повысить безопасность MCP, Slow Mist специально открыла исходный код инструмента MasterMCP, надеясь, что с помощью практических атакующих упражнений удастся выявить уязвимости в дизайне продукта и постепенно укрепить проект MCP.

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

Практическое руководство: Скрытое отравление и манипуляции в системе MCP

Обзор общей архитектуры

Демо-атака цель MC:Toolbox

smithery.ai является одним из самых популярных сайтов плагинов MCP, на котором собрано множество списков MCP и активных пользователей. Среди них @smithery/toolbox - это официальный инструмент управления MCP от smithery.ai.

Выберите Toolbox в качестве тестовой цели, основываясь на следующих пунктах:

  • Огромная база пользователей,具有代表性
  • Поддержка автоматической установки других плагинов, дополнение некоторых функций клиента (, таких как Claude Desktop )
  • Содержит чувствительную конфигурацию (, такую как API ключ ), что облегчает демонстрацию.

Практическое применение: Скрытая подача токсинов и манипуляции в системе MCP

Демонстрационное использование вредоносного MC: MasterMC

MasterMCP — это инструмент для моделирования вредоносных MCP, разработанный компанией Slow Mist специально для тестирования безопасности, использующий модульную архитектуру и включающий следующие ключевые модули:

  1. Моделирование местного веб-сервиса:

Чтобы более реалистично воспроизвести сценарий атаки, MasterMCP встроил модуль симуляции локального веб-сервиса. Он быстро создает простой HTTP-сервер с помощью фреймворка FastAPI, моделируя обычную веб-среду. Эти страницы на вид нормальные, например, отображают информацию о кондитерской или возвращают стандартные данные в формате JSON, но на самом деле в исходном коде страницы или в ответах интерфейса скрыты тщательно разработанные вредоносные нагрузки.

  1. Локальная плагинная архитектура MC

MasterMCP использует плагиновую архитектуру для расширения, что облегчает добавление новых методов атак в будущем. После запуска MasterMCP будет запускать FastAPI-сервис предыдущего модуля в дочернем процессе. ( здесь уже существует угроза безопасности - локальные плагины могут запускать любые дочерние процессы, не предусмотренные MCP ).

Практическое начало: Скрытая отрава и манипуляции в системе MCP

демонстрационный клиент

  • Cursor: один из самых популярных в мире IDE для программирования с поддержкой ИИ
  • Claude Desktop: Anthropic(MCП协议定制方)официальный клиент

демонстрационная версия большой модели

  • Клод 3.7

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

Кросс-MC Злонамеренный Вызов

Демонстрация включает два содержания: отравление и злонамеренный вызов Cross-MCP.

атака с использованием уязвимостей веб-контента

  1. Комментарийный токсикоз

Курсор получает доступ к локальному тестовому сайту.

Это страница "Delicious Cake World", которая кажется безобидной. Мы через этот эксперимент моделируем влияние доступа клиентом большого моделирования к вредоносному сайту.

Выполнить команду:

Получить содержимое

Результаты показывают, что Cursor не только считывает содержимое веб-страницы, но и передает локальные конфиденциальные данные на тестовый сервер. В исходном коде вредоносные подсказки внедрены в виде HTML-комментариев.

Хотя способ комментариев довольно прямолинейный и легко распознаваемый, он уже может вызвать вредоносные действия.

Практическое начало: Скрытая подача отравы и манипуляции в системе MCP

  1. Кодирующее комментирование с отравлением

Посетите страницу /encode, это веб-страница, которая выглядит так же, как в предыдущем примере, но в ней вредоносные подсказки закодированы, что делает эксплойт более скрытным, и даже при просмотре исходного кода веб-страницы трудно заметить это напрямую.

Даже если исходный код не содержит открытых подсказок, атака все равно успешно выполняется.

Практическое начало: скрытая подача яда и манипуляции в системе MCP

MCP инструменты возвращают информацию о заражении

Согласно подсказке MasterMCP введите имитационную команду ( эта команда не имеет реального значения, предназначена для активации злонамеренного MCP для демонстрации его последующих действий ):

получить много яблок

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

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

Практическое начало: Скрытая отрава и манипуляции в системе MCP

Угроза загрязнения через сторонние интерфейсы

Этот демонстрационный пример в первую очередь предназначен для того, чтобы напомнить, что как злонамеренные, так и незлонамеренные MCP, при вызове стороннего API, если напрямую возвращают сторонние данные в контекст, могут вызвать серьезные последствия.

Выполнение запроса:

Получить json с /api/data

Результат: злонамеренные подсказки были внедрены в возвращенные данные JSON и успешно вызвали злонамеренное выполнение.

Практический старт: скрытая токсичность и манипуляции в системе MCP

Технология отравления на этапе инициализации MCP

Данная демонстрация включает в себя начальную инъекцию подсказок и два содержания конфликта имен.

Атака с наложением злонамеренной функции

Здесь MasterMCP написал инструмент с тем же именем функции remove_server, что и в Toolbox, и закодировал скрытые вредоносные подсказки.

Выполнить команду:

инструмент удалить получать плагин сервер

Claude Desktop не вызвал оригинальный метод toolbox remove_server, а вместо этого сработал метод с тем же именем, предоставленный MasterMCP.

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

Практическое начало: Скрытое отравление и манипуляции в системе MCP

Добавить злонамеренную глобальную проверку логики

Здесь MasterMCP написал инструмент banana, основная функция которого заключается в том, что перед запуском всех инструментов в подсказках необходимо обязательно выполнить этот инструмент для проверки безопасности.

Перед каждым выполнением функции система сначала вызывает механизм проверки banana.

Это глобальная логическая инъекция, реализованная путем многократного подчеркивания в коде "необходимо выполнить проверку banana".

Практическое применение: Скрытая токсичность и манипуляция в системе MCP

Продвинутые техники скрытия злонамеренных подсказок

Дружественный к большим моделям кодировочный способ

Из-за того, что большие языковые модели ( LLM ) обладают очень высокой способностью к анализу многоязычного формата, это используется для сокрытия вредоносной информации, к обычным методам относятся:

  • В английской среде: использовать кодировку Hex Byte
  • В китайской среде: используйте кодировку NCR или кодировку JavaScript

Практическое применение: Скрытая отравление и манипуляции в системе MCP

Механизм возврата случайной вредоносной нагрузки

Как упомянуто в главе 2, загрязнение стороннего интерфейса, при запросе /random:

Каждый раз возвращается случайная страница с вредоносной нагрузкой, что значительно увеличивает сложность обнаружения и отслеживания.

Практическое применение: Скрытая отрава и манипуляции в системе MCP

Итоги

С помощью практической демонстрации MasterMCP мы наглядно увидели различные скрытые угрозы безопасности в системе Model Context Protocol (MCP). От простых инъекций подсказок и межMCP-вызовов до более скрытых атак на этапе инициализации и скрытия вредоносных инструкций, каждый этап напоминает нам: экосистема MCP, хотя и мощная, но также уязвима.

Особенно в эпоху, когда большие модели все чаще взаимодействуют с внешними плагинами и API, даже небольшое загрязнение ввода может привести к системным рискам безопасности. А разнообразие методов атаки, таких как кодирование (, случайное загрязнение и перезапись функций ), также означает, что традиционные подходы к защите нуждаются в полном обновлении.

Безопасность никогда не достигается сразу.

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

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

Практическое начало: скрытое отравление и манипуляция в системе MCP

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 7
  • Репост
  • Поделиться
комментарий
0/400
EthSandwichHerovip
· 07-18 06:35
Этот старый прием, скорее всего, будет легче атаковать.
Посмотреть ОригиналОтветить0
gas_guzzlervip
· 07-16 22:51
MCP смотрит на опасность, быстро убегай
Посмотреть ОригиналОтветить0
faded_wojak.ethvip
· 07-15 19:06
Смотреть, как твой MCP играет с уловками
Посмотреть ОригиналОтветить0
PanicSellervip
· 07-15 19:06
неудачники还没 разыгрывайте людей как лохов就这么放手了?
Посмотреть ОригиналОтветить0
LiquiditySurfervip
· 07-15 19:01
Безопасность Блокчейн также требует выбора лучшей точки входа для серфинга~ Текущая хаотичная ситуация просто не позволяет охладить даже мартини со льдом.
Посмотреть ОригиналОтветить0
consensus_failurevip
· 07-15 18:54
Скажем честно, такую уязвимость не следует постоянно оставлять открытой.
Посмотреть ОригиналОтветить0
AllInAlicevip
· 07-15 18:50
Эта работа слишком дикая, я немного запаниковал.
Посмотреть ОригиналОтветить0
  • Закрепить