MCP (Model Context Protocol) система наразі все ще перебуває на ранній стадії розвитку, загальне середовище досить хаотичне, різні потенційні способи атак з'являються один за одним, існуючі протоколи та інструменти важко ефективно захищати. Щоб підвищити обізнаність громади про безпеку MCP, SlowMist відкрив MasterMCP інструмент, який має на меті за допомогою практичних атак допомогти розробникам вчасно виявляти безпекові ризики в дизайні продукту, а отже, поступово зміцнювати безпеку проекту MCP.
Ця стаття продемонструє на практиці поширені способи атак в рамках системи MCP, такі як інформаційне отруєння, приховані шкідливі команди та інші реальні випадки. Усі демонстраційні скрипти також будуть відкритими для загального користування, щоб кожен міг відтворити весь процес у безпечному середовищі, а також розробити свої власні плагіни для тестування атак на основі цих скриптів.
Загальний огляд архітектури
Демонстрація атаки на ціль MCP: Toolbox
Виберіть Toolbox як ціль тестування, головним чином на основі наступних пунктів:
Велика кількість користувачів, має репрезентативний характер
Підтримка автоматичної установки інших плагінів, доповнення деяких функцій клієнта
Містить чутливі конфігурації, зручні для демонстрації
демонстраційне використання шкідливого MC: MasterMC
MasterMCP є інструментом моделювання шкідливого MCP, спеціально розробленим компанією SlowMist для безпекового тестування, який має модульну архітектуру та включає такі ключові модулі:
Симуляція послуг локального веб-сайту:
Швидко побудуйте простий HTTP-сервер за допомогою фреймворку FastAPI, імітуючи звичайне веб-середовище. Ці сторінки виглядають нормально, але насправді в коді або у відповідях API приховані ретельно розроблені шкідливі навантаження.
Локальна плагінна архітектура MCP
MasterMCP використовує плагінний підхід для розширення, що полегшує швидке додавання нових методів атаки в майбутньому. Після запуску MasterMCP буде запускати сервіс FastAPI попереднього модуля в дочірньому процесі.
демонстраційний клієнт
Cursor: один з найпопулярніших AI-підтримуваних IDE для програмування у світі
Claude Desktop: офіційний клієнт Anthropic
демонстраційна велика модель
Клод 3.7
Перехресний виклик MCP зловмисним чином
атака на веб-контент шляхом отруєння
Коментуюче отруєння
Доступ до локального тестового сайту через Cursor, моделюючи вплив, який завдає доступ до шкідливих сайтів з боку клієнта великої моделі. Після виконання команди Cursor не лише зчитав вміст веб-сторінки, але й передав локальні чутливі конфігураційні дані на тестовий сервер. У вихідному коді шкідливі підказки вбудовані у вигляді HTML-коментарів.
Кодовані коментарі отруєння
Відвідування сторінки /encode, зловмисні підказки були закодовані, що робить отруєння більш прихованим. Навіть якщо вихідний код не містить відкритих підказок, атака все ще успішно виконується.
атака забруднення через сторонній інтерфейс
Демонстраційне нагадування, незалежно від того, чи є MCP шкідливим чи не шкідливим, при виклику API третьої сторони, якщо безпосередньо повернути дані третьої сторони в контекст, це може мати серйозний вплив.
Технологія отруєння на етапі ініціалізації MCP
напад на функції зловмисного перекриття
MasterMCP написав інструмент remove_server, що має таку ж назву, як функція Toolbox, і закодував приховані шкідливі підказки. Після виконання команди Claude Desktop викликав метод з такою ж назвою, наданий MasterMCP, а не оригінальний метод toolbox remove_server.
Додати зловмисну глобальну перевірку логіки
MasterMCP написав інструмент banana, який примушує всі інструменти виконувати цей інструмент для перевірки безпеки перед запуском. Перед кожним виконанням функції система спочатку викликає механізм перевірки banana.
Розширені прийоми приховування шкідливих підказок
Дружній до великих моделей спосіб кодування
Використання LLM для приховування шкідливої інформації завдяки потужній здатності до аналізу багатомовних форматів:
Англійське середовище: використання кодування Hex Byte
Українське середовище: використання кодування NCR або кодування JavaScript
механізм повернення випадкових шкідливих вантажів
Щоразу, коли запитують /random, випадковим чином повертається сторінка з шкідливим навантаженням, що ускладнює виявлення та трасування.
Підсумок
Демонстрація MasterMCP на практиці наочно показує різні безпекові ризики в системі MCP. Від простих ін'єкцій підказок, крос-викликів MCP, до більш прихованих атак на етапі ініціалізації та приховання шкідливих команд, кожен етап нагадує нам про вразливість екосистеми MCP.
Невелике забруднення введення може викликати системні ризики безпеки, а різноманітність методів атак означає, що традиційні підходи до захисту потребують повної модернізації. Розробники та користувачі повинні бути пильними щодо системи MCP, звертати увагу на кожну взаємодію, кожен рядок коду, кожне значення, яке повертається, щоб побудувати надійне та безпечне середовище MCP.
SlowMist буде продовжувати вдосконалювати скрипт MasterMCP, відкривати більше цільових тестових випадків, щоб допомогти всім у безпечному середовищі глибше зрозуміти, відпрацьовувати та зміцнювати захист. Відповідний контент вже синхронізовано на GitHub, зацікавлені читачі можуть відвідати та переглянути.
 і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
17 лайків
Нагородити
17
8
Поділіться
Прокоментувати
0/400
OffchainWinner
· 07-18 07:06
Ха, новачок білий капелюх, кожен раз тремтить
Переглянути оригіналвідповісти на0
CafeMinor
· 07-18 05:32
У каналізаційних трубах навіть немає вогнетривкої стіни?
Переглянути оригіналвідповісти на0
GateUser-a5fa8bd0
· 07-18 00:25
Смішно, знову коло технічних про.
Переглянути оригіналвідповісти на0
WalletManager
· 07-15 07:59
Атака тренувань скільки, чи можна знайти справжні проблеми під час аудиту контракту?
Переглянути оригіналвідповісти на0
TokenomicsTherapist
· 07-15 07:58
Ейма, ця проблема з mcp серйозніша, ніж я думав.
Переглянути оригіналвідповісти на0
ResearchChadButBroke
· 07-15 07:56
Справді, не можу повірити, у який час ми живемо, а все ще є вразливості.
Розкриття вразливостей MCP безпеки: демонстрація атак та стратегії захисту
Демонстрація небезпек і атак MCP
MCP (Model Context Protocol) система наразі все ще перебуває на ранній стадії розвитку, загальне середовище досить хаотичне, різні потенційні способи атак з'являються один за одним, існуючі протоколи та інструменти важко ефективно захищати. Щоб підвищити обізнаність громади про безпеку MCP, SlowMist відкрив MasterMCP інструмент, який має на меті за допомогою практичних атак допомогти розробникам вчасно виявляти безпекові ризики в дизайні продукту, а отже, поступово зміцнювати безпеку проекту MCP.
Ця стаття продемонструє на практиці поширені способи атак в рамках системи MCP, такі як інформаційне отруєння, приховані шкідливі команди та інші реальні випадки. Усі демонстраційні скрипти також будуть відкритими для загального користування, щоб кожен міг відтворити весь процес у безпечному середовищі, а також розробити свої власні плагіни для тестування атак на основі цих скриптів.
Загальний огляд архітектури
Демонстрація атаки на ціль MCP: Toolbox
Виберіть Toolbox як ціль тестування, головним чином на основі наступних пунктів:
демонстраційне використання шкідливого MC: MasterMC
MasterMCP є інструментом моделювання шкідливого MCP, спеціально розробленим компанією SlowMist для безпекового тестування, який має модульну архітектуру та включає такі ключові модулі:
Симуляція послуг локального веб-сайту:
Швидко побудуйте простий HTTP-сервер за допомогою фреймворку FastAPI, імітуючи звичайне веб-середовище. Ці сторінки виглядають нормально, але насправді в коді або у відповідях API приховані ретельно розроблені шкідливі навантаження.
Локальна плагінна архітектура MCP
MasterMCP використовує плагінний підхід для розширення, що полегшує швидке додавання нових методів атаки в майбутньому. Після запуску MasterMCP буде запускати сервіс FastAPI попереднього модуля в дочірньому процесі.
демонстраційний клієнт
демонстраційна велика модель
Перехресний виклик MCP зловмисним чином
атака на веб-контент шляхом отруєння
Доступ до локального тестового сайту через Cursor, моделюючи вплив, який завдає доступ до шкідливих сайтів з боку клієнта великої моделі. Після виконання команди Cursor не лише зчитав вміст веб-сторінки, але й передав локальні чутливі конфігураційні дані на тестовий сервер. У вихідному коді шкідливі підказки вбудовані у вигляді HTML-коментарів.
Відвідування сторінки /encode, зловмисні підказки були закодовані, що робить отруєння більш прихованим. Навіть якщо вихідний код не містить відкритих підказок, атака все ще успішно виконується.
атака забруднення через сторонній інтерфейс
Демонстраційне нагадування, незалежно від того, чи є MCP шкідливим чи не шкідливим, при виклику API третьої сторони, якщо безпосередньо повернути дані третьої сторони в контекст, це може мати серйозний вплив.
Технологія отруєння на етапі ініціалізації MCP
напад на функції зловмисного перекриття
MasterMCP написав інструмент remove_server, що має таку ж назву, як функція Toolbox, і закодував приховані шкідливі підказки. Після виконання команди Claude Desktop викликав метод з такою ж назвою, наданий MasterMCP, а не оригінальний метод toolbox remove_server.
Додати зловмисну глобальну перевірку логіки
MasterMCP написав інструмент banana, який примушує всі інструменти виконувати цей інструмент для перевірки безпеки перед запуском. Перед кожним виконанням функції система спочатку викликає механізм перевірки banana.
Розширені прийоми приховування шкідливих підказок
Дружній до великих моделей спосіб кодування
Використання LLM для приховування шкідливої інформації завдяки потужній здатності до аналізу багатомовних форматів:
механізм повернення випадкових шкідливих вантажів
Щоразу, коли запитують /random, випадковим чином повертається сторінка з шкідливим навантаженням, що ускладнює виявлення та трасування.
Підсумок
Демонстрація MasterMCP на практиці наочно показує різні безпекові ризики в системі MCP. Від простих ін'єкцій підказок, крос-викликів MCP, до більш прихованих атак на етапі ініціалізації та приховання шкідливих команд, кожен етап нагадує нам про вразливість екосистеми MCP.
Невелике забруднення введення може викликати системні ризики безпеки, а різноманітність методів атак означає, що традиційні підходи до захисту потребують повної модернізації. Розробники та користувачі повинні бути пильними щодо системи MCP, звертати увагу на кожну взаємодію, кожен рядок коду, кожне значення, яке повертається, щоб побудувати надійне та безпечне середовище MCP.
SlowMist буде продовжувати вдосконалювати скрипт MasterMCP, відкривати більше цільових тестових випадків, щоб допомогти всім у безпечному середовищі глибше зрозуміти, відпрацьовувати та зміцнювати захист. Відповідний контент вже синхронізовано на GitHub, зацікавлені читачі можуть відвідати та переглянути.
![Практична подорож: Схема MCP - приховане отруєння та маніпуляції](https://img-cdn.gateio.im/webp-social/moments-c5a25d6fa43a286a07b6a57c1a3f9605.webp01