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

robot
Генерація анотацій у процесі

Потенційні ризики безпеки та демонстрація атак у системі MCP

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

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

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

Огляд загальної архітектури

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

Toolbox є популярним інструментом управління MCP, який має велику кількість користувачів. Вибір його в якості цільового тесту ґрунтується на наступних міркуваннях:

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

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

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

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

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

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

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

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

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

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

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

  • Клод 3.7

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

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

атака з отруєння вмісту веб-сторінки

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

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

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

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

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

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

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

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

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

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

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

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

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

атака на покриття зловмисних функцій

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

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

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

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

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

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

кодування, дружнє до великих моделей

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

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

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

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

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

![Практична робота: Приховане отруєння та маніпуляції в системі MCP](https://img-cdn.gateio.im/webp-social/moments-c5a25d6fa43a286a07b6a57c1a3f9605.webp01

Підсумок

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

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

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

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

![Практичний старт: приховане отруєння та маніпуляції в системі MCP])https://img-cdn.gateio.im/webp-social/moments-bf6d8976b54bebbec34699753f4dbb70.webp(

BANANA-5.29%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 2
  • Поділіться
Прокоментувати
0/400
LeverageAddictvip
· 07-23 09:26
Зверніть увагу на перехід через сліпі отвори MCP
Переглянути оригіналвідповісти на0
FarmHoppervip
· 07-23 09:13
Необхідно суворо запобігати отруєнню
Переглянути оригіналвідповісти на0
  • Закріпити