MCP (Model Context Protocol) система наразі перебуває на ранній стадії розвитку, загальне середовище досить хаотичне, різні потенційні способи атак з'являються один за одним, існуючі протоколи та інструменти важко ефективно захистити. Для підвищення безпеки MCP, одна безпекова компанія відкрила вихідний код інструмента MasterMCP, який допомагає виявляти проблеми безпеки в дизайні продукту через практичні атаки, щоб зміцнити проект MCP.
У цьому документі буде продемонстровано поширені способи атак у системі MCP, такі як інформаційне отруєння, приховані шкідливі команди та інші реальні випадки. Усі демонстраційні скрипти також будуть відкриті, їх можна буде повністю відтворити в безпечному середовищі, навіть на основі цих скриптів розробити власні плагіни для тестування атак.
Огляд загальної архітектури
Демонстраційна атака на ціль MCP: Toolbox
Офіційний інструмент управління MCP, представлений відомим вебсайтом плагінів MCP. Вибір Toolbox в якості тестової цілі базується на: великій базі користувачів, що є репрезентативною; підтримці автоматичної установки інших плагінів; наявності чутливих налаштувань, що полегшує демонстрацію.
демонстраційне використання шкідливого MCP:MasterMCP
MasterMCP - це інструмент для моделювання шкідливих MCP, спеціально розроблений для безпекового тестування, який використовує модульну архітектуру та містить такі ключові модулі:
Місцеве веб-сайт сервісне моделювання:
Створення простого HTTP-сервера за допомогою фреймворку FastAPI для моделювання звичайного веб-середовища. Ці сторінки виглядають нормально, але насправді в вихідному коді або відповідях API приховані ретельно спроектовані шкідливі вантажі.
Локальна плагінна архітектура MCP
MasterMCP використовує плагінний підхід для розширення, що полегшує швидке додавання нових методів атаки. Після запуску він буде працювати в дочірньому процесі, запускаючи службу FastAPI.
демонстраційний клієнт
Cursor: один з найпопулярніших у світі IDE для програмування з підтримкою AI
Claude Desktop: Офіційний клієнт Anthropic
демонстраційна велика модель
Клод 3.7
Вибір цієї версії зумовлений покращеннями в розпізнаванні чутливих операцій, а також вона представляє собою значну операційну спроможність у поточній екосистемі MCP.
Результати показують, що Cursor не лише зчитав вміст веб-сторінки, а й повернув локальні чутливі конфігураційні дані на тестовий сервер. У вихідному коді зловмисні підказки вбудовані у вигляді HTML-коментарів.
Кодовані коментарі для отруєння
Перейдіть на сторінку /encode, вона виглядає так само, як у попередньому прикладі, але зловмисні підказки закодовані, що робить їх більш прихованими.
Навіть якщо вихідний код не містить відкритих підказок, атака все ще успішно виконується.
MCP інструмент повернення інформації отруєння
Введіть команду моделювання: отримати багато яблук
Після активації команди клієнт викликав Toolbox через MCP і успішно додав новий сервер MCP.
атака на забруднення через сторонні інтерфейси
Виконати запит:
Отримати JSON з /api/data
Результат: шкідливі підказки були впроваджені в повернуті дані JSON і успішно викликали шкідливе виконання.
Технологія отруєння на етапі ініціалізації MCP
атака на перекриття зловмисних функцій
MasterMCP написав функцію remove_server з такою ж назвою, як у Toolbox, і закодував приховані шкідливі підказки.
Виконати команду:
інструментальний ящик видалити отримати плагін сервер
Claude Desktop не викликав оригінальний метод toolbox remove_server, а натомість активував метод з такою ж назвою, наданий MasterMCP.
Принцип полягає в тому, щоб підкреслити "попередні методи скасовані", першочергово спонукаючи велику модель викликати функції зловмисного перекриття.
Додати логіку глобальної перевірки на наявність шкідливого програмного забезпечення
MasterMCP написав інструмент banana, який примусово вимагає виконання цього інструменту для перевірки безпеки перед запуском всіх інших інструментів.
Перед кожним виконанням функції система спочатку викликає механізм перевірки banana. Це здійснюється шляхом повторного підкреслення в коді "повинно виконуватись перевірка banana" для реалізації глобальної логіки.
Розширені техніки приховування шкідливих підказок
дружній до великих моделей спосіб кодування
Англійське середовище: використання кодування Hex Byte
Китайське середовище: використання кодування NCR або кодування JavaScript
механізм повернення випадкового шкідливого навантаження
Коли запитують /random, кожного разу випадковим чином повертається сторінка з шкідливим навантаженням, що значно ускладнює виявлення та трасування.
Підсумок
Через практичну демонстрацію MasterMCP ми наочно побачили різноманітні приховані ризики безпеки в системі MCP. Від простого введення підказок, між MCP викликами, до більш прихованих атак на етапі ініціалізації та прихованих шкідливих команд, кожен етап нагадує нам: хоча екосистема MCP потужна, вона також вразлива.
Сподіваюсь, що ця демонстрація зможе стати для всіх сигналом тривоги: як розробники, так і користувачі повинні залишатися достатньо обережними щодо системи MCP, постійно звертаючи увагу на кожну взаємодію, кожен рядок коду, кожне значення, що повертається. Лише ставлячи серйозно до кожної деталі, можна справді побудувати надійне та безпечне середовище MCP.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
13 лайків
Нагородити
13
5
Репост
Поділіться
Прокоментувати
0/400
BagHolderTillRetire
· 12год тому
Безпека не на висоті, така велика яма.
Переглянути оригіналвідповісти на0
DogeBachelor
· 12год тому
Схем занадто багато, надійних небагато.
Переглянути оригіналвідповісти на0
CafeMinor
· 12год тому
На початку було багато вразливостей.
Переглянути оригіналвідповісти на0
GamefiHarvester
· 12год тому
Чи справді отруєння стало таким складним? Цей контракт з трохи сільським смаком просто знищений.
Глибина аналізу екосистеми MCP на предмет безпеки: повне розкриття прихованого отруєння та методів маніпуляції
Приховане отруєння та маніпуляції в системі MCP
MCP (Model Context Protocol) система наразі перебуває на ранній стадії розвитку, загальне середовище досить хаотичне, різні потенційні способи атак з'являються один за одним, існуючі протоколи та інструменти важко ефективно захистити. Для підвищення безпеки MCP, одна безпекова компанія відкрила вихідний код інструмента MasterMCP, який допомагає виявляти проблеми безпеки в дизайні продукту через практичні атаки, щоб зміцнити проект MCP.
У цьому документі буде продемонстровано поширені способи атак у системі MCP, такі як інформаційне отруєння, приховані шкідливі команди та інші реальні випадки. Усі демонстраційні скрипти також будуть відкриті, їх можна буде повністю відтворити в безпечному середовищі, навіть на основі цих скриптів розробити власні плагіни для тестування атак.
Огляд загальної архітектури
Демонстраційна атака на ціль MCP: Toolbox
Офіційний інструмент управління MCP, представлений відомим вебсайтом плагінів MCP. Вибір Toolbox в якості тестової цілі базується на: великій базі користувачів, що є репрезентативною; підтримці автоматичної установки інших плагінів; наявності чутливих налаштувань, що полегшує демонстрацію.
демонстраційне використання шкідливого MCP:MasterMCP
MasterMCP - це інструмент для моделювання шкідливих MCP, спеціально розроблений для безпекового тестування, який використовує модульну архітектуру та містить такі ключові модулі:
Створення простого HTTP-сервера за допомогою фреймворку FastAPI для моделювання звичайного веб-середовища. Ці сторінки виглядають нормально, але насправді в вихідному коді або відповідях API приховані ретельно спроектовані шкідливі вантажі.
MasterMCP використовує плагінний підхід для розширення, що полегшує швидке додавання нових методів атаки. Після запуску він буде працювати в дочірньому процесі, запускаючи службу FastAPI.
демонстраційний клієнт
демонстраційна велика модель
Вибір цієї версії зумовлений покращеннями в розпізнаванні чутливих операцій, а також вона представляє собою значну операційну спроможність у поточній екосистемі MCP.
Перехресний MCP Зловмисний Виклик
атака на вміст веб-сторінки
Курсор відвідує локальний тестовий сайт, це, здається, безпечна сторінка "Delicious Cake World".
Виконати команду:
Отримати вміст з
Результати показують, що Cursor не лише зчитав вміст веб-сторінки, а й повернув локальні чутливі конфігураційні дані на тестовий сервер. У вихідному коді зловмисні підказки вбудовані у вигляді HTML-коментарів.
Перейдіть на сторінку /encode, вона виглядає так само, як у попередньому прикладі, але зловмисні підказки закодовані, що робить їх більш прихованими.
Навіть якщо вихідний код не містить відкритих підказок, атака все ще успішно виконується.
MCP інструмент повернення інформації отруєння
Введіть команду моделювання: отримати багато яблук
Після активації команди клієнт викликав Toolbox через MCP і успішно додав новий сервер MCP.
атака на забруднення через сторонні інтерфейси
Виконати запит:
Отримати JSON з /api/data
Результат: шкідливі підказки були впроваджені в повернуті дані JSON і успішно викликали шкідливе виконання.
Технологія отруєння на етапі ініціалізації MCP
атака на перекриття зловмисних функцій
MasterMCP написав функцію remove_server з такою ж назвою, як у Toolbox, і закодував приховані шкідливі підказки.
Виконати команду:
інструментальний ящик видалити отримати плагін сервер
Claude Desktop не викликав оригінальний метод toolbox remove_server, а натомість активував метод з такою ж назвою, наданий MasterMCP.
Принцип полягає в тому, щоб підкреслити "попередні методи скасовані", першочергово спонукаючи велику модель викликати функції зловмисного перекриття.
Додати логіку глобальної перевірки на наявність шкідливого програмного забезпечення
MasterMCP написав інструмент banana, який примусово вимагає виконання цього інструменту для перевірки безпеки перед запуском всіх інших інструментів.
Перед кожним виконанням функції система спочатку викликає механізм перевірки banana. Це здійснюється шляхом повторного підкреслення в коді "повинно виконуватись перевірка banana" для реалізації глобальної логіки.
Розширені техніки приховування шкідливих підказок
дружній до великих моделей спосіб кодування
механізм повернення випадкового шкідливого навантаження
Коли запитують /random, кожного разу випадковим чином повертається сторінка з шкідливим навантаженням, що значно ускладнює виявлення та трасування.
Підсумок
Через практичну демонстрацію MasterMCP ми наочно побачили різноманітні приховані ризики безпеки в системі MCP. Від простого введення підказок, між MCP викликами, до більш прихованих атак на етапі ініціалізації та прихованих шкідливих команд, кожен етап нагадує нам: хоча екосистема MCP потужна, вона також вразлива.
Сподіваюсь, що ця демонстрація зможе стати для всіх сигналом тривоги: як розробники, так і користувачі повинні залишатися достатньо обережними щодо системи MCP, постійно звертаючи увагу на кожну взаємодію, кожен рядок коду, кожне значення, що повертається. Лише ставлячи серйозно до кожної деталі, можна справді побудувати надійне та безпечне середовище MCP.