Анализ скрытого отравления и манипуляций в системе MC
MCP (Model Context Protocol) система в настоящее время все еще находится на ранней стадии развития, общая среда довольно хаотична, различные потенциальные способы атак возникают один за другим, существующие протоколы и инструменты сложно эффективно защитить. Чтобы помочь сообществу лучше понять и повысить безопасность MCP, некоторая команда безопасности открыла инструмент MasterMCP, надеясь с помощью практических атакующих упражнений помочь разработчикам своевременно выявлять уязвимости в дизайне продуктов, тем самым постепенно укрепляя проект MCP.
В данной статье читатели смогут на практике ознакомиться с распространенными способами атак в рамках системы MCP, такими как отравление информации, скрытые вредоносные команды и другие реальные примеры. Все демонстрационные скрипты также будут открыты, и читатели смогут полностью воспроизвести весь процесс в безопасной среде, а также разработать свои собственные плагины для тестирования атак на основе этих скриптов.
Обзор общей архитектуры
Демонстрационная атака на цель MCP:Toolbox
Некоторый известный сайт плагинов MC является одним из самых популярных мест для сбора MCP, объединяющим множество списков MCP и активных пользователей. Официально выпущенный инструмент управления MCP Toolbox был выбран в качестве тестового объекта, основываясь на следующих моментах:
Огромная пользовательская база, представляет собой образец
Поддержка автоматической установки других плагинов для дополнения функциональности клиента
Содержит чувствительные настройки (, такие как API Key ), для удобства демонстрации
Демонстрационное использование вредоносного MC:MasterMC
MasterMCP — это инструмент имитации вредоносного MCP, специально разработанный для тестирования безопасности, использующий модульную архитектуру и включающий в себя следующие ключевые модули:
Симуляция местных веб-сервисов:
Для более реалистичного воссоздания сценариев атак MasterMCP встроил модуль имитации локального веб-сервиса. С помощью фреймворка FastAPI быстро создается простой HTTP-сервер для имитации распространенной веб-окружения. Эти страницы на первый взгляд выглядят нормально, но на самом деле в исходном коде страницы или возвращаемых интерфейсах скрыты тщательно спроектированные вредоносные нагрузки.
Локальная плагинная архитектура MC
MasterMCP использует модульный подход для расширения, что облегчает быструю добавку новых методов атаки в будущем. После запуска MasterMCP будет работать вышеупомянутая служба FastAPI в дочернем процессе.
демонстрационный клиент
Cursor: Одна из самых популярных IDE для программирования с помощью ИИ в мире
Claude Desktop: Anthropic(MCП协议定制方)официальный клиент
демонстрационная версия большого модели
Клод 3.7
Выберите версию Claude 3.7, так как в ней уже имеются определенные улучшения в распознавании чувствительных операций, и она представляет собой достаточно сильные операционные возможности в текущей экосистеме MCP.
Cross-MCP злонамеренный вызов
атака отравления веб-контента
Комментарийный токсикоз
Посетите локальный тестовый сайт через Cursor, чтобы смоделировать влияние доступа клиента к большому модели к вредоносному сайту.
Выполнить команду:
Получить содержимое
Результаты показывают, что Cursor не только считывает содержимое веб-страницы, но и передает локальные конфиденциальные данные на тестовый сервер. В исходном коде злонамеренные ключевые слова внедрены в виде HTML-комментариев. Хотя комментарии довольно прямолинейны и легко распознаваемы, они уже могут вызывать злонамеренные действия.
Кодирующие комментарии для отравления
Посетите страницу /encode, это обычная веб-страница, но в ней закодированы злонамеренные подсказки, что делает их более скрытными, и даже при просмотре исходного кода страницы трудно заметить их напрямую.
Даже если исходный код не содержит открытых подсказок, атака все равно успешно выполняется.
Атака загрязнения интерфейса третьей стороны
Этот демонстрационный материал в первую очередь напоминает о том, что как злонамеренные, так и незлонамеренные MCP, вызывая сторонние API, могут иметь серьезные последствия, если сторонние данные напрямую возвращаются в контекст.
Выполнить запрос:
Получить json с /api/data
Результат: зловредные подсказки были внедрены в возвращенные данные JSON и успешно вызвали злонамеренное выполнение.
Техника отравления на этапе инициализации MCP
атака на перекрытие злонамеренных функций
MasterMCP написал инструмент с тем же именем функции remove_server, что и Toolbox, и закодировал скрытые вредоносные подсказки.
Выполнить команду:
инструмент удаления плагина сервера получения
Клауд Десктоп не вызвал изначальный метод toolbox remove_server, а вместо этого активировал метод с тем же именем, предоставленный MasterMCP.
Принцип заключается в том, чтобы подчеркнуть, что "предыдущие методы устарели", и в первую очередь побуждать большую модель вызывать функции с вредоносным переопределением.
MasterMCP разработал инструмент banana, основной функцией которого является обязательное выполнение этого инструмента для проверки безопасности перед запуском всех других инструментов в подсказках.
Перед каждым выполнением функции система сначала вызывает механизм проверки banana. Это достигается путем многократного подчеркивания в коде "необходимо запустить проверку banana" для реализации глобальной логической инъекции.
Продвинутые методы скрытия злонамеренных подсказок
Дружественный к большим моделям способ кодирования
Из-за того, что большие языковые модели обладают высокой способностью к анализу многоязычного формата, это используется для сокрытия вредоносной информации, к распространенным методам относятся:
В английской среде: использовать кодировку Hex Byte
В китайской среде: используйте кодировку NCR или кодировку JavaScript
Механизм возврата случайной злонамеренной нагрузки
При запросе /random каждый раз случайным образом возвращается страница с вредоносной нагрузкой, что значительно усложняет обнаружение и отслеживание.
MCP(. От простых инъекций подсказок и меж-MCP вызовов до более скрытых атак на этапе инициализации и скрытия вредоносных команд — каждый этап напоминает нам: экосистема MCP хоть и мощная, но также уязвима.
Особенно в условиях, когда большие модели все чаще взаимодействуют с внешними плагинами и API, даже небольшое загрязнение ввода может вызвать системные риски безопасности. А разнообразие методов атаки, таких как кодирование ) скрытие, случайное загрязнение, покрытие функций ( также означает, что традиционные методы защиты нуждаются в полном обновлении.
Безопасность никогда не достигается сразу. Надеюсь, что эта демонстрация сможет насторожить всех: как разработчиков, так и пользователей, необходимо сохранять достаточную бдительность к системе MCP, постоянно обращая внимание на каждое взаимодействие, каждую строку кода, каждое возвращаемое значение. Только тщательно относясь к каждой детали, можно действительно построить надежную и безопасную среду MCP.
![Практическое руководство: Скрытые отравления и манипуляции в системе MCP])https://img-cdn.gateio.im/webp-social/moments-bf6d8976b54bebbec34699753f4dbb70.webp(
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
17 Лайков
Награда
17
3
Поделиться
комментарий
0/400
MysteriousZhang
· 07-12 21:34
Этот баг действительно мелкий! Работать над безопасностью - это действительно жестко.
Посмотреть ОригиналОтветить0
LiquidationKing
· 07-12 21:15
Этот уязвимость действительно хороша
Посмотреть ОригиналОтветить0
HashBard
· 07-12 21:07
еще один день, еще одна уязвимость... *пьет чай, наблюдая, как сгорает mcp*
Анализ рисков безопасности системы MCP: демонстрация скрытого отравления и манипуляций в реальных условиях
Анализ скрытого отравления и манипуляций в системе MC
MCP (Model Context Protocol) система в настоящее время все еще находится на ранней стадии развития, общая среда довольно хаотична, различные потенциальные способы атак возникают один за другим, существующие протоколы и инструменты сложно эффективно защитить. Чтобы помочь сообществу лучше понять и повысить безопасность MCP, некоторая команда безопасности открыла инструмент MasterMCP, надеясь с помощью практических атакующих упражнений помочь разработчикам своевременно выявлять уязвимости в дизайне продуктов, тем самым постепенно укрепляя проект MCP.
В данной статье читатели смогут на практике ознакомиться с распространенными способами атак в рамках системы MCP, такими как отравление информации, скрытые вредоносные команды и другие реальные примеры. Все демонстрационные скрипты также будут открыты, и читатели смогут полностью воспроизвести весь процесс в безопасной среде, а также разработать свои собственные плагины для тестирования атак на основе этих скриптов.
Обзор общей архитектуры
Демонстрационная атака на цель MCP:Toolbox
Некоторый известный сайт плагинов MC является одним из самых популярных мест для сбора MCP, объединяющим множество списков MCP и активных пользователей. Официально выпущенный инструмент управления MCP Toolbox был выбран в качестве тестового объекта, основываясь на следующих моментах:
Демонстрационное использование вредоносного MC:MasterMC
MasterMCP — это инструмент имитации вредоносного MCP, специально разработанный для тестирования безопасности, использующий модульную архитектуру и включающий в себя следующие ключевые модули:
Для более реалистичного воссоздания сценариев атак MasterMCP встроил модуль имитации локального веб-сервиса. С помощью фреймворка FastAPI быстро создается простой HTTP-сервер для имитации распространенной веб-окружения. Эти страницы на первый взгляд выглядят нормально, но на самом деле в исходном коде страницы или возвращаемых интерфейсах скрыты тщательно спроектированные вредоносные нагрузки.
MasterMCP использует модульный подход для расширения, что облегчает быструю добавку новых методов атаки в будущем. После запуска MasterMCP будет работать вышеупомянутая служба FastAPI в дочернем процессе.
демонстрационный клиент
демонстрационная версия большого модели
Выберите версию Claude 3.7, так как в ней уже имеются определенные улучшения в распознавании чувствительных операций, и она представляет собой достаточно сильные операционные возможности в текущей экосистеме MCP.
Cross-MCP злонамеренный вызов
атака отравления веб-контента
Посетите локальный тестовый сайт через Cursor, чтобы смоделировать влияние доступа клиента к большому модели к вредоносному сайту.
Выполнить команду:
Получить содержимое
Результаты показывают, что Cursor не только считывает содержимое веб-страницы, но и передает локальные конфиденциальные данные на тестовый сервер. В исходном коде злонамеренные ключевые слова внедрены в виде HTML-комментариев. Хотя комментарии довольно прямолинейны и легко распознаваемы, они уже могут вызывать злонамеренные действия.
Посетите страницу /encode, это обычная веб-страница, но в ней закодированы злонамеренные подсказки, что делает их более скрытными, и даже при просмотре исходного кода страницы трудно заметить их напрямую.
Даже если исходный код не содержит открытых подсказок, атака все равно успешно выполняется.
Атака загрязнения интерфейса третьей стороны
Этот демонстрационный материал в первую очередь напоминает о том, что как злонамеренные, так и незлонамеренные MCP, вызывая сторонние API, могут иметь серьезные последствия, если сторонние данные напрямую возвращаются в контекст.
Выполнить запрос:
Получить json с /api/data
Результат: зловредные подсказки были внедрены в возвращенные данные JSON и успешно вызвали злонамеренное выполнение.
Техника отравления на этапе инициализации MCP
атака на перекрытие злонамеренных функций
MasterMCP написал инструмент с тем же именем функции remove_server, что и Toolbox, и закодировал скрытые вредоносные подсказки.
Выполнить команду:
инструмент удаления плагина сервера получения
Клауд Десктоп не вызвал изначальный метод toolbox remove_server, а вместо этого активировал метод с тем же именем, предоставленный MasterMCP.
Принцип заключается в том, чтобы подчеркнуть, что "предыдущие методы устарели", и в первую очередь побуждать большую модель вызывать функции с вредоносным переопределением.
Добавить злонамеренную глобальную проверочную логику
MasterMCP разработал инструмент banana, основной функцией которого является обязательное выполнение этого инструмента для проверки безопасности перед запуском всех других инструментов в подсказках.
Перед каждым выполнением функции система сначала вызывает механизм проверки banana. Это достигается путем многократного подчеркивания в коде "необходимо запустить проверку banana" для реализации глобальной логической инъекции.
Продвинутые методы скрытия злонамеренных подсказок
Дружественный к большим моделям способ кодирования
Из-за того, что большие языковые модели обладают высокой способностью к анализу многоязычного формата, это используется для сокрытия вредоносной информации, к распространенным методам относятся:
Механизм возврата случайной злонамеренной нагрузки
При запросе /random каждый раз случайным образом возвращается страница с вредоносной нагрузкой, что значительно усложняет обнаружение и отслеживание.
MCP(. От простых инъекций подсказок и меж-MCP вызовов до более скрытых атак на этапе инициализации и скрытия вредоносных команд — каждый этап напоминает нам: экосистема MCP хоть и мощная, но также уязвима.
Особенно в условиях, когда большие модели все чаще взаимодействуют с внешними плагинами и API, даже небольшое загрязнение ввода может вызвать системные риски безопасности. А разнообразие методов атаки, таких как кодирование ) скрытие, случайное загрязнение, покрытие функций ( также означает, что традиционные методы защиты нуждаются в полном обновлении.
Безопасность никогда не достигается сразу. Надеюсь, что эта демонстрация сможет насторожить всех: как разработчиков, так и пользователей, необходимо сохранять достаточную бдительность к системе MCP, постоянно обращая внимание на каждое взаимодействие, каждую строку кода, каждое возвращаемое значение. Только тщательно относясь к каждой детали, можно действительно построить надежную и безопасную среду MCP.
![Практическое руководство: Скрытые отравления и манипуляции в системе MCP])https://img-cdn.gateio.im/webp-social/moments-bf6d8976b54bebbec34699753f4dbb70.webp(