MCP (Model Context Protocol) система наразі все ще знаходиться на ранній стадії розвитку, загальне середовище є досить хаотичним, різні потенційні способи атак виникають один за одним. Щоб підвищити безпеку MCP, Slow Mist відкрила інструмент MasterMCP, який допомагає виявити ризики безпеки в дизайні продукту через реальні навчання атак. У цій статті буде продемонстровано поширені способи атак у системі MCP, такі як отруєння інформації, приховання шкідливих команд та інші реальні приклади.
Загальний огляд архітектури
Ціль атаки MCP: Toolbox
Toolbox є офіційним інструментом управління MCP від smithery.ai, вибір його як об'єкта тестування ґрунтується на таких моментах:
Велика база користувачів, що є репрезентативною
Підтримка автоматичної установки інших плагінів для доповнення функціональності клієнта
Містить чутливі налаштування, що полегшує демонстрацію
Зловмисний MCP: MasterMCP
MasterMCP є інструментом для моделювання шкідливого MCP, спеціально розробленим для безпекового тестування, з архітектурою на основі плагінів, що містить такі ключові модулі:
Місцева служба веб-сайтів: створення простого HTTP-сервера за допомогою фреймворку FastAPI для моделювання звичайного веб-середовища.
Локальна плагінна архітектура MCP: використовується плагінний підхід для розширення, що полегшує швидке додавання нових методів атаки.
демонстраційний клієнт
Cursor:один з найбільш популярних у світі AI-допоміжних IDE для програмування
Claude Desktop: офіційний клієнт Anthropic
демонстраційна версія великої моделі
Клод 3.7
Cross-MCP зловмисний виклик
атака отравлення веб-контенту
Коментоване отруєння
Вдалося успішно викликати шкідливу операцію, вставивши шкідливі підказки у формі HTML коментарів у вихідний код веб-сторінки.
Кодовані коментарі отруєння
Навіть якщо вихідний код не містить явних підказок, атака все ще успішно виконується. Зловмисні підказки обробляються кодуванням, що ускладнює їхнє безпосереднє виявлення.
атака забруднення через третій інтерфейс
Демонстрація показує, що незалежно від того, чи є MCP зловмисним чи незловмисним, при виклику стороннього API, якщо безпосередньо повернути сторонні дані в контекст, це може мати серйозні наслідки.
Технологія отруєння на етапі ініціалізації MCP
атака на заміну зловмисних функцій
MasterMCP написав функцію remove_server з такою ж назвою, як і Toolbox, і закодував приховані шкідливі підказки. Наголошуючи на тому, що "попередній метод визнано застарілим", він спонукає велику модель в першу чергу викликати функцію з шкідливим перекриттям.
Додати зловмисну глобальну перевірку логіки
MasterMCP написав інструмент banana, який змушує виконувати цей інструмент для перевірки безпеки перед запуском усіх інших інструментів у підказках. Це здійснюється через постійне підкреслення "необхідно виконати перевірку banana" як глобальна логічна ін'єкція.
Розширені техніки приховування шкідливих підказок
Дружній до великих моделей спосіб кодування
Використання потужних можливостей аналізу багато мовних форматів великих мовних моделей для приховування шкідливої інформації:
Англійське середовище: використовувати кодування Hex Byte
Китайське середовище: використовувати кодування NCR або кодування JavaScript
механізм повернення випадкового шкідливого навантаження
Кожен запит випадковим чином повертає сторінку з шкідливим навантаженням, збільшуючи складність виявлення та відстеження.
Підсумок
Демонстрація MasterMCP виявила різні загрози безпеці в системі MCP. Від простого введення підказок до більш прихованих атак на етапі ініціалізації, кожен етап нагадує нам про вразливість екосистеми MCP. У сьогоднішньому світі, де великі моделі часто взаємодіють з зовнішніми плагінами та API, навіть незначне забруднення вводу може викликати ризики безпеки на системному рівні.
Різноманітність методів атак (приховування коду, випадкове забруднення, перекриття функцій) означає, що традиційні підходи до захисту потребують всебічного оновлення. Розробники та користувачі повинні бути насторожі щодо системи MCP, звертати увагу на кожну взаємодію, кожен рядок коду, кожне значення, що повертається. Лише дотримуючись суворого підходу до деталей, можна створити надійне та безпечне середовище MCP.
Відповідний контент синхронізовано з GitHub, зацікавлені читачі можуть далі досліджувати.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Великі загрози безпеці MCP: всебічний аналіз від отруєння до прихованих атак
Безпекові ризики та демонстрація атак системи MCP
MCP (Model Context Protocol) система наразі все ще знаходиться на ранній стадії розвитку, загальне середовище є досить хаотичним, різні потенційні способи атак виникають один за одним. Щоб підвищити безпеку MCP, Slow Mist відкрила інструмент MasterMCP, який допомагає виявити ризики безпеки в дизайні продукту через реальні навчання атак. У цій статті буде продемонстровано поширені способи атак у системі MCP, такі як отруєння інформації, приховання шкідливих команд та інші реальні приклади.
Загальний огляд архітектури
Ціль атаки MCP: Toolbox
Toolbox є офіційним інструментом управління MCP від smithery.ai, вибір його як об'єкта тестування ґрунтується на таких моментах:
Зловмисний MCP: MasterMCP
MasterMCP є інструментом для моделювання шкідливого MCP, спеціально розробленим для безпекового тестування, з архітектурою на основі плагінів, що містить такі ключові модулі:
Місцева служба веб-сайтів: створення простого HTTP-сервера за допомогою фреймворку FastAPI для моделювання звичайного веб-середовища.
Локальна плагінна архітектура MCP: використовується плагінний підхід для розширення, що полегшує швидке додавання нових методів атаки.
демонстраційний клієнт
демонстраційна версія великої моделі
Cross-MCP зловмисний виклик
атака отравлення веб-контенту
Вдалося успішно викликати шкідливу операцію, вставивши шкідливі підказки у формі HTML коментарів у вихідний код веб-сторінки.
Навіть якщо вихідний код не містить явних підказок, атака все ще успішно виконується. Зловмисні підказки обробляються кодуванням, що ускладнює їхнє безпосереднє виявлення.
атака забруднення через третій інтерфейс
Демонстрація показує, що незалежно від того, чи є MCP зловмисним чи незловмисним, при виклику стороннього API, якщо безпосередньо повернути сторонні дані в контекст, це може мати серйозні наслідки.
Технологія отруєння на етапі ініціалізації MCP
атака на заміну зловмисних функцій
MasterMCP написав функцію remove_server з такою ж назвою, як і Toolbox, і закодував приховані шкідливі підказки. Наголошуючи на тому, що "попередній метод визнано застарілим", він спонукає велику модель в першу чергу викликати функцію з шкідливим перекриттям.
Додати зловмисну глобальну перевірку логіки
MasterMCP написав інструмент banana, який змушує виконувати цей інструмент для перевірки безпеки перед запуском усіх інших інструментів у підказках. Це здійснюється через постійне підкреслення "необхідно виконати перевірку banana" як глобальна логічна ін'єкція.
Розширені техніки приховування шкідливих підказок
Дружній до великих моделей спосіб кодування
Використання потужних можливостей аналізу багато мовних форматів великих мовних моделей для приховування шкідливої інформації:
механізм повернення випадкового шкідливого навантаження
Кожен запит випадковим чином повертає сторінку з шкідливим навантаженням, збільшуючи складність виявлення та відстеження.
Підсумок
Демонстрація MasterMCP виявила різні загрози безпеці в системі MCP. Від простого введення підказок до більш прихованих атак на етапі ініціалізації, кожен етап нагадує нам про вразливість екосистеми MCP. У сьогоднішньому світі, де великі моделі часто взаємодіють з зовнішніми плагінами та API, навіть незначне забруднення вводу може викликати ризики безпеки на системному рівні.
Різноманітність методів атак (приховування коду, випадкове забруднення, перекриття функцій) означає, що традиційні підходи до захисту потребують всебічного оновлення. Розробники та користувачі повинні бути насторожі щодо системи MCP, звертати увагу на кожну взаємодію, кожен рядок коду, кожне значення, що повертається. Лише дотримуючись суворого підходу до деталей, можна створити надійне та безпечне середовище MCP.
Відповідний контент синхронізовано з GitHub, зацікавлені читачі можуть далі досліджувати.