MCPБезпека: Глибоке дослідження сучасних загроз та стратегій захисту
Модельний контекст протокол (MCP) наразі перебуває на початковій стадії розвитку, загальне середовище є досить хаотичним, різні потенційні засоби атак з'являються один за одним. Існуючі протоколи та інструменти спроектовані так, щоб важко було ефективно захищатися від цих загроз. Щоб допомогти спільноті підвищити обізнаність щодо безпеки MCP, з'явився відкритий інструмент під назвою MasterMCP. Цей інструмент має на меті через практичні навчання атак допомогти розробникам вчасно виявляти безпекові недоліки в дизайні продукту, таким чином поступово зміцнюючи проект MCP.
Ця стаття об'єднає контрольний список безпеки MCP і проведе читача через практичну демонстрацію поширених атак у системі MCP, таких як отруєння інформацією, приховані шкідливі команди та інші реальні приклади. Усі демонстраційні сценарії відкриті, читачі можуть у безпечному середовищі повністю відтворити весь процес, а також розробити свої власні плагіни тестування атак на основі цих сценаріїв.
Загальний огляд архітектури
демонстраційна атака на ціль MCP:Toolbox
Офіційний інструмент управління MCP на відомому веб-сайті плагінів MCP був обраний як об'єкт тестування, головним чином на основі наступних міркувань:
Велика база користувачів, має представницький характер
Підтримка автоматичної установки інших плагінів, доповнення деяких функцій клієнта
Містить чутливу конфігурацію (, таку як API Key ), для зручності демонстрації
демонстраційне використання шкідливого MCP: MasterMCP
MasterMCP - це інструмент для моделювання шкідливих MCP, розроблений спеціально для тестування безпеки, який має модульну архітектуру і містить такі ключові модулі:
Локальні веб-сайти служби моделювання: швидке створення простого HTTP-сервера за допомогою фреймворку FastAPI для моделювання звичайного веб-середовища. Ці сторінки виглядають нормально, але насправді в їхньому вихідному коді або повернутому інтерфейсі приховані ретельно спроектовані шкідливі вантажі.
Локальна плагінна архітектура MCP: використовується плагінний підхід для розширення, що полегшує подальше швидке додавання нових способів атаки. Після запуску MasterMCP буде запускати службу FastAPI в дочірньому процесі.
демонстраційний клієнт
Cursor: один із найбільш популярних у світі IDE для програмування з підтримкою AI
Claude Desktop: офіційний клієнт великої AI компанії
демонстраційна версія великої моделі
Виберіть версію Claude 3.7, оскільки вона має покращення в розпізнаванні чутливих операцій, а також представляє собою досить сильну операційну здатність у сучасній екосистемі MCP.
Cross-MCP зловмисний виклик
Ця демонстрація містить два змісти: отруєння та зловмисні виклики через MCP.
атака отравлення веб-контенту
Коментарний отруєння
За допомогою Cursor отримайте доступ до місцевого тестового сайту, симулюючи доступ клієнта великої моделі до шкідливого сайту. Тестовий сайт виглядає безпечним, але насправді в HTML коментарях вбудовані шкідливі підказки. Після виконання команди Cursor не лише зчитав вміст веб-сторінки, але й повернув локальні конфіденційні дані налаштувань на тестовий сервер.
Кодовані коментарі для отруєння
Додаткова кодування шкідливих підказок, щоб зробити отруєння більш прихованим. Навіть якщо переглядати вихідний код веб-сторінки, важко безпосередньо виявити, але атака все ще успішно виконується.
атака забруднення через сторонні інтерфейси
Ця демонстрація має на меті нагадати, що незалежно від того, чи є MCP зловмисним або незловмисним, при виклику стороннього API, якщо безпосередньо повернути дані стороннього джерела в контекст, це може призвести до серйозних наслідків. Впровадження зловмисних ключових слів у повернуті JSON-дані успішно спровокувало зловмисне виконання.
Технологія отруєння на етапі ініціалізації MCP
атака на перекриття зловмисних функцій
MasterMCP написав функцію remove_server, яка має таку ж назву, як і Toolbox, і закодував приховані шкідливі підказки. Після виконання команди клієнт не викликав оригінальний метод, а натомість активував метод з такою ж назвою, наданий MasterMCP. Це було зроблено шляхом акцентування на "оригінальний метод скасовано", щоб переважно спонукати велику модель викликати шкідливу функцію заміщення.
Додати зловмисну глобальну перевірку логіки
MasterMCP написав інструмент під назвою banana, основна мета якого полягає в тому, щоб у підказках усі інструменти обов'язково виконували цей інструмент для перевірки безпеки. Це досягається шляхом повторного підкреслення в коді "необхідно виконати перевірку banana", що є глобальним логічним впровадженням.
Розширені техніки приховування шкідливих підказок
дружній до великих моделей спосіб кодування
Використання потужних можливостей аналізу багато мовних форматів великих мовних моделей для приховування шкідливої інформації:
Англійське середовище: використання кодування Hex Byte
Китайське середовище: використовуйте кодування NCR або кодування JavaScript
механізм повернення випадкового шкідливого навантаження
Кожен запит випадковим чином повертає сторінку з шкідливим навантаженням, значно ускладнюючи виявлення та трасування.
Підсумок
Завдяки практичній демонстрації MasterMCP ми наочно побачили різні приховані ризики безпеки в системі MCP. Від простого введення підказок, крос-MCP викликів до більш прихованих атак на етапі ініціалізації та приховування шкідливих інструкцій, кожен етап нагадує нам: хоча екосистема MCP потужна, вона також вразлива.
У сьогоднішньому світі, де великі моделі часто взаємодіють з зовнішніми плагінами та API, навіть незначне забруднення введення може призвести до системних безпекових ризиків. Різноманітність методів атаки також означає, що традиційні підходи до захисту потребують повної модернізації.
Сподіваюся, ця демонстрація стане сигналом тривоги для всіх: як для розробників, так і для користувачів, слід бути пильними щодо системи MCP, звертати увагу на кожну взаємодію, кожен рядок коду, кожне значення, що повертається. Лише дотримуючись суворості в деталях, можна побудувати стабільне та безпечне середовище MCP.
У майбутньому ми продовжимо вдосконалювати скрипт MasterMCP, відкривати більше цільових тестових випадків, щоб допомогти глибше зрозуміти, практикувати та зміцнювати захист у безпечному середовищі.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
16 лайків
Нагородити
16
9
Поділіться
Прокоментувати
0/400
DefiPlaybook
· 07-08 06:37
76,2% безпекових інцидентів виникають через недостатній аудит коду
Переглянути оригіналвідповісти на0
SerumSurfer
· 07-07 13:17
Розробники тремтять?
Переглянути оригіналвідповісти на0
StakeOrRegret
· 07-07 00:04
Чому стільки вразливостей? Не можу впоратися.
Переглянути оригіналвідповісти на0
RugPullAlarm
· 07-06 22:43
Ще одна система, яка страждає від численних вразливостей. Згляньте на контракт, і ви зрозумієте, що це фінансова піраміда.
Переглянути оригіналвідповісти на0
rugdoc.eth
· 07-05 08:21
Багато, багато Шахрайство
Переглянути оригіналвідповісти на0
GasGuru
· 07-05 08:20
Розробники, будьте обережні, це дуже небезпечно.
Переглянути оригіналвідповісти на0
MEVHunter
· 07-05 08:17
лмао дивись, як txpool горить... вразливість іншого протоколу виявлена
Переглянути оригіналвідповісти на0
RugResistant
· 07-05 08:06
виявлено критичну вразливість... розробники, будь ласка, прокиньтеся
Глибина аналізу загроз MCP: від отруєння до крос-MCP атак
MCPБезпека: Глибоке дослідження сучасних загроз та стратегій захисту
Модельний контекст протокол (MCP) наразі перебуває на початковій стадії розвитку, загальне середовище є досить хаотичним, різні потенційні засоби атак з'являються один за одним. Існуючі протоколи та інструменти спроектовані так, щоб важко було ефективно захищатися від цих загроз. Щоб допомогти спільноті підвищити обізнаність щодо безпеки MCP, з'явився відкритий інструмент під назвою MasterMCP. Цей інструмент має на меті через практичні навчання атак допомогти розробникам вчасно виявляти безпекові недоліки в дизайні продукту, таким чином поступово зміцнюючи проект MCP.
Ця стаття об'єднає контрольний список безпеки MCP і проведе читача через практичну демонстрацію поширених атак у системі MCP, таких як отруєння інформацією, приховані шкідливі команди та інші реальні приклади. Усі демонстраційні сценарії відкриті, читачі можуть у безпечному середовищі повністю відтворити весь процес, а також розробити свої власні плагіни тестування атак на основі цих сценаріїв.
Загальний огляд архітектури
демонстраційна атака на ціль MCP:Toolbox
Офіційний інструмент управління MCP на відомому веб-сайті плагінів MCP був обраний як об'єкт тестування, головним чином на основі наступних міркувань:
демонстраційне використання шкідливого MCP: MasterMCP
MasterMCP - це інструмент для моделювання шкідливих MCP, розроблений спеціально для тестування безпеки, який має модульну архітектуру і містить такі ключові модулі:
Локальні веб-сайти служби моделювання: швидке створення простого HTTP-сервера за допомогою фреймворку FastAPI для моделювання звичайного веб-середовища. Ці сторінки виглядають нормально, але насправді в їхньому вихідному коді або повернутому інтерфейсі приховані ретельно спроектовані шкідливі вантажі.
Локальна плагінна архітектура MCP: використовується плагінний підхід для розширення, що полегшує подальше швидке додавання нових способів атаки. Після запуску MasterMCP буде запускати службу FastAPI в дочірньому процесі.
демонстраційний клієнт
демонстраційна версія великої моделі
Виберіть версію Claude 3.7, оскільки вона має покращення в розпізнаванні чутливих операцій, а також представляє собою досить сильну операційну здатність у сучасній екосистемі MCP.
Cross-MCP зловмисний виклик
Ця демонстрація містить два змісти: отруєння та зловмисні виклики через MCP.
атака отравлення веб-контенту
За допомогою Cursor отримайте доступ до місцевого тестового сайту, симулюючи доступ клієнта великої моделі до шкідливого сайту. Тестовий сайт виглядає безпечним, але насправді в HTML коментарях вбудовані шкідливі підказки. Після виконання команди Cursor не лише зчитав вміст веб-сторінки, але й повернув локальні конфіденційні дані налаштувань на тестовий сервер.
Додаткова кодування шкідливих підказок, щоб зробити отруєння більш прихованим. Навіть якщо переглядати вихідний код веб-сторінки, важко безпосередньо виявити, але атака все ще успішно виконується.
атака забруднення через сторонні інтерфейси
Ця демонстрація має на меті нагадати, що незалежно від того, чи є MCP зловмисним або незловмисним, при виклику стороннього API, якщо безпосередньо повернути дані стороннього джерела в контекст, це може призвести до серйозних наслідків. Впровадження зловмисних ключових слів у повернуті JSON-дані успішно спровокувало зловмисне виконання.
Технологія отруєння на етапі ініціалізації MCP
атака на перекриття зловмисних функцій
MasterMCP написав функцію remove_server, яка має таку ж назву, як і Toolbox, і закодував приховані шкідливі підказки. Після виконання команди клієнт не викликав оригінальний метод, а натомість активував метод з такою ж назвою, наданий MasterMCP. Це було зроблено шляхом акцентування на "оригінальний метод скасовано", щоб переважно спонукати велику модель викликати шкідливу функцію заміщення.
Додати зловмисну глобальну перевірку логіки
MasterMCP написав інструмент під назвою banana, основна мета якого полягає в тому, щоб у підказках усі інструменти обов'язково виконували цей інструмент для перевірки безпеки. Це досягається шляхом повторного підкреслення в коді "необхідно виконати перевірку banana", що є глобальним логічним впровадженням.
Розширені техніки приховування шкідливих підказок
дружній до великих моделей спосіб кодування
Використання потужних можливостей аналізу багато мовних форматів великих мовних моделей для приховування шкідливої інформації:
механізм повернення випадкового шкідливого навантаження
Кожен запит випадковим чином повертає сторінку з шкідливим навантаженням, значно ускладнюючи виявлення та трасування.
Підсумок
Завдяки практичній демонстрації MasterMCP ми наочно побачили різні приховані ризики безпеки в системі MCP. Від простого введення підказок, крос-MCP викликів до більш прихованих атак на етапі ініціалізації та приховування шкідливих інструкцій, кожен етап нагадує нам: хоча екосистема MCP потужна, вона також вразлива.
У сьогоднішньому світі, де великі моделі часто взаємодіють з зовнішніми плагінами та API, навіть незначне забруднення введення може призвести до системних безпекових ризиків. Різноманітність методів атаки також означає, що традиційні підходи до захисту потребують повної модернізації.
Сподіваюся, ця демонстрація стане сигналом тривоги для всіх: як для розробників, так і для користувачів, слід бути пильними щодо системи MCP, звертати увагу на кожну взаємодію, кожен рядок коду, кожне значення, що повертається. Лише дотримуючись суворості в деталях, можна побудувати стабільне та безпечне середовище MCP.
У майбутньому ми продовжимо вдосконалювати скрипт MasterMCP, відкривати більше цільових тестових випадків, щоб допомогти глибше зрозуміти, практикувати та зміцнювати захист у безпечному середовищі.