Безопасные вызовы системы MCP: практическое демонстрация от отравления до манипуляции
С быстрым развитием экосистемы Model Context Protocol (MCP), скрытые в ней риски безопасности становятся все более очевидными. Для того чтобы помочь сообществу лучше понять и повысить безопасность MCP, недавно исследователи в области безопасности открыли инструмент MasterMCP, который через практические тренировочные атаки выявляет уязвимости в дизайне продукта.
В этой статье читатели смогут на практике ознакомиться с распространенными способами атак в рамках системы MCP, такими как информационное отравление, скрытые вредоносные команды и другие реальные примеры. Все демонстрационные скрипты также были открыты, и читатели могут полностью воспроизвести весь процесс в безопасной среде, даже разработать свои собственные плагины для тестирования атак.
Обзор общей архитектуры
Демонстрационная атака на цель MCP:Toolbox
Выбранный известный MCP плагин сайт, официально выпустивший инструмент управления MCP Toolbox в качестве тестовой цели, основывается на следующих соображениях:
Большая база пользователей, репрезентативна
Поддержка автоматической установки других плагинов, для дополнения некоторых функций клиента
Содержит конфиденциальные настройки (, такие как API Key ), что облегчает демонстрацию.
демонстрационное использование вредоносного MCP: MasterMCP
MasterMCP — это инструмент для моделирования вредоносных MCP, разработанный для тестирования безопасности, с модульной архитектурой, включающей следующие ключевые модули:
Моделирование локальных веб-сервисов:
С помощью фреймворка FastAPI быстро создайте простой HTTP-сервер, имитирующий обычную веб-среду. Эти страницы на первый взгляд выглядят нормально, но на самом деле в исходном коде страницы или в ответах интерфейса скрыты тщательно разработанные вредоносные нагрузки.
Локальная плагинизированная архитектура MCP
MasterMCP использует модульный подход для расширения, что упрощает быструю добавку новых методов атаки в дальнейшем. После запуска будет запущен сервис FastAPI в дочернем процессе.
Демонстрационный клиент
Cursor: Один из самых популярных AI-ассистированных IDE для программирования в мире
Claude Desktop: официальный клиент известной AI компании
демонстрационная версия большого модели
Клод 3.7
Выбор этой версии обусловлен тем, что в ней уже достигнут определенный прогресс в распознавании чувствительных операций, а также она представляет собой сильную операционную способность в текущей экосистеме MC.
Cross-MCP злонамеренный вызов
атака с подменой контента на веб-страницах
Комментарий типа отравления
Посетите локальный тестовый сайт, это страница, которая кажется безобидной и посвящена "Вкусному миру тортов". После выполнения команды для получения содержимого веб-страницы, курсор не только считывает содержимое страницы, но и передает локальные конфиденциальные данные конфигурации на тестовый сервер. В исходном коде вредоносные подсказки внедрены в виде комментариев HTML.
Кодирующий тип комментариев
Посетите страницу /encode, это страница, которая выглядит так же, но в ней злонамеренные подсказки закодированы, что делает атаку более скрытной. Даже если исходный код не содержит открытых подсказок, атака все равно успешно выполняется.
MCP инструмент возвращает информацию о яде
Согласно указаниям подсказок MasterMCP, после ввода симуляционной команды клиент вызвал Toolbox через MCP и успешно добавил новый сервер MCP. Просмотрев код плагина, можно обнаружить, что в возвращенных данных уже встроен закодированный вредоносный полезный груз.
Атака загрязнения через сторонний интерфейс
Этот пример в основном напоминает о том, что независимо от того, является ли MCP злонамеренным или без злого умысла, при вызове стороннего API, если сторонние данные возвращаются прямо в контекст, это может иметь серьезные последствия.
Технология отравления на этапе инициализации MC
Атака с подменой вредоносной функции
MasterMCP создал инструмент с тем же именем функции remove_server, что и в Toolbox, и закодировал скрытые вредоносные подсказки. После выполнения команды Claude Desktop не вызвал первоначальный метод toolbox remove_server, а активировал метод с тем же именем, предоставленный MasterMCP.
Добавить логику злонамеренной глобальной проверки
MasterMCP написал инструмент banana, основная функция которого заключается в том, чтобы перед выполнением всех инструментов в подсказках обязательно запускать этот инструмент для проверки безопасности. Перед каждым выполнением функции система сначала вызывает механизм проверки banana.
Расширенные советы по скрытию злонамеренных подсказок
Дружественный к большим моделям способ кодирования
Обычные методы включают:
Английская среда: использование кодировки Hex Byte
中文环境:использовать кодировку NCR или кодирование JavaScript
механизм возврата случайных вредоносных нагрузок
При запросе /random каждый раз случайным образом возвращается страница с вредоносной нагрузкой, что значительно усложняет задачу обнаружения и отслеживания.
Итог
С помощью практической демонстрации MasterMCP мы наглядно увидели различные скрытые угрозы безопасности в системе MCP. От простых инъекций подсказок и меж-MCP вызовов до более скрытых атак на стадии инициализации и скрытия вредоносных команд, каждое звено напоминает нам: экосистема MCP, хотя и мощная, но также уязвима.
Особенно в условиях, когда большие модели все чаще взаимодействуют с внешними плагинами и API, даже небольшое загрязнение ввода может вызвать системные риски безопасности. А разнообразие методов атаки также означает, что традиционные подходы к защите необходимо полностью обновить.
Надеюсь, что эта демонстрация сможет прозвенеть тревогу для всех: как разработчики, так и пользователи должны сохранять достаточную бдительность к системе MCP, постоянно обращая внимание на каждое взаимодействие, каждую строку кода, каждое возвращаемое значение. Только внимательно относясь к каждой детали, можно действительно построить надежную и безопасную среду MCP.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
7 Лайков
Награда
7
5
Репост
Поделиться
комментарий
0/400
NFTRegretDiary
· 07-27 15:01
Только смелые открытые исходные коды для тестирования, боюсь настоящих хакеров.
Посмотреть ОригиналОтветить0
LeekCutter
· 07-25 14:44
Этот официальный орган сам себе противоречит.
Посмотреть ОригиналОтветить0
PonziDetector
· 07-25 14:33
Какую систему этот инструмент может взломать?
Посмотреть ОригиналОтветить0
DeFiChef
· 07-25 14:22
Неплохо, прямо открытый исходный код дает хакерам лазейки.
Посмотреть ОригиналОтветить0
TokenomicsTherapist
· 07-25 14:17
Уязвимости безопасности были раскрыты. Кто понесёт ответственность?
Полное раскрытие рисков безопасности MCP: от отравления до практических упражнений по контролю
Безопасные вызовы системы MCP: практическое демонстрация от отравления до манипуляции
С быстрым развитием экосистемы Model Context Protocol (MCP), скрытые в ней риски безопасности становятся все более очевидными. Для того чтобы помочь сообществу лучше понять и повысить безопасность MCP, недавно исследователи в области безопасности открыли инструмент MasterMCP, который через практические тренировочные атаки выявляет уязвимости в дизайне продукта.
В этой статье читатели смогут на практике ознакомиться с распространенными способами атак в рамках системы MCP, такими как информационное отравление, скрытые вредоносные команды и другие реальные примеры. Все демонстрационные скрипты также были открыты, и читатели могут полностью воспроизвести весь процесс в безопасной среде, даже разработать свои собственные плагины для тестирования атак.
Обзор общей архитектуры
Демонстрационная атака на цель MCP:Toolbox
Выбранный известный MCP плагин сайт, официально выпустивший инструмент управления MCP Toolbox в качестве тестовой цели, основывается на следующих соображениях:
демонстрационное использование вредоносного MCP: MasterMCP
MasterMCP — это инструмент для моделирования вредоносных MCP, разработанный для тестирования безопасности, с модульной архитектурой, включающей следующие ключевые модули:
С помощью фреймворка FastAPI быстро создайте простой HTTP-сервер, имитирующий обычную веб-среду. Эти страницы на первый взгляд выглядят нормально, но на самом деле в исходном коде страницы или в ответах интерфейса скрыты тщательно разработанные вредоносные нагрузки.
MasterMCP использует модульный подход для расширения, что упрощает быструю добавку новых методов атаки в дальнейшем. После запуска будет запущен сервис FastAPI в дочернем процессе.
Демонстрационный клиент
демонстрационная версия большого модели
Выбор этой версии обусловлен тем, что в ней уже достигнут определенный прогресс в распознавании чувствительных операций, а также она представляет собой сильную операционную способность в текущей экосистеме MC.
Cross-MCP злонамеренный вызов
атака с подменой контента на веб-страницах
Посетите локальный тестовый сайт, это страница, которая кажется безобидной и посвящена "Вкусному миру тортов". После выполнения команды для получения содержимого веб-страницы, курсор не только считывает содержимое страницы, но и передает локальные конфиденциальные данные конфигурации на тестовый сервер. В исходном коде вредоносные подсказки внедрены в виде комментариев HTML.
Посетите страницу /encode, это страница, которая выглядит так же, но в ней злонамеренные подсказки закодированы, что делает атаку более скрытной. Даже если исходный код не содержит открытых подсказок, атака все равно успешно выполняется.
MCP инструмент возвращает информацию о яде
Согласно указаниям подсказок MasterMCP, после ввода симуляционной команды клиент вызвал Toolbox через MCP и успешно добавил новый сервер MCP. Просмотрев код плагина, можно обнаружить, что в возвращенных данных уже встроен закодированный вредоносный полезный груз.
Атака загрязнения через сторонний интерфейс
Этот пример в основном напоминает о том, что независимо от того, является ли MCP злонамеренным или без злого умысла, при вызове стороннего API, если сторонние данные возвращаются прямо в контекст, это может иметь серьезные последствия.
Технология отравления на этапе инициализации MC
Атака с подменой вредоносной функции
MasterMCP создал инструмент с тем же именем функции remove_server, что и в Toolbox, и закодировал скрытые вредоносные подсказки. После выполнения команды Claude Desktop не вызвал первоначальный метод toolbox remove_server, а активировал метод с тем же именем, предоставленный MasterMCP.
Добавить логику злонамеренной глобальной проверки
MasterMCP написал инструмент banana, основная функция которого заключается в том, чтобы перед выполнением всех инструментов в подсказках обязательно запускать этот инструмент для проверки безопасности. Перед каждым выполнением функции система сначала вызывает механизм проверки banana.
Расширенные советы по скрытию злонамеренных подсказок
Дружественный к большим моделям способ кодирования
Обычные методы включают:
механизм возврата случайных вредоносных нагрузок
При запросе /random каждый раз случайным образом возвращается страница с вредоносной нагрузкой, что значительно усложняет задачу обнаружения и отслеживания.
Итог
С помощью практической демонстрации MasterMCP мы наглядно увидели различные скрытые угрозы безопасности в системе MCP. От простых инъекций подсказок и меж-MCP вызовов до более скрытых атак на стадии инициализации и скрытия вредоносных команд, каждое звено напоминает нам: экосистема MCP, хотя и мощная, но также уязвима.
Особенно в условиях, когда большие модели все чаще взаимодействуют с внешними плагинами и API, даже небольшое загрязнение ввода может вызвать системные риски безопасности. А разнообразие методов атаки также означает, что традиционные подходы к защите необходимо полностью обновить.
Надеюсь, что эта демонстрация сможет прозвенеть тревогу для всех: как разработчики, так и пользователи должны сохранять достаточную бдительность к системе MCP, постоянно обращая внимание на каждое взаимодействие, каждую строку кода, каждое возвращаемое значение. Только внимательно относясь к каждой детали, можно действительно построить надежную и безопасную среду MCP.