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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Клод 3.7

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

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

Демонстрація зловмисного виклику Cross-MCP

атака на вміст веб-сторінки

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

За допомогою Cursor відвідайте локальний тестовий сайт, це виглядає як безпечна сторінка "Смачний торт світ".

Виконати команду:

Отримати вміст з

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

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

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

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

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

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

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

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

Згідно з інструкціями MasterMCP введіть симуляційні команди:

отримати багато яблук

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

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

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

Виконати запит:

Отримати 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.

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

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

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

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 4
  • Поділіться
Прокоментувати
0/400
NFTRegretDiaryvip
· 07-10 08:55
Знову з'явилися «білі капелюхи», які демонструють свої вміння.
Переглянути оригіналвідповісти на0
DogeBachelorvip
· 07-09 10:01
новачок прийшов поїсти
Переглянути оригіналвідповісти на0
HashBardvip
· 07-09 09:55
ще один день, ще один експлойт... MCP дійсно потрібно підняти свій рівень серйозно
Переглянути оригіналвідповісти на0
VibesOverChartsvip
· 07-09 09:55
Знову говорять про великі битви, вже набридло.
Переглянути оригіналвідповісти на0
  • Закріпити