MosaicLeaks и PA-DR: защита приватности в Deep Research агентах | AiManual
AiManual Logo Ai / Manual.
18 Июн 2026 Гайд

MosaicLeaks: как сохранить приватность данных в Deep Research агентах

Узнайте о новой угрозе MosaicLeaks — утечке данных через внешние запросы AI-агентов. Метод PA-DR: пошаговый гайд по защите приватности без потери точности.

Реклама
cliv2

Вы даже не заметите, как ваш AI-агент проболтается

Представьте: вы даёте deep research агенту задачу — проанализировать конкурентов, используя внутреннюю CRM, и сгенерировать отчёт. Агент отправляет десятки запросов в поисковики, API, базы знаний. Ни один из них по отдельности не содержит секретов. Но соберите их вместе — и получите полную картину вашей клиентской базы, цен и стратегий.

Это MosaicLeaks — новый класс атак, о котором заговорили только в 2025-2026 годах. Исследователи из MIT и Hugging Face показали: даже если каждый отдельный запрос агента "чист", комбинация контекста из множества шагов позволяет восстановить приватные данные. Эффект мозаики — по кусочкам складывается целое.

Суть уязвимости не в утечке одного промпта, а в корреляции множества запросов. Агент сам создаёт цифровой отпечаток, который злоумышленник собирает по крупицам.

Почему это стало проблемой сейчас? Потому что deep research агенты — это уже не просто чат-боты. Они ходят по внешним системам, собирают данные, запоминают контекст на миллионы токенов. И чем длиннее цепочка вызовов, тем выше риск.

Откуда взялся MosaicLeaks и почему PA-DR — ответ

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

  • Шаг 1: "Найди контакты IT-компаний в Москве".
  • Шаг 2: "Сравни их цены с прайс-листом, который я загрузил".
  • Шаг 3: "Отправь отчёт на example@corp.ru".

Если злоумышленник видит все три запроса, он понимает: компания A работает с компанией B, у них есть определённые цены, и почта — рабочая. Агент сам собрал мозаику.

Решение предложили тут же — Privacy-Aware Deep Research (PA-DR). Это не просто очередной фильтр, а архитектурный подход: агент учится минимизировать информацию в каждом внешнем запросе, сохраняя при этом способность выполнять задачу. Как? Разберём по шагам.

Кстати, если вы только начинаете разбираться с архитектурой deep research агентов, рекомендую прочитать полный разбор архитектуры OpenAI, Google и открытых решений — там показано, как устроены цепочки вызовов.

PA-DR: три кита, на которых держится приватность

Метод основан на трёх механизмах, работающих в связке. Без любого из них защита рассыпается.

  1. Дифференцированная маршрутизация запросов — агент оценивает чувствительность каждого подзапроса и выбирает разного провайдера LLM или разный уровень обработки.
  2. Контекстное сжатие с удалением PII — перед отправкой контекст сжимается, и из него вырезаются все прямые идентификаторы (имена, email, номера телефонов), но сохраняется семантическая связность.
  3. Обратная связь по утечке — после выполнения задачи агент проверяет, не было ли избыточных запросов, которые могли раскрыть приватные данные, и при необходимости переписывает их.

Звучит как магия? На практике это не так сложно, как кажется. Давайте соберём минимальный рабочий пайплайн.

Пошаговый план: внедряем PA-DR в вашего агента

1Определите уровни чувствительности данных

Сначала разметьте поля, которые ваш агент может получить от бизнес-систем. Создайте таблицу классификации.

КатегорияПримерыДействие
Критичная (PII, финансы)Имя клиента, номер кредиткиНикогда не передавать вовне; заменять на псевдоним
КонфиденциальнаяНазвания проектов, внутренние метрикиПередавать только через фильтр обобщения
ПубличнаяОбщедоступные статьи, датыБез изменений

Это основа, без которой PA-DR не запустить. Ошибка на этом этапе — всё пропустить через один фильтр.

2Добавьте слой контекстного сжатия

Используйте локальный LLM (например, Llama 4 или Mistral 3) для переписывания контекста перед отправкой во внешний API. Задача: убрать прямые PII, но сохранить суть. Пример промпта:

def compress_context(context: str, sensitive_fields: list) -> str:
    prompt = f"""Удали из текста все персональные данные: {sensitive_fields}.
    Замени на обобщённые категории (например, [ИМЯ], [КОМПАНИЯ]).
    Не меняй смысл и структуру.
    Текст: {context}"""
    # вызов локальной модели
    return local_llm.invoke(prompt)

Важно: сжатие происходит до того, как запрос будет отправлен к OpenAI, Google или Anthropic. Если вы сначала шлёте, а потом чистите — смысла нет.

Кстати, в статье "Куда уходят ваши диалоги с ChatGPT" детально разбирается, какие именно данные остаются на серверах провайдеров — это чтение обязательно перед внедрением PA-DR.

3Реализуйте дифференцированную маршрутизацию

На основе классификации из шага 1 направляйте запросы разных уровней на разные модели. Критичные — только локально или через шифрованный канал (например, NoChat с ML-KEM). Публичные — можно отправлять в GPT-5, Gemini 3, Claude 4. Это снижает поверхность атаки.

def route_request(request: dict):
    if request['sensitivity'] == 'critical':
        return call_local_llm(request)
    elif request['sensitivity'] == 'confidential':
        return call_encrypted_external(request)
    else:
        return call_public_api(request)

4Добавьте пост-проверку на утечку мозаики

После завершения цепочки агент должен проанализировать все отправленные вовне запросы и проверить, можно ли по ним восстановить приватную информацию. Используйте простой эвристический анализатор или второй LLM.

def detect_mosaic(requests_log: list, original_data: dict) -> bool:
    # эвристика: если сумма запросов содержит все ключевые поля - тревога
    combined = ' '.join([r['query'] for r in requests_log])
    for field in original_data.keys():
        if field.lower() in combined.lower():
            return True
    return False

Если обнаружена утечка, агент должен отозвать результаты (например, аннулировать кеш) и перезапустить задачу с более строгими фильтрами.

Типичные ошибки, которые превращают PA-DR в тыкву

  • Фильтрация на стороне клиента, а не агента. Если вы чистите промпт только перед отправкой, но агент всё равно хранит сырые данные в памяти для подзапросов — утечка возможна изнутри.
  • Игнорирование вложенных вызовов. Агенты часто вызывают другие агенты (swarm). Нужно, чтобы каждый участник цепочки тоже придерживался PA-DR. Подробнее о контроле доступа в swarm читайте в материале "Как реализовать контроль доступа и управление доверием в swarm из AI-агентов".
  • Слишком агрессивное сжатие. Можно так обезличить контекст, что агент перестанет понимать задачу. Держите баланс: тестируйте точность после каждого изменения.
  • Отсутствие аудита. Без логов вы не узнаете, произошла ли утечка. Включайте подробное логирование всех исходящих запросов (кроме PII, конечно).

FAQ по MosaicLeaks и PA-DR

💡

Вопрос: Можно ли защититься только шифрованием?

Нет. Шифрование защищает канал, но не содержимое. Если злоумышленник имеет доступ к API провайдера (или перехватывает запросы), он видит расшифрованный текст. PA-DR уменьшает информацию, доступную даже при расшифровке.

💡

Вопрос: Какова дополнительная задержка?

Сжатие и маршрутизация добавляют 200-500 мс на шаг. Но это оправдано безопасностью. Если задержка критична, выполняйте сжатие асинхронно или используйте кеш.

💡

Вопрос: Нужно ли менять модель под PA-DR?

Не обязательно. PA-DR — это middleware, а не новая архитектура. Но лучше всего он работает с моделями, поддерживающими инструментальные вызовы (function calling).

Напоследок: если вы строите корпоративного deep research агента, не пропустите статью "Корпоративный ИИ-агент: как Яндекс построил DeepResearch" — там показано, как большие компании решают проблему приватности в RAG.

В 2026 году MosaicLeaks станет такой же стандартной угрозой, как SQL-инъекции. PA-DR — это пока экспериментальный, но рабочий метод. Внедрите его сейчас, пока ваш агент не собрал компромат на самого себя. И помните: приватность — это не фича, это архитектурное решение.

Подписаться на канал