MasterMCP виявляє загрози безпеці MCP. Практична демонстрація різних методів атак.

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

Безпекові ризики та демонстрація атак системи MCP

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

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

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

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

smithery.ai є одним із популярних веб-сайтів плагінів MCP, що зібрав велику кількість списків MCP та активних користувачів. Серед них @smithery/toolbox - це офіційно випущений інструмент управління MCP.

Вибір Toolbox як цільового об'єкта тестування головним чином базується на:

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

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

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

  1. Місцеві служби веб-сайтів імітація:

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

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

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

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

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

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

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

  • Клод 3.7

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

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

Ця демонстрація містить два елементи: отруєння та зловмисний виклик Cross-MCP.

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

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

Курсор отримує доступ до місцевого тестового сайту, це, здавалося б, нешкідлива сторінка "Смачний Світ Тортів".

Виконати команду: Отримати вміст

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

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

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

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

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

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

атака на третій сторонній інтерфейс

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

Виконати запит: Отримати json з /api/data

Результат: зловмисні підказки були впроваджені в повернуті дані JSON і успішно викликали зловмисне виконання.

Практична частина: приховане отруєння та маніпуляції в системі 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

Підсумок

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

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

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

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

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

BANANA-4.94%
CROSS3.67%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 6
  • Поділіться
Прокоментувати
0/400
screenshot_gainsvip
· 6год тому
gm знову з'явилася нова вразливість
Переглянути оригіналвідповісти на0
AirdropSweaterFanvip
· 6год тому
Обережно, обман для дурнів!
Переглянути оригіналвідповісти на0
ContractCollectorvip
· 6год тому
MC надіслано
Переглянути оригіналвідповісти на0
ForkItAllvip
· 6год тому
Чорний вже вийшов, що ще можна сказати?
Переглянути оригіналвідповісти на0
MissedAirdropBrovip
· 6год тому
Катафалки набагато стабільніші за нього
Переглянути оригіналвідповісти на0
MEVSandwichVictimvip
· 6год тому
Знову обдурили, так? Обдурювати людей, як лохів, нічого не зрівняється з обдуренням нас, невдах~
Переглянути оригіналвідповісти на0
  • Закріпити