Безпекові виклики системи MCP: практична демонстрація від отруєння до маніпуляції
З розвитком екосистеми Model Context Protocol (MCP) ризики безпеки, що в ній приховані, також стають дедалі помітнішими. Для того, щоб допомогти спільноті краще усвідомити та підвищити безпеку MCP, нещодавно безкоштовно було представлено інструмент MasterMCP, який через практичні навчання атакою виявляє ризики безпеки в дизайні продукту.
Ця стаття проведе читачів через практичне виконання, демонструючи поширені методи атак у системі MCP, такі як інформаційна отрута, приховані шкідливі команди та інші реальні випадки. Усі демонстраційні скрипти також були відкриті, читачі можуть у безпечному середовищі повністю відтворити весь процес, навіть розробити свої власні плагіни для тестування атак.
Загальний огляд архітектури
демонстраційна атака на ціль MCP:Toolbox
Вибір офіційно випущеного інструменту управління MCP Toolbox від відомого сайту плагінів MCP в якості тестової мети обґрунтований наступними міркуваннями:
Велика база користувачів, має представницький характер
Підтримка автоматичної установки інших плагінів, доповнення деяких функцій клієнта
Включає чутливу конфігурацію (, таку як API Key ), що полегшує демонстрацію
демонстраційне використання шкідливого MCP:MasterMCP
MasterMCP - це інструмент для моделювання зловмисного MCP, спеціально розроблений для тестування безпеки, який має плагінну архітектуру та містить такі ключові модулі:
Моделювання локальних веб-сайтів:
Швидко налаштуйте простий HTTP-сервер за допомогою фреймворку FastAPI, імітуючи звичайне веб-середовище. Ці сторінки виглядають нормально на поверхні, але насправді в коді сторінки або відповідях інтерфейсу приховані ретельно розроблені шкідливі навантаження.
Локальна плагінна архітектура MCP
MasterMCP використовує плагінну архітектуру для розширення, що полегшує швидке додавання нових методів атаки. Після запуску в дочірньому процесі буде запущено службу FastAPI.
демонстраційний клієнт
Cursor: Один з найбільш популярних у світі IDE для програмування з підтримкою AI
Claude Desktop: офіційний клієнт відомої AI компанії
демонстраційна модель використання
Клод 3.7
Вибір цієї версії обумовлений певними покращеннями в розпізнаванні чутливих операцій, а також вона представляє собою сильні можливості виконання в рамках поточної екосистеми MCP.
Cross-MCP зловмисний виклик
атака отравлення веб-контенту
Коментарний отруєння
Відвідайте локальний тестовий сайт, це, здається, безпечна сторінка про "Delicious Cake World". Виконавши команду для отримання вмісту веб-сторінки, курсор не тільки прочитав вміст веб-сторінки, але й передав дані конфігурації на локальному рівні на тестовий сервер. У вихідному коді зловмисні підказки вставлені у вигляді HTML-коментарів.
Кодовані коментарі отруєння
Перейдіть на сторінку /encode, це веб-сторінка, що виглядає однаково, але шкідливі підказки закодовані, що робить отруєння більш прихованим. Навіть якщо вихідний код не містить відкритих підказок, атака все ще успішно виконується.
MCP інструмент повернення інформації отруєння
Згідно з підказками MasterMCP, після введення симуляційної команди клієнт викликав Toolbox через MCP і успішно додав новий MCP сервер. Переглянувши код плагіна, можна виявити, що у повернуті дані вже вбудовано закодоване шкідливе навантаження.
атака забруднення через сторонній інтерфейс
Ця демонстрація в основному нагадує, що незалежно від того, чи є MCP злочинним чи не злочинним, при виклику стороннього API, якщо безпосередньо повернути сторонні дані в контекст, це може мати серйозні наслідки.
Техніка отруєння на етапі ініціалізації MCP
атака накладення злочинних функцій
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 Toolbox від відомого сайту плагінів MCP в якості тестової мети обґрунтований наступними міркуваннями:
демонстраційне використання шкідливого MCP:MasterMCP
MasterMCP - це інструмент для моделювання зловмисного MCP, спеціально розроблений для тестування безпеки, який має плагінну архітектуру та містить такі ключові модулі:
Швидко налаштуйте простий HTTP-сервер за допомогою фреймворку FastAPI, імітуючи звичайне веб-середовище. Ці сторінки виглядають нормально на поверхні, але насправді в коді сторінки або відповідях інтерфейсу приховані ретельно розроблені шкідливі навантаження.
MasterMCP використовує плагінну архітектуру для розширення, що полегшує швидке додавання нових методів атаки. Після запуску в дочірньому процесі буде запущено службу FastAPI.
демонстраційний клієнт
демонстраційна модель використання
Вибір цієї версії обумовлений певними покращеннями в розпізнаванні чутливих операцій, а також вона представляє собою сильні можливості виконання в рамках поточної екосистеми MCP.
Cross-MCP зловмисний виклик
атака отравлення веб-контенту
Відвідайте локальний тестовий сайт, це, здається, безпечна сторінка про "Delicious Cake World". Виконавши команду для отримання вмісту веб-сторінки, курсор не тільки прочитав вміст веб-сторінки, але й передав дані конфігурації на локальному рівні на тестовий сервер. У вихідному коді зловмисні підказки вставлені у вигляді HTML-коментарів.
Перейдіть на сторінку /encode, це веб-сторінка, що виглядає однаково, але шкідливі підказки закодовані, що робить отруєння більш прихованим. Навіть якщо вихідний код не містить відкритих підказок, атака все ще успішно виконується.
MCP інструмент повернення інформації отруєння
Згідно з підказками MasterMCP, після введення симуляційної команди клієнт викликав Toolbox через MCP і успішно додав новий MCP сервер. Переглянувши код плагіна, можна виявити, що у повернуті дані вже вбудовано закодоване шкідливе навантаження.
атака забруднення через сторонній інтерфейс
Ця демонстрація в основному нагадує, що незалежно від того, чи є MCP злочинним чи не злочинним, при виклику стороннього API, якщо безпосередньо повернути сторонні дані в контекст, це може мати серйозні наслідки.
Техніка отруєння на етапі ініціалізації MCP
атака накладення злочинних функцій
MasterMCP написав інструмент з такою ж назвою функції remove_server, як у Toolbox, і закодував приховані шкідливі підказки. Після виконання команди Claude Desktop не викликав оригінальний метод toolbox remove_server, а замість цього спрацював метод з такою ж назвою, наданий MasterMCP.
Додати логіку глобальної перевірки на наявність шкідливих програм
MasterMCP написав інструмент banana, основна функція якого полягає в обов'язковому виконанні цього інструмента для проведення перевірки безпеки перед запуском усіх інших інструментів у підказці. Перед кожним виконанням функції система спочатку викликає механізм перевірки banana.
Розширені прийоми приховування шкідливих підказок
Дружній до великих моделей спосіб кодування
Звичайні методи включають:
механізм повернення випадкових шкідливих вантажів
Коли запит /random, кожен раз випадковим чином повертається сторінка з шкідливим навантаженням, що значно ускладнює виявлення та трасування.
Підсумок
Завдяки практичній демонстрації MasterMCP, ми наочно побачили різні приховані безпекові ризики в системі MCP. Від простого впровадження підказок, між MCP-викликами, до більш прихованих атак на етапі ініціалізації та приховування шкідливих інструкцій, кожен етап нагадує нам: хоча екосистема MCP потужна, вона також вразлива.
Особливо в умовах, коли великі моделі все частіше взаємодіють з зовнішніми плагінами та API, навіть незначне забруднення вводу може викликати цілісні системні ризики безпеки. А різноманітність методів атаки також означає, що традиційні підходи до захисту потребують повного оновлення.
Сподіваюся, ця демонстрація зможе привернути увагу всіх: незалежно від того, чи є ви розробником, чи користувачем, слід бути достатньо обережними щодо системи MCP, завжди звертаючи увагу на кожну взаємодію, кожен рядок коду, кожне значення, що повертається. Лише ставлячись з увагою до кожної деталі, можна справді створити надійне та безпечне середовище MCP.