Повне розкриття безпекових ризиків MCP: від отруєння до контролю в практичних тренуваннях

Безпекові виклики системи MCP: практична демонстрація від отруєння до маніпуляції

З розвитком екосистеми Model Context Protocol (MCP) ризики безпеки, що в ній приховані, також стають дедалі помітнішими. Для того, щоб допомогти спільноті краще усвідомити та підвищити безпеку MCP, нещодавно безкоштовно було представлено інструмент MasterMCP, який через практичні навчання атакою виявляє ризики безпеки в дизайні продукту.

Ця стаття проведе читачів через практичне виконання, демонструючи поширені методи атак у системі MCP, такі як інформаційна отрута, приховані шкідливі команди та інші реальні випадки. Усі демонстраційні скрипти також були відкриті, читачі можуть у безпечному середовищі повністю відтворити весь процес, навіть розробити свої власні плагіни для тестування атак.

Загальний огляд архітектури

демонстраційна атака на ціль MCP:Toolbox

Вибір офіційно випущеного інструменту управління MCP Toolbox від відомого сайту плагінів MCP в якості тестової мети обґрунтований наступними міркуваннями:

  • Велика база користувачів, має представницький характер
  • Підтримка автоматичної установки інших плагінів, доповнення деяких функцій клієнта
  • Включає чутливу конфігурацію (, таку як API Key ), що полегшує демонстрацію

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

демонстраційне використання шкідливого MCP:MasterMCP

MasterMCP - це інструмент для моделювання зловмисного MCP, спеціально розроблений для тестування безпеки, який має плагінну архітектуру та містить такі ключові модулі:

  1. Моделювання локальних веб-сайтів:

Швидко налаштуйте простий HTTP-сервер за допомогою фреймворку FastAPI, імітуючи звичайне веб-середовище. Ці сторінки виглядають нормально на поверхні, але насправді в коді сторінки або відповідях інтерфейсу приховані ретельно розроблені шкідливі навантаження.

  1. Локальна плагінна архітектура MCP

MasterMCP використовує плагінну архітектуру для розширення, що полегшує швидке додавання нових методів атаки. Після запуску в дочірньому процесі буде запущено службу FastAPI.

Бойові дії: приховане отруєння та маніпуляції в системі MCP

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

  • Cursor: Один з найбільш популярних у світі IDE для програмування з підтримкою AI
  • Claude Desktop: офіційний клієнт відомої AI компанії

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

  • Клод 3.7

Вибір цієї версії обумовлений певними покращеннями в розпізнаванні чутливих операцій, а також вона представляє собою сильні можливості виконання в рамках поточної екосистеми MCP.

Cross-MCP зловмисний виклик

атака отравлення веб-контенту

  1. Коментарний отруєння

Відвідайте локальний тестовий сайт, це, здається, безпечна сторінка про "Delicious Cake World". Виконавши команду для отримання вмісту веб-сторінки, курсор не тільки прочитав вміст веб-сторінки, але й передав дані конфігурації на локальному рівні на тестовий сервер. У вихідному коді зловмисні підказки вставлені у вигляді HTML-коментарів.

Практичний старт: приховане отруєння та маніпуляції в системі MCP

  1. Кодовані коментарі отруєння

Перейдіть на сторінку /encode, це веб-сторінка, що виглядає однаково, але шкідливі підказки закодовані, що робить отруєння більш прихованим. Навіть якщо вихідний код не містить відкритих підказок, атака все ще успішно виконується.

Практична робота: Схема MCP та приховане отруєння і маніпуляції

MCP інструмент повернення інформації отруєння

Згідно з підказками MasterMCP, після введення симуляційної команди клієнт викликав Toolbox через MCP і успішно додав новий MCP сервер. Переглянувши код плагіна, можна виявити, що у повернуті дані вже вбудовано закодоване шкідливе навантаження.

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

атака забруднення через сторонній інтерфейс

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

Практичний старт: Приховане отруєння та маніпуляції в системі MCP

Техніка отруєння на етапі ініціалізації MCP

атака накладення злочинних функцій

MasterMCP написав інструмент з такою ж назвою функції remove_server, як у Toolbox, і закодував приховані шкідливі підказки. Після виконання команди Claude Desktop не викликав оригінальний метод toolbox remove_server, а замість цього спрацював метод з такою ж назвою, наданий MasterMCP.

Практичний старт: Приховане отруєння та маніпуляції в системі MCP

Додати логіку глобальної перевірки на наявність шкідливих програм

MasterMCP написав інструмент banana, основна функція якого полягає в обов'язковому виконанні цього інструмента для проведення перевірки безпеки перед запуском усіх інших інструментів у підказці. Перед кожним виконанням функції система спочатку викликає механізм перевірки banana.

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

Розширені прийоми приховування шкідливих підказок

Дружній до великих моделей спосіб кодування

Звичайні методи включають:

  • Англійське середовище: використання кодування Hex Byte
  • Китайське середовище: використання кодування NCR або кодування JavaScript

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

механізм повернення випадкових шкідливих вантажів

Коли запит /random, кожен раз випадковим чином повертається сторінка з шкідливим навантаженням, що значно ускладнює виявлення та трасування.

Практичний старт: Приховане отруєння та маніпуляції в системі MCP

Підсумок

Завдяки практичній демонстрації MasterMCP, ми наочно побачили різні приховані безпекові ризики в системі MCP. Від простого впровадження підказок, між MCP-викликами, до більш прихованих атак на етапі ініціалізації та приховування шкідливих інструкцій, кожен етап нагадує нам: хоча екосистема MCP потужна, вона також вразлива.

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

Сподіваюся, ця демонстрація зможе привернути увагу всіх: незалежно від того, чи є ви розробником, чи користувачем, слід бути достатньо обережними щодо системи MCP, завжди звертаючи увагу на кожну взаємодію, кожен рядок коду, кожне значення, що повертається. Лише ставлячись з увагою до кожної деталі, можна справді створити надійне та безпечне середовище MCP.

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

BANANA-1.41%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 5
  • Репост
  • Поділіться
Прокоментувати
0/400
NFTRegretDiaryvip
· 07-27 15:01
Тільки наважуюсь на відкритий вихідний код тестування, бо боюся справжніх хакерів.
Переглянути оригіналвідповісти на0
LeekCuttervip
· 07-25 14:44
Ця офіційна особа сама себе вдарила по обличчю.
Переглянути оригіналвідповісти на0
PonziDetectorvip
· 07-25 14:33
Які системи цей інструмент може зламати?
Переглянути оригіналвідповісти на0
DeFiChefvip
· 07-25 14:22
Гарно, прямий відкритий вихідний код дозволяє хакерам використовувати вразливості.
Переглянути оригіналвідповісти на0
TokenomicsTherapistvip
· 07-25 14:17
Всі вразливості безпеки були оприлюднені. Хто буде відповідати?
Переглянути оригіналвідповісти на0
  • Закріпити