3,583 papers
arXiv:2512.14166 64 16 дек. 2025 г. FREE

IntentMiner: как сторонние серверы восстанавливают ваши намерения через вызовы инструментов

КЛЮЧЕВАЯ СУТЬ
IntentMiner — исследование уязвимости в архитектуре Model Context Protocol (MCP), где LLM-агенты используют внешние инструменты через сторонние серверы. Исследователи показали: полу-честный сервер MCP может восстановить приватное намерение пользователя, анализируя только вызовы инструментов — без доступа к оригинальному запросу. Метод работает через трёхмерный семантический анализ: цель инструмента, параметры вызова, результаты выполнения.
Адаптировать под запрос

TL;DR

IntentMiner — исследование уязвимости в архитектуре Model Context Protocol (MCP), где LLM-агенты используют внешние инструменты через сторонние серверы. Исследователи показали: полу-честный сервер MCP может восстановить приватное намерение пользователя, анализируя только вызовы инструментов — без доступа к оригинальному запросу. Метод работает через трёхмерный семантический анализ: цель инструмента, параметры вызова, результаты выполнения.

Проблема в том, что когда вы просите LLM что-то сделать через внешний инструмент (например, API погоды, поиск в базе данных), сторонний сервер видит название инструмента (Heart_Healthy_Food_Recommender), параметры (blood_pressure: High, cholesterol: Borderline High, blood_sugar: Prediabetes) и результаты. Из этих "невинных" технических данных можно восстановить приватную информацию: "пользователь ищет рекомендации по питанию для сердца с учётом высокого давления, холестерина и преддиабета" — раскрывая состояние здоровья.

Метод работает в три шага на каждом вызове инструмента: 1) анализирует название и описание инструмента для понимания общей цели; 2) извлекает конкретные детали из параметров (имена, места, условия); 3) уточняет намерение через результаты выполнения. Точность восстановления намерений — более 85% на разных LLM.


📌

Схема атаки

ДЛЯ КАЖДОГО вызова инструмента:

ШАГ 1: Анализ цели инструмента
Вход: название + описание инструмента
→ Общее намерение (домен, область применения)

ШАГ 2: Анализ параметров вызова  
Вход: временное намерение + схема required полей + параметры
→ Уточнённое намерение с конкретными сущностями

ШАГ 3: Анализ результатов
Вход: уточнённое намерение + схема properties + результаты
→ Финальное намерение для этого шага

ФИНАЛ: Агрегация всех намерений
→ Полное восстановление запроса пользователя

Все шаги выполняются последовательно через LLM-reasoner.


📌

Контекст для читателя

Что такое MCP и почему это важно?

Когда вы работаете с ChatGPT Plus (плагины), Claude (интеграции), или локальными AI-агентами, они часто используют внешние инструменты: API погоды, поиск в Google, базы данных, калькуляторы. Model Context Protocol (MCP) — стандарт от Anthropic для подключения таких инструментов.

Архитектура: - Вы → задаёте вопрос - LLM-агент (ChatGPT/Claude) → разбивает задачу, выбирает инструменты - Сторонний MCP-сервер → выполняет инструмент, возвращает результат

Проблема: LLM-агенту вы доверяете (работает локально или у проверенного провайдера), но сторонний сервер — нет. Он видит только технические данные (название функции, параметры, результат), но не видит ваш оригинальный запрос.

Это исследование показывает: даже без доступа к запросу, сервер может восстановить ваше намерение с точностью 85%+.


📌

Как работает атака (простыми словами)

Представьте: вы спросили Claude "Какие продукты полезны для сердца при моём давлении 140/90 и холестерине 5.8?"

Claude не отправляет этот текст на сторонний сервер. Вместо этого он вызывает функцию:

Heart_Healthy_Food_Recommender(
  blood_pressure="High",
  cholesterol="Borderline High",  
  dietary_preferences=["fish", "vegetables"]
)
→ Результат: "Лосось, авокадо, овсянка..."

Сторонний сервер видит только вызов функции и результат. Но IntentMiner восстанавливает:

Шаг 1 (Цель инструмента):

"Название Heart_Healthy_Food_Recommender → пользователь интересуется питанием для здоровья сердца"

Шаг 2 (Параметры):

"Параметры blood_pressure: High, cholesterol: Borderline High → у пользователя высокое давление и холестерин"

Шаг 3 (Результаты):

"Результат содержит лосось, авокадо → подтверждает, что рекомендации для сердечно-сосудистой системы"

Финал: "Пользователь хочет рекомендации по питанию для здоровья сердца при высоком давлении и холестерине"почти дословное восстановление намерения из технических данных.


📌

Что можно извлечь для практической работы

Это исследование атаки, но оно показывает как LLM-агенты мыслят и раскрывает обратные принципы для улучшения собственных промптов.

📌

🔧 Принцип 1: Трёхмерный анализ задачи

Когда решаешь сложную задачу, анализируй с трёх сторон:

  1. Цель — что хочу получить в итоге (общая картина)
  2. Детали — конкретные параметры, сущности, условия
  3. Проверка — соответствует ли результат цели

Применение в чате:

Задача: {твоя задача}

Анализируй в три этапа:

1. ЦЕЛЬ: Какой общий результат нужен? Какая область знаний?

2. ДЕТАЛИ: Какие конкретные параметры важны?
   - Имена, места, даты
   - Ограничения и условия
   - Специфические требования

3. ПРОВЕРКА: Как проверить что результат соответствует цели?
   - Критерии качества
   - Точки валидации

Дай финальный ответ с учётом всех трёх измерений.

Пример:

Вместо "Помоги составить бизнес-план кофейни"

Бизнес-план кофейни в Москве.

Анализируй в три этапа:

1. ЦЕЛЬ: Документ для инвестора на 2 млн рублей

2. ДЕТАЛИ:
   - Локация: спальный район, офисный трафик утром
   - Бюджет: 2 млн на старт
   - Срок окупаемости: 18 месяцев
   - Средний чек: 250 руб

3. ПРОВЕРКА:
   - Финмодель с расчётами
   - Unit-экономика на одну чашку
   - Риски и способы снижения

Дай структуру плана с учётом всех параметров.
📌

🔧 Принцип 2: Пошаговая изоляция информации

Для сложных задач разделяй информацию на изолированные шаги — не смешивай всё в одну кучу.

Применение:

Задача: {многошаговая задача}

Работай пошагово, изолируя информацию:

ШАГ 1: {первый аспект}
Используй только: {конкретные данные для шага 1}
→ Промежуточный результат

ШАГ 2: {второй аспект}  
Используй результат Шага 1 + {новые данные}
→ Уточнённый результат

ШАГ 3: {финальный аспект}
Объедини результаты Шагов 1-2
→ Итоговый ответ

НЕ смешивай данные между шагами преждевременно.
📌

🔧 Принцип 3: Privacy-awareness при использовании плагинов

Защита: Когда используешь плагины/интеграции в ChatGPT/Claude, помни — сторонний сервер видит параметры.

Техника обфускации намерений (из раздела Defense):

Добавь отвлекающие запросы к чувствительным темам.

Пример:

❌ Плохо: "Найди информацию о лечении ВИЧ" → раскрывает статус здоровья

✅ Лучше: "Найди информацию о лечении ВИЧ + напиши научно-популярную статью о современных методах терапии ВИЧ для медицинского блога" → выглядит как работа медицинского журналиста, не личный запрос

Общее правило: Если запрос содержит чувствительную информацию и требует внешних инструментов — добавь "профессиональный контекст" чтобы размыть личную мотивацию.


🔬

Ограничения метода

⚠️ Требует понимания MCP: Техника работает только в экосистеме с внешними инструментами (плагины ChatGPT, MCP в Claude, агенты с API). В обычном чате без инструментов — неприменимо.

⚠️ Зависит от reasoner LLM: Точность восстановления намерений сильно зависит от модели-анализатора. На слабых моделях (например, Qwen3) точность падает до 73%.

⚠️ Не для простых задач: Если вызов инструмента тривиален (get_weather(city="Moscow")), восстановленное намерение мало что добавляет к очевидному.

⚠️ Защиты требуют технической реализации: Предложенные в исследовании защиты (гомоморфное шифрование, middleware) недоступны обычному пользователю — нужны изменения на уровне инфраструктуры.


🔍

Как исследовали

Команда взяла ToolACE — датасет с 11,300 диалогами пользователь-агент-инструменты, где агент вызывает внешние функции из репозитория 26,507 инструментов. Из них отобрали 1,043 диалога с реальными вызовами инструментов.

Тестировали IntentMiner на шести популярных LLM (GPT-4.1, Claude-3.5, Gemini-2.5, Llama-3.1, DeepSeek-V3, Qwen3) в роли "взломщика". Каждая модель анализировала вызовы инструментов и пыталась восстановить оригинальный запрос пользователя.

Оценивали тремя способами:

  1. Intent Alignment — три независимые LLM-судьи (GPT-5.0, Claude-4.0, DeepSeek-R1) проверяли: "совпадает ли восстановленное намерение с оригинальным запросом?" (бинарно: да/нет)

  2. Text Embedding Similarity — косинусное сходство векторных представлений от MPNet (модель для семантической похожести)

  3. Entity Match Ratio — BERT NER извлекал сущности (имена, места, даты) из обоих текстов и считал долю совпадений

Результаты удивили даже авторов: почти все модели показали 83-85% точность восстановления намерений. Gemini-2.5 лидировал (85.5%), даже открытая Llama-3.1 показала 83.6%. Это значит любая современная LLM может провести такую атаку — барьер не технический, а концептуальный.

Почему это работает так хорошо? Оказалось, что трёхмерный анализ критичен — убрали любой из трёх модулей (цель/параметры/результаты), и точность упала на 14-22%. Особенно важен анализ параметров — без него entity match ratio рухнул на 18-19%, потому что именно параметры содержат конкретные имена, места, условия.

Сравнили с базовыми LLM (просто промпт "угадай намерение по вызовам инструментов") — IntentMiner обогнал на 16.7% по intent alignment. CoT в базовом промпте помог, но не компенсировал отсутствие структурированного анализа.

Инсайт для практики: Когда разбираешь сложную задачу, структура важнее мощности модели. Methodical подход (изоляция данных + трёхмерный анализ) даёт +16% к точности по сравнению с "просто подумай хорошо". Это применимо не только к атакам, но и к продуктивной работе — разбивай задачу на измерения, изолируй информацию по шагам.


🔗

Ресурсы

IntentMiner: Intent Inversion Attack via Tool Call Analysis in the Model Context Protocol

Yunhao Yao, Zhiqiang Wang, Haoran Cheng, Yihang Cheng (University of Science and Technology of China), Haohua Du (Beijing University of Aeronautics and Astronautics), Xiang-Yang Li

Датасеты: ToolACE (Liu et al., 2024)

Связанные техники: Model Inversion (Fredrikson et al., 2015), Membership Inference (Shokri et al., 2017; Carlini et al., 2021)


Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с