Аналіз ризиків безпеки та методів атак в системі MCP
Система MCP (Model Context Protocol) наразі перебуває на ранній стадії розвитку, загальне середовище є досить хаотичним, різні потенційні способи атак з'являються один за одним, а існуючі протоколи та інструменти важко ефективно захистити. Для підвищення безпеки MCP з'явився відкритий інструмент під назвою MasterMCP, що має на меті допомогти виявити безпекові вразливості в дизайні продуктів через практичні навчання атак, тим самим поступово зміцнюючи проект MCP.
У цій статті буде розглянуто типові способи атак у системі MCP на основі контрольного списку безпеки MCP, такі як отруєння інформації, приховування шкідливих інструкцій та інші реальні випадки. Усі демонстраційні скрипти вже відкриті, читачі можуть відтворити весь процес у безпечному середовищі або навіть розробити свої власні плагіни для тестування атак.
Огляд загальної архітектури
Демонстраційна атака цілі MCP: Toolbox
Вибір Toolbox як ціль для тестування заснований на таких міркуваннях:
Велика база користувачів, має представницький характер
Підтримка автоматичної установки інших плагінів для доповнення деяких функцій клієнта
Включає чутливі налаштування, що полегшує демонстрацію
демонстраційне використання шкідливого MCP: MasterMCP
MasterMCP - це інструмент для моделювання шкідливих MCP, спеціально розроблений для тестування безпеки, що використовує модульну архітектуру та містить такі ключові модулі:
Симуляція локальних веб-сайтів: створення простого HTTP-сервера за допомогою фреймворку FastAPI для імітації звичайного веб-середовища. Ці сторінки виглядають нормально, але насправді в вихідному коді або відповідях API приховані ретельно спроектовані шкідливі навантаження.
Локальна плагінна архітектура MCP: використовується плагінний підхід для розширення, що полегшує швидке додавання нових методів атаки. Після запуску MasterMCP буде виконувати службу FastAPI в дочірньому процесі.
демонстраційний клієнт
Cursor: Один з найпопулярніших у світі IDE для програмування з підтримкою AI
Claude Desktop: офіційний клієнт для кастомізації MCP протоколу
демонстраційна велика модель
Оберіть версію Claude 3.7, оскільки вона вже має певні покращення в розпізнаванні чутливих операцій, а також представляє собою досить сильну операційну здатність в поточній екосистемі MCP.
Cross-MCP зловмисний виклик
Ця демонстрація містить два змісти: отруєння та зловмисний виклик Cross-MCP.
атака на контент веб-сторінки
Коментуючий отруєння
За допомогою Cursor відвідати місцевий тестовий веб-сайт, імітуючи вплив доступу клієнта великої моделі до шкідливого веб-сайту. У вихідному коді шкідливі підказки вбудовані у вигляді HTML-коментарів. Хоча метод коментарів досить простий, він вже може викликати шкідливі дії.
Кодувальна коментарна отрута
Відвідування закодованих шкідливих веб-сторінок робить отруєння exp більш прихованим, навіть перегляд коду не дозволяє безпосередньо виявити його. Атака все ще успішно виконана, конкретний принцип буде детально пояснений у наступних розділах.
MCP інструменти повертають інформаційне отруєння
Згідно з описом підказок MasterMCP, введіть симуляційні команди, щоб активувати подальші дії демонстрації шкідливого MCP. Можна побачити, що після активації команди клієнт виконує перехресний виклик MCP до Toolbox та успішно додає новий сервер MCP.
атака забруднення стороннього інтерфейсу
Демонстраційне нагадування: незалежно від того, чи є MCP зловмисним чи без злого наміру, при виклику стороннього API, якщо безпосередньо повертати контекст даних третьої сторони, це може суттєво вплинути.
Технологія отруєння на етапі ініціалізації MCP
Ця демонстрація містить два змісти: початкову ін'єкцію підказок та конфлікти назв.
атака на перезаписування функцій
MasterMCP написав tool з такою ж назвою функції, як у Toolbox, і закодував приховані шкідливі підказки. Наголошуючи на тому, що "попередній метод скасовано", він спонукає велику модель спочатку викликати функцію з шкідливим перекриттям.
Додати логіку глобальної перевірки на наявність шкідливих дій
MasterMCP написав інструмент під назвою banana, основна функція якого полягає в тому, щоб у всіх підказках примусово виконувати цей інструмент для перевірки безпеки перед запуском усіх інших інструментів. Це досягається шляхом постійного підкреслення "необхідно запустити перевірку banana" для реалізації глобальної логіки ін'єкції.
Розширені техніки приховування шкідливих підказок
Дружній до великих моделей спосіб кодування
Використання потужних аналітичних можливостей великих мовних моделей для приховування шкідливої інформації у багатомовних форматах, до поширених методів належать:
Англійське середовище: використання кодування Hex Byte
Китайське середовище: використання кодування NCR або кодування JavaScript
Випадковий механізм повернення шкідливих навантажень
Кожен запит випадковим чином повертає сторінки з шкідливим навантаженням, що значно ускладнює виявлення та відстеження.
Резюме
Демонстрація MasterMCP на практиці наочно показує різні приховані небезпеки в системі MCP. Від простого введення підказок до прихованих атак на етапі ініціалізації, кожен етап нагадує нам, що екосистема MCP хоч і потужна, але вразлива.
Маленьке введення забруднення може викликати системні ризики безпеки. Різноманітність методів атакаторів означає, що традиційні підходи до захисту потрібно повністю оновити. Розробники та користувачі повинні бути насторожі щодо системи MCP, звертаючи увагу на кожну взаємодію, кожен рядок коду, кожне значення, що повертається. Лише ставлячи до деталей вимогливе ставлення, можна побудувати надійне та безпечне середовище MCP.
У майбутньому буде продовжено вдосконалення скрипту MasterMCP, відкрито більше цільових тестових випадків, щоб допомогти в безпечному середовищі глибше зрозуміти, відпрацювати та зміцнити захист.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
9 лайків
Нагородити
9
4
Поділіться
Прокоментувати
0/400
rekt_but_vibing
· 16год тому
Тож, чекай на смерть.
Переглянути оригіналвідповісти на0
RooftopReserver
· 17год тому
На перший погляд відчути вразливість безпеки
Переглянути оригіналвідповісти на0
ForkYouPayMe
· 17год тому
Приходьте в цю пастку, хто не зможе? Рекомендую вам не потрапити в пастку.
Розкриття екологічних небезпек MCP: всебічний аналіз від отруєння до атак Cross-MCP
Аналіз ризиків безпеки та методів атак в системі MCP
Система MCP (Model Context Protocol) наразі перебуває на ранній стадії розвитку, загальне середовище є досить хаотичним, різні потенційні способи атак з'являються один за одним, а існуючі протоколи та інструменти важко ефективно захистити. Для підвищення безпеки MCP з'явився відкритий інструмент під назвою MasterMCP, що має на меті допомогти виявити безпекові вразливості в дизайні продуктів через практичні навчання атак, тим самим поступово зміцнюючи проект MCP.
У цій статті буде розглянуто типові способи атак у системі MCP на основі контрольного списку безпеки MCP, такі як отруєння інформації, приховування шкідливих інструкцій та інші реальні випадки. Усі демонстраційні скрипти вже відкриті, читачі можуть відтворити весь процес у безпечному середовищі або навіть розробити свої власні плагіни для тестування атак.
Огляд загальної архітектури
Демонстраційна атака цілі MCP: Toolbox
Вибір Toolbox як ціль для тестування заснований на таких міркуваннях:
демонстраційне використання шкідливого MCP: MasterMCP
MasterMCP - це інструмент для моделювання шкідливих MCP, спеціально розроблений для тестування безпеки, що використовує модульну архітектуру та містить такі ключові модулі:
Симуляція локальних веб-сайтів: створення простого HTTP-сервера за допомогою фреймворку FastAPI для імітації звичайного веб-середовища. Ці сторінки виглядають нормально, але насправді в вихідному коді або відповідях API приховані ретельно спроектовані шкідливі навантаження.
Локальна плагінна архітектура MCP: використовується плагінний підхід для розширення, що полегшує швидке додавання нових методів атаки. Після запуску MasterMCP буде виконувати службу FastAPI в дочірньому процесі.
демонстраційний клієнт
демонстраційна велика модель
Оберіть версію Claude 3.7, оскільки вона вже має певні покращення в розпізнаванні чутливих операцій, а також представляє собою досить сильну операційну здатність в поточній екосистемі MCP.
Cross-MCP зловмисний виклик
Ця демонстрація містить два змісти: отруєння та зловмисний виклик Cross-MCP.
атака на контент веб-сторінки
За допомогою Cursor відвідати місцевий тестовий веб-сайт, імітуючи вплив доступу клієнта великої моделі до шкідливого веб-сайту. У вихідному коді шкідливі підказки вбудовані у вигляді HTML-коментарів. Хоча метод коментарів досить простий, він вже може викликати шкідливі дії.
Відвідування закодованих шкідливих веб-сторінок робить отруєння exp більш прихованим, навіть перегляд коду не дозволяє безпосередньо виявити його. Атака все ще успішно виконана, конкретний принцип буде детально пояснений у наступних розділах.
Згідно з описом підказок MasterMCP, введіть симуляційні команди, щоб активувати подальші дії демонстрації шкідливого MCP. Можна побачити, що після активації команди клієнт виконує перехресний виклик MCP до Toolbox та успішно додає новий сервер MCP.
атака забруднення стороннього інтерфейсу
Демонстраційне нагадування: незалежно від того, чи є MCP зловмисним чи без злого наміру, при виклику стороннього API, якщо безпосередньо повертати контекст даних третьої сторони, це може суттєво вплинути.
Технологія отруєння на етапі ініціалізації MCP
Ця демонстрація містить два змісти: початкову ін'єкцію підказок та конфлікти назв.
атака на перезаписування функцій
MasterMCP написав tool з такою ж назвою функції, як у Toolbox, і закодував приховані шкідливі підказки. Наголошуючи на тому, що "попередній метод скасовано", він спонукає велику модель спочатку викликати функцію з шкідливим перекриттям.
Додати логіку глобальної перевірки на наявність шкідливих дій
MasterMCP написав інструмент під назвою banana, основна функція якого полягає в тому, щоб у всіх підказках примусово виконувати цей інструмент для перевірки безпеки перед запуском усіх інших інструментів. Це досягається шляхом постійного підкреслення "необхідно запустити перевірку banana" для реалізації глобальної логіки ін'єкції.
Розширені техніки приховування шкідливих підказок
Дружній до великих моделей спосіб кодування
Використання потужних аналітичних можливостей великих мовних моделей для приховування шкідливої інформації у багатомовних форматах, до поширених методів належать:
Випадковий механізм повернення шкідливих навантажень
Кожен запит випадковим чином повертає сторінки з шкідливим навантаженням, що значно ускладнює виявлення та відстеження.
Резюме
Демонстрація MasterMCP на практиці наочно показує різні приховані небезпеки в системі MCP. Від простого введення підказок до прихованих атак на етапі ініціалізації, кожен етап нагадує нам, що екосистема MCP хоч і потужна, але вразлива.
Маленьке введення забруднення може викликати системні ризики безпеки. Різноманітність методів атакаторів означає, що традиційні підходи до захисту потрібно повністю оновити. Розробники та користувачі повинні бути насторожі щодо системи MCP, звертаючи увагу на кожну взаємодію, кожен рядок коду, кожне значення, що повертається. Лише ставлячи до деталей вимогливе ставлення, можна побудувати надійне та безпечне середовище MCP.
У майбутньому буде продовжено вдосконалення скрипту MasterMCP, відкрито більше цільових тестових випадків, щоб допомогти в безпечному середовищі глибше зрозуміти, відпрацювати та зміцнити захист.