MCP (Модель Контекста Протокола) система сейчас находится на ранней стадии развития, общая среда довольно хаотична, различные потенциальные способы атак появляются один за другим, существующие протоколы и инструменты трудно эффективно защищаться. Чтобы повысить безопасность MCP, SlowMist опубликовала открытый инструмент MasterMCP, который через практические учения по атакам помогает выявить уязвимости в дизайне продукта, тем самым укрепляя проект MCP.
В данной статье будут продемонстрированы распространенные способы атак в рамках системы MCP, такие как отравление информации, скрытие вредоносных команд и другие реальные примеры. Все демонстрационные скрипты также будут открыты на GitHub, чтобы все могли воспроизвести весь процесс в безопасной среде и даже разработать свои собственные плагины для тестирования атак.
Обзор общей архитектуры
Демонстрационная цель атаки MCP: Toolbox
smithery.ai является одним из популярных сайтов плагинов MCP, собирающих большое количество списков MCP и активных пользователей. Среди них @smithery/toolbox является официальным инструментом управления MCP.
Выбор Toolbox в качестве тестовой цели основан на:
Огромная пользовательская база, обладает представительным характером
Поддержка автоматической установки других плагинов, дополнение некоторых функций клиента
Содержит конфиденциальные настройки (, такие как API Key ), для удобства демонстрации
демонстрационное использование злонамеренного MC:MasterMC
MasterMCP — это инструмент для моделирования вредоносного MCP, разработанный компанией SlowMist специально для тестирования безопасности. Он имеет модульную архитектуру и включает в себя следующие ключевые модули:
Моделирование местных веб-сервисов:
Модуль симуляции встроенного локального веб-сервиса MasterMCP позволяет быстро создать простой HTTP-сервер с помощью фреймворка FastAPI, имитируя распространённую веб-окружение. Эти страницы выглядят нормально, но на самом деле в исходном коде или ответах интерфейса скрыты тщательно разработанные вредоносные нагрузки.
Локальная плагинная архитектура MCP
MasterMCP использует модульный подход для расширения, что упрощает быструю добавку новых методов атаки. После запуска MasterMCP будет работать в дочернем процессе с FastAPI сервисом предыдущего модуля.
демонстрационный клиент
Cursor: Один из самых популярных в мире AI-ассистированных IDE для программирования
Claude Desktop:официальный клиент Anthropic
демонстрационная версия большого модели
Клод 3.7
Выберите версию Claude 3.7, поскольку в ней уже улучшено распознавание чувствительных операций и она представляет собой сильные операционные возможности в текущей экосистеме MCP.
Кросс-MC Злонамеренный Вызов
Демонстрация включает в себя два содержания: отравление и злонамеренные вызовы Cross-MCP.
атака на веб-контент с использованием ядовитого кода
Комментарийный отравление
Курсор получает доступ к локальному тестовому сайту, это страница "Delicious Cake World", которая кажется безобидной.
Выполнить команду:
Получить содержимое
Результаты показывают, что Cursor не только считывает содержимое веб-страницы, но и передает локальные конфиденциальные конфигурационные данные на тестовый сервер. В исходном коде вредоносные подсказки внедрены в виде HTML-комментариев.
Кодируемый комментарий отравление
Посетите страницу /encode, это веб-страница, которая выглядит аналогично, но вредоносные подсказки закодированы, что делает атаку эксплойтов более скрытной, и даже при просмотре исходного кода веб-страницы трудно заметить это напрямую.
Даже если исходный код не содержит открытых подсказок, атака все равно успешно выполняется.
Атака с использованием загрязненных сторонних интерфейсов
Этот демонстрационный материал в основном напоминает, что независимо от того, является ли MCP злонамеренным или незлонамеренным, при вызове стороннего API, если данные от третьей стороны будут напрямую возвращены в контекст, это может вызвать серьезные последствия.
Выполнение запроса:
Получить json из /api/data
Результат: злонамеренные подсказки были внедрены в возвращенные данные JSON и успешно вызвали вредоносное выполнение.
Технология отравления на этапе инициализации MCP
Эта демонстрация включает в себя два аспекта: инъекцию начальных подсказок и конфликт имен.
атака на перекрытие злонамеренной функции
MasterMCP создал инструмент с тем же именем функции remove_server, что и Toolbox, и закодировал скрытые вредоносные подсказки.
Claude Desktop не вызвал оригинальный метод toolbox remove_server, а вместо этого вызвал метод с тем же именем, предоставленный MasterMCP.
Принцип заключается в том, чтобы подчеркнуть, что "существующий метод устарел", и в первую очередь побудить большую модель вызывать функции с вредоносной переопределением.
Добавить логику глобальной проверки на вредоносные действия
MasterMCP разработал инструмент banana, основное назначение которого заключается в том, что перед запуском всех инструментов в подсказках обязательно должен выполняться этот инструмент для проверки безопасности.
Перед каждым выполнением функции система сначала вызывает механизм проверки banana. Это реализуется через глобальную логику инъекции, которая постоянно подчеркивает в коде: "должен выполняться тест banana".
Расширенные техники скрытия злонамеренных подсказок
Дружественный к большим моделям способ кодирования
Из-за того, что большие языковые модели обладают высокой способностью к анализу многоязычного формата, это наоборот используется для сокрытия вредоносной информации. Обычные методы включают:
Английская среда: использование кодирования Hex Byte
中文环境:используйте кодировку NCR или кодировку JavaScript
Случайный механизм возврата злонамеренной нагрузки
При запросе /random каждый раз будет случайным образом возвращаться страница с вредоносным содержимым, что значительно увеличивает сложность обнаружения и отслеживания.
Резюме
Через практическую демонстрацию MasterMCP мы наглядно увидели различные скрытые угрозы безопасности в системе MCP. От простых инъекций подсказок, меж-MCP вызовов до более скрытых атак на этапе инициализации и скрытия вредоносных команд, каждый этап напоминает нам: экосистема MCP, хотя и мощная, но также уязвима.
Особенно когда большие модели все чаще взаимодействуют с внешними плагинами и API, даже небольшое загрязнение входных данных может вызвать системные риски безопасности. Многообразие методов атаки ( скрытого кодирования, случайного загрязнения и перекрытия функций ) означает, что традиционные подходы к защите необходимо полностью обновить.
Надеюсь, эта демонстрация сможет привлечь внимание всех: разработчики и пользователи должны оставаться бдительными в отношении системы MCP, обращая внимание на каждое взаимодействие, каждую строку кода, каждое возвращаемое значение. Только при строгом отношении к деталям можно построить прочную и безопасную среду MCP.
SlowMist продолжит совершенствовать скрипт MasterMCP, открывая больше целевых тестовых случаев, чтобы помочь глубже понять, отработать и укрепить защиту в безопасной среде. Связанная информация уже синхронизирована с GitHub, заинтересованные читатели могут ознакомиться.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
13 Лайков
Награда
13
7
Поделиться
комментарий
0/400
HypotheticalLiquidator
· 1ч назад
Первый волны медведей уже заняли свои позиции.
Посмотреть ОригиналОтветить0
screenshot_gains
· 07-28 10:51
gm снова обнаружена новая уязвимость
Посмотреть ОригиналОтветить0
AirdropSweaterFan
· 07-28 10:50
小心 Будут играть для лохов啊
Посмотреть ОригиналОтветить0
ContractCollector
· 07-28 10:49
MC отправили, отправили
Посмотреть ОригиналОтветить0
ForkItAll
· 07-28 10:48
Все стали черными, что еще можно сказать?
Посмотреть ОригиналОтветить0
MissedAirdropBro
· 07-28 10:44
Катафалки гораздо стабильнее, чем это.
Посмотреть ОригиналОтветить0
MEVSandwichVictim
· 07-28 10:27
Снова разыгрывают людей как лохов? Разыгрывайте людей как лохов, лучше, чем разыгрывать нас, неудачников~
MasterMCP раскрывает уязвимости безопасности MCP. Практическая демонстрация различных способов атак.
Уязвимости и демонстрация атак системы MCP
MCP (Модель Контекста Протокола) система сейчас находится на ранней стадии развития, общая среда довольно хаотична, различные потенциальные способы атак появляются один за другим, существующие протоколы и инструменты трудно эффективно защищаться. Чтобы повысить безопасность MCP, SlowMist опубликовала открытый инструмент MasterMCP, который через практические учения по атакам помогает выявить уязвимости в дизайне продукта, тем самым укрепляя проект MCP.
В данной статье будут продемонстрированы распространенные способы атак в рамках системы MCP, такие как отравление информации, скрытие вредоносных команд и другие реальные примеры. Все демонстрационные скрипты также будут открыты на GitHub, чтобы все могли воспроизвести весь процесс в безопасной среде и даже разработать свои собственные плагины для тестирования атак.
Обзор общей архитектуры
Демонстрационная цель атаки MCP: Toolbox
smithery.ai является одним из популярных сайтов плагинов MCP, собирающих большое количество списков MCP и активных пользователей. Среди них @smithery/toolbox является официальным инструментом управления MCP.
Выбор Toolbox в качестве тестовой цели основан на:
демонстрационное использование злонамеренного MC:MasterMC
MasterMCP — это инструмент для моделирования вредоносного MCP, разработанный компанией SlowMist специально для тестирования безопасности. Он имеет модульную архитектуру и включает в себя следующие ключевые модули:
Модуль симуляции встроенного локального веб-сервиса MasterMCP позволяет быстро создать простой HTTP-сервер с помощью фреймворка FastAPI, имитируя распространённую веб-окружение. Эти страницы выглядят нормально, но на самом деле в исходном коде или ответах интерфейса скрыты тщательно разработанные вредоносные нагрузки.
MasterMCP использует модульный подход для расширения, что упрощает быструю добавку новых методов атаки. После запуска MasterMCP будет работать в дочернем процессе с FastAPI сервисом предыдущего модуля.
демонстрационный клиент
демонстрационная версия большого модели
Выберите версию Claude 3.7, поскольку в ней уже улучшено распознавание чувствительных операций и она представляет собой сильные операционные возможности в текущей экосистеме MCP.
Кросс-MC Злонамеренный Вызов
Демонстрация включает в себя два содержания: отравление и злонамеренные вызовы Cross-MCP.
атака на веб-контент с использованием ядовитого кода
Курсор получает доступ к локальному тестовому сайту, это страница "Delicious Cake World", которая кажется безобидной.
Выполнить команду: Получить содержимое
Результаты показывают, что Cursor не только считывает содержимое веб-страницы, но и передает локальные конфиденциальные конфигурационные данные на тестовый сервер. В исходном коде вредоносные подсказки внедрены в виде HTML-комментариев.
Посетите страницу /encode, это веб-страница, которая выглядит аналогично, но вредоносные подсказки закодированы, что делает атаку эксплойтов более скрытной, и даже при просмотре исходного кода веб-страницы трудно заметить это напрямую.
Даже если исходный код не содержит открытых подсказок, атака все равно успешно выполняется.
Атака с использованием загрязненных сторонних интерфейсов
Этот демонстрационный материал в основном напоминает, что независимо от того, является ли MCP злонамеренным или незлонамеренным, при вызове стороннего API, если данные от третьей стороны будут напрямую возвращены в контекст, это может вызвать серьезные последствия.
Выполнение запроса: Получить json из /api/data
Результат: злонамеренные подсказки были внедрены в возвращенные данные JSON и успешно вызвали вредоносное выполнение.
Технология отравления на этапе инициализации MCP
Эта демонстрация включает в себя два аспекта: инъекцию начальных подсказок и конфликт имен.
атака на перекрытие злонамеренной функции
MasterMCP создал инструмент с тем же именем функции remove_server, что и Toolbox, и закодировал скрытые вредоносные подсказки.
Выполнить команду: инструмент удаление получение плагин сервер
Claude Desktop не вызвал оригинальный метод toolbox remove_server, а вместо этого вызвал метод с тем же именем, предоставленный MasterMCP.
Принцип заключается в том, чтобы подчеркнуть, что "существующий метод устарел", и в первую очередь побудить большую модель вызывать функции с вредоносной переопределением.
Добавить логику глобальной проверки на вредоносные действия
MasterMCP разработал инструмент banana, основное назначение которого заключается в том, что перед запуском всех инструментов в подсказках обязательно должен выполняться этот инструмент для проверки безопасности.
Перед каждым выполнением функции система сначала вызывает механизм проверки banana. Это реализуется через глобальную логику инъекции, которая постоянно подчеркивает в коде: "должен выполняться тест banana".
Расширенные техники скрытия злонамеренных подсказок
Дружественный к большим моделям способ кодирования
Из-за того, что большие языковые модели обладают высокой способностью к анализу многоязычного формата, это наоборот используется для сокрытия вредоносной информации. Обычные методы включают:
Случайный механизм возврата злонамеренной нагрузки
При запросе /random каждый раз будет случайным образом возвращаться страница с вредоносным содержимым, что значительно увеличивает сложность обнаружения и отслеживания.
Резюме
Через практическую демонстрацию MasterMCP мы наглядно увидели различные скрытые угрозы безопасности в системе MCP. От простых инъекций подсказок, меж-MCP вызовов до более скрытых атак на этапе инициализации и скрытия вредоносных команд, каждый этап напоминает нам: экосистема MCP, хотя и мощная, но также уязвима.
Особенно когда большие модели все чаще взаимодействуют с внешними плагинами и API, даже небольшое загрязнение входных данных может вызвать системные риски безопасности. Многообразие методов атаки ( скрытого кодирования, случайного загрязнения и перекрытия функций ) означает, что традиционные подходы к защите необходимо полностью обновить.
Надеюсь, эта демонстрация сможет привлечь внимание всех: разработчики и пользователи должны оставаться бдительными в отношении системы MCP, обращая внимание на каждое взаимодействие, каждую строку кода, каждое возвращаемое значение. Только при строгом отношении к деталям можно построить прочную и безопасную среду MCP.
SlowMist продолжит совершенствовать скрипт MasterMCP, открывая больше целевых тестовых случаев, чтобы помочь глубже понять, отработать и укрепить защиту в безопасной среде. Связанная информация уже синхронизирована с GitHub, заинтересованные читатели могут ознакомиться.