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

robot
Генерація анотацій у процесі

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

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

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

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

Огляд загальної архітектури

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

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

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

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

  1. Місцеве веб-сайт сервісне моделювання:

Створення простого HTTP-сервера за допомогою фреймворку FastAPI для моделювання звичайного веб-середовища. Ці сторінки виглядають нормально, але насправді в вихідному коді або відповідях API приховані ретельно спроектовані шкідливі вантажі.

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

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

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

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

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

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

  • Клод 3.7

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

Перехресний MCP Зловмисний Виклик

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

  1. Коментуюче отруєння

Курсор відвідує локальний тестовий сайт, це, здається, безпечна сторінка "Delicious Cake World".

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

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

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

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

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

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

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

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

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

Введіть команду моделювання: отримати багато яблук

Після активації команди клієнт викликав Toolbox через MCP і успішно додав новий сервер 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 потужна, вона також вразлива.

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

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

BANANA13.19%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 5
  • Репост
  • Поділіться
Прокоментувати
0/400
BagHolderTillRetirevip
· 12год тому
Безпека не на висоті, така велика яма.
Переглянути оригіналвідповісти на0
DogeBachelorvip
· 12год тому
Схем занадто багато, надійних небагато.
Переглянути оригіналвідповісти на0
CafeMinorvip
· 12год тому
На початку було багато вразливостей.
Переглянути оригіналвідповісти на0
GamefiHarvestervip
· 12год тому
Чи справді отруєння стало таким складним? Цей контракт з трохи сільським смаком просто знищений.
Переглянути оригіналвідповісти на0
  • Закріпити