Обговорення ризиків безпеки системи MCP та заходів захисту
MCP (Model Context Protocol) система наразі перебуває на ранній стадії розвитку, загальне середовище є доволі хаотичним, різні потенційні способи атак з'являються один за одним, існуючі протоколи та інструменти розроблені так, що важко ефективно захищатися. Щоб підвищити безпеку MCP, Slow Mist відкрила вихідний код інструменту MasterMCP, який покликаний допомогти виявити вразливості в дизайні продукту через практичні тренування атак, поступово зміцнюючи проект MCP.
У цьому документі буде використано контрольний список безпеки MCP, щоб на практиці продемонструвати читачам поширені методи атак у рамках системи MCP, такі як інформаційне отруєння, приховані зловмисні команди та інші реальні випадки. Усі демонстраційні сценарії будуть відкритими, щоб кожен міг відтворити їх у безпечному середовищі та розробити свої власні плагіни для тестування атак.
Загальний огляд архітектури
Демонстраційна ціль атаки MCP: Toolbox
Toolbox є офіційним інструментом управління MCP, випущеним веб-сайтом плагінів MCP. Вибір Toolbox в якості цільового об'єкта для тестування базується на наступних пунктах:
Велика база користувачів, має репрезентативність
Підтримка автоматичної установки інших плагінів для доповнення деяких функцій клієнта
Містить чутливі налаштування, зручні для демонстрації
демонстраційне використання шкідливого MCP: MasterMCP
MasterMCP - це інструмент для моделювання шкідливих MCP, спеціально розроблений для тестування безпеки, з архітектурою на основі плагінів, який містить такі ключові модулі:
Локальний веб-сервіс симуляції: за допомогою фреймворку FastAPI створено простий HTTP-сервер, що імітує звичайне веб-середовище. Ці сторінки виглядають нормально, але насправді в вихідному коді або у відповіді API приховані ретельно спроектовані шкідливі вантажі.
Локальна плагінна архітектура MCP: використовує плагінний підхід для розширення, що полегшує швидке додавання нових способів атак у майбутньому. Після запуску MasterMCP запустить службу FastAPI в дочірньому процесі.
демонстраційний клієнт
Cursor: один з найбільш популярних у світі IDE для програмування з підтримкою AI
Claude Desktop: офіційний клієнт певної компанії
демонстраційне використання великої моделі
Виберіть версію Claude 3.7, оскільки вона має певні покращення в ідентифікації чутливих операцій, а також представляє собою досить сильну операційну здатність у поточній екосистемі MCP.
Cross-MCP зловмисний виклик
атака отравлення веб-контенту
Коментований отруєння
Шляхом доступу до місцевого тестового сайту, моделювання впливу доступу клієнта великої моделі до злочинного сайту. Результати показують, що клієнт не лише зчитував вміст веб-сторінки, але й повертав чутливі налаштування з локального середовища на тестовий сервер. Зловмисні підказки були вбудовані у вигляді HTML коментарів, хоча і були досить зрозумілими, але вже могли викликати злочинні дії.
Кодовані коментарі отруєння
Відвідування закодованих шкідливих веб-сторінок, навіть якщо вихідний код не містить відкритих підказок, атака все ще успішно виконується. Цей спосіб робить отруєння більш прихованим і важким для безпосереднього виявлення.
атака забруднення через сторонній інтерфейс
Демонстрація показує, що незалежно від того, є MCP зловмисним чи незловмисним, пряма передача даних третьої сторони у контекст може мати серйозні наслідки під час виклику API третьої сторони. Зловмисні ключові слова можуть бути вставлені в повернуті дані JSON і безперешкодно викликати зловмисне виконання.
Техніка отруєння на етапі ініціалізації MCP
атака на перезаписування зловмисних функцій
MasterMCP написав функцію з такою ж назвою, як Toolbox, і закодував приховані шкідливі підказки. Підкреслюючи, що "попередній метод скасовано", він спонукає велику модель спочатку викликати шкідливо перекриту функцію.
Додати зловмисну глобальну перевірку логіки
MasterMCP написав інструмент, який вимагає обов'язкового виконання перевірки безпеки перед запуском усіх інструментів. Це досягається шляхом повторного підкреслення в коді "необхідно виконати перевірку" для реалізації глобальної логіки вставки.
Розширені техніки приховування зловмисних підказок
дружній до великих моделей спосіб кодування
Використання потужних можливостей аналізу багатомовних форматів великих мовних моделей для приховування шкідливої інформації:
Китайське середовище: використання кодування NCR або кодування JavaScript
механізм повернення випадкового шкідливого вантажу
Кожен запит випадковим чином повертає сторінку з шкідливим вантажем, що ускладнює виявлення та відстеження.
Підсумок
Демонстрація MasterMCP в реальних умовах виявила різні загрози безпеці в системі MCP. Від простих ін'єкцій підказок до прихованих атак на етапі ініціалізації, кожен етап нагадує нам про вразливість екосистеми MCP. Часті взаємодії великих моделей з зовнішніми плагінами та API означають, що навіть невелике забруднення введення може спричинити системні ризики безпеки.
Різноманітність методів атаки (приховування коду, випадкове забруднення, перекриття функцій) означає, що традиційні підходи до захисту потребують всебічного оновлення. Розробники та користувачі повинні бути пильними щодо системи MCP, звертаючи увагу на кожну взаємодію, кожен рядок коду, кожне значення, що повертається. Лише приділяючи увагу деталям, можна збудувати надійне та безпечне середовище MCP.
У майбутньому ми продовжимо вдосконалювати скрипт MasterMCP, відкривати більше цільових тестових випадків, щоб допомогти в безпечному середовищі поглибити розуміння, відпрацювати та посилити захист.
 і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
18 лайків
Нагородити
18
8
Поділіться
Прокоментувати
0/400
liquidation_surfer
· 07-09 09:11
Не можна перепригнути через питання безпеки.
Переглянути оригіналвідповісти на0
RunWhenCut
· 07-09 07:17
Ця диня змушує мене тремтіти всім тілом.
Переглянути оригіналвідповісти на0
HashBard
· 07-08 21:03
отже, ще один день, ще одна вразливість у системі безпеки mcp... поезія в хаосі, чи не так?
Переглянути оригіналвідповісти на0
SatoshiHeir
· 07-06 20:33
Безсумнівно, ветеран, який переглянув Біла книга більше 200 разів, проходячи повз, вважає, що в цій статті багато помилок.
Переглянути оригіналвідповісти на0
MetaverseVagabond
· 07-06 20:32
Не копіюйте продукти, а то відсидите у в'язниці.
Переглянути оригіналвідповісти на0
failed_dev_successful_ape
· 07-06 20:20
Деталі можуть знищити проект
Переглянути оригіналвідповісти на0
SchroedingerAirdrop
· 07-06 20:15
Цей неочікуваний код взагалі не можна написати.
Переглянути оригіналвідповісти на0
TokenEconomist
· 07-06 20:11
дозвольте мені це пояснити - ключова вразливість полягає в невідповідності стимулів моделі безпеки MCP
Повний аналіз безпекових ризиків MCP: від атак з отруєнням до стратегій захисту
Обговорення ризиків безпеки системи MCP та заходів захисту
MCP (Model Context Protocol) система наразі перебуває на ранній стадії розвитку, загальне середовище є доволі хаотичним, різні потенційні способи атак з'являються один за одним, існуючі протоколи та інструменти розроблені так, що важко ефективно захищатися. Щоб підвищити безпеку MCP, Slow Mist відкрила вихідний код інструменту MasterMCP, який покликаний допомогти виявити вразливості в дизайні продукту через практичні тренування атак, поступово зміцнюючи проект MCP.
У цьому документі буде використано контрольний список безпеки MCP, щоб на практиці продемонструвати читачам поширені методи атак у рамках системи MCP, такі як інформаційне отруєння, приховані зловмисні команди та інші реальні випадки. Усі демонстраційні сценарії будуть відкритими, щоб кожен міг відтворити їх у безпечному середовищі та розробити свої власні плагіни для тестування атак.
Загальний огляд архітектури
Демонстраційна ціль атаки MCP: Toolbox
Toolbox є офіційним інструментом управління MCP, випущеним веб-сайтом плагінів MCP. Вибір Toolbox в якості цільового об'єкта для тестування базується на наступних пунктах:
демонстраційне використання шкідливого MCP: MasterMCP
MasterMCP - це інструмент для моделювання шкідливих MCP, спеціально розроблений для тестування безпеки, з архітектурою на основі плагінів, який містить такі ключові модулі:
Локальний веб-сервіс симуляції: за допомогою фреймворку FastAPI створено простий HTTP-сервер, що імітує звичайне веб-середовище. Ці сторінки виглядають нормально, але насправді в вихідному коді або у відповіді API приховані ретельно спроектовані шкідливі вантажі.
Локальна плагінна архітектура MCP: використовує плагінний підхід для розширення, що полегшує швидке додавання нових способів атак у майбутньому. Після запуску MasterMCP запустить службу FastAPI в дочірньому процесі.
демонстраційний клієнт
демонстраційне використання великої моделі
Виберіть версію Claude 3.7, оскільки вона має певні покращення в ідентифікації чутливих операцій, а також представляє собою досить сильну операційну здатність у поточній екосистемі MCP.
Cross-MCP зловмисний виклик
атака отравлення веб-контенту
Шляхом доступу до місцевого тестового сайту, моделювання впливу доступу клієнта великої моделі до злочинного сайту. Результати показують, що клієнт не лише зчитував вміст веб-сторінки, але й повертав чутливі налаштування з локального середовища на тестовий сервер. Зловмисні підказки були вбудовані у вигляді HTML коментарів, хоча і були досить зрозумілими, але вже могли викликати злочинні дії.
Відвідування закодованих шкідливих веб-сторінок, навіть якщо вихідний код не містить відкритих підказок, атака все ще успішно виконується. Цей спосіб робить отруєння більш прихованим і важким для безпосереднього виявлення.
атака забруднення через сторонній інтерфейс
Демонстрація показує, що незалежно від того, є MCP зловмисним чи незловмисним, пряма передача даних третьої сторони у контекст може мати серйозні наслідки під час виклику API третьої сторони. Зловмисні ключові слова можуть бути вставлені в повернуті дані JSON і безперешкодно викликати зловмисне виконання.
Техніка отруєння на етапі ініціалізації MCP
атака на перезаписування зловмисних функцій
MasterMCP написав функцію з такою ж назвою, як Toolbox, і закодував приховані шкідливі підказки. Підкреслюючи, що "попередній метод скасовано", він спонукає велику модель спочатку викликати шкідливо перекриту функцію.
Додати зловмисну глобальну перевірку логіки
MasterMCP написав інструмент, який вимагає обов'язкового виконання перевірки безпеки перед запуском усіх інструментів. Це досягається шляхом повторного підкреслення в коді "необхідно виконати перевірку" для реалізації глобальної логіки вставки.
Розширені техніки приховування зловмисних підказок
дружній до великих моделей спосіб кодування
Використання потужних можливостей аналізу багатомовних форматів великих мовних моделей для приховування шкідливої інформації:
механізм повернення випадкового шкідливого вантажу
Кожен запит випадковим чином повертає сторінку з шкідливим вантажем, що ускладнює виявлення та відстеження.
Підсумок
Демонстрація MasterMCP в реальних умовах виявила різні загрози безпеці в системі MCP. Від простих ін'єкцій підказок до прихованих атак на етапі ініціалізації, кожен етап нагадує нам про вразливість екосистеми MCP. Часті взаємодії великих моделей з зовнішніми плагінами та API означають, що навіть невелике забруднення введення може спричинити системні ризики безпеки.
Різноманітність методів атаки (приховування коду, випадкове забруднення, перекриття функцій) означає, що традиційні підходи до захисту потребують всебічного оновлення. Розробники та користувачі повинні бути пильними щодо системи MCP, звертаючи увагу на кожну взаємодію, кожен рядок коду, кожне значення, що повертається. Лише приділяючи увагу деталям, можна збудувати надійне та безпечне середовище MCP.
У майбутньому ми продовжимо вдосконалювати скрипт MasterMCP, відкривати більше цільових тестових випадків, щоб допомогти в безпечному середовищі поглибити розуміння, відпрацювати та посилити захист.
![Практичний старт: Схема MCP з прихованим отруєнням та маніпуляцією](https://img-cdn.gateio.im/webp-social/moments-c5a25d6fa43a286a07b6a57c1a3f9605.webp01