Розкриття вразливостей MCP безпеки: демонстрація атак та стратегії захисту

Демонстрація небезпек і атак MCP

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

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

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

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

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

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

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

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

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

  1. Симуляція послуг локального веб-сайту:

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

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

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

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

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

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

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

  • Клод 3.7

Перехресний виклик MCP зловмисним чином

атака на веб-контент шляхом отруєння

  1. Коментуюче отруєння

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

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

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

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

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

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

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

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

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

напад на функції зловмисного перекриття

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

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

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

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

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

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

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

Використання LLM для приховування шкідливої інформації завдяки потужній здатності до аналізу багатомовних форматів:

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

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

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

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

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

Підсумок

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

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

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

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

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 8
  • Поділіться
Прокоментувати
0/400
OffchainWinnervip
· 07-18 07:06
Ха, новачок білий капелюх, кожен раз тремтить
Переглянути оригіналвідповісти на0
CafeMinorvip
· 07-18 05:32
У каналізаційних трубах навіть немає вогнетривкої стіни?
Переглянути оригіналвідповісти на0
GateUser-a5fa8bd0vip
· 07-18 00:25
Смішно, знову коло технічних про.
Переглянути оригіналвідповісти на0
WalletManagervip
· 07-15 07:59
Атака тренувань скільки, чи можна знайти справжні проблеми під час аудиту контракту?
Переглянути оригіналвідповісти на0
TokenomicsTherapistvip
· 07-15 07:58
Ейма, ця проблема з mcp серйозніша, ніж я думав.
Переглянути оригіналвідповісти на0
ResearchChadButBrokevip
· 07-15 07:56
Справді, не можу повірити, у який час ми живемо, а все ще є вразливості.
Переглянути оригіналвідповісти на0
CryptoCross-TalkClubvip
· 07-15 07:56
Ще одна пастка для невдах нарешті запущена?
Переглянути оригіналвідповісти на0
ConfusedWhalevip
· 07-15 07:51
Сусід Ляо Лю сказав, що це непогано.
Переглянути оригіналвідповісти на0
  • Закріпити