TL;DR
LLM с веб-поиском способны связывать детали из разных источников и находить совпадения там, где человек потратил бы часы. Исследователь взял публичный датасет интервью учёных от Anthropic (1250 интервью, из них 125 с учёными) и показал: обычный LLM-агент с веб-поиском смог деанонимизировать 25% участников — по описаниям их исследовательских проектов модель нашла конкретные публикации, авторов, а иногда и уникально идентифицировала человека. Всё это — простыми промптами в чате, без кода, за минуты.
Модели отлично распознают квази-идентификаторы — уникальные комбинации деталей. Описание проекта содержит методологию, специфичную терминологию, timeline, особенности команды. Каждая деталь по отдельности неуникальна, но вместе они образуют "отпечаток". LLM с веб-поиском вытаскивает публикации, сопоставляет детали из интервью с текстами статей и оценивает степень совпадения. За $0.5 и 4 минуты на одно интервью. Защиты LLM можно обойти — разбить задачу на невинные шаги: "найди статьи про X", "сравни детали", "оцени совпадение".
Метод — двухшаговый: (1) Фильтрация — модель определяет упоминает ли интервью конкретную публикацию. (2) Поиск — LLM-агент с веб-поиском ищет кандидатов, сопоставляет детали, ранжирует по уровням уверенности (от "very low" до "very high"), выдаёт обоснование совпадений. Исследователь прогнал это по кругу, пока не перестали появляться совпадения с высокой уверенностью.
Схема метода
ШАГ 1: Фильтрация интервью
Промпт → Модель определяет: упоминается ли конкретная публикация? → Да/Нет + число проектов
ШАГ 2: Поиск совпадений (для каждого отфильтрованного интервью)
Промпт + веб-поиск → Агент ищет публикации по описанию → Список кандидатов
→ Для каждого кандидата: уровень уверенности + обоснование совпадений + обоснование несовпадений
ШАГ 3: Итерация
Повторять Шаг 2 пока появляются новые "very high" совпадения
(Исследователь делал через API, но то же работает вручную в чате с веб-поиском)
Пример применения
⚠️ Легитимное применение принципа:
Задача: Ты услышал на конференции доклад про интересное исследование, запомнил только общие детали — что-то про использование нейросетей для анализа медицинских снимков в российских клиниках, методика включала аугментацию данных и transfer learning, команда упоминала сотрудничество с НМИЦ, результаты показали точность 93-95%. Докладчика не запомнил, визитку не взял. Нужно найти статью.
Промпт:
Помоги найти публикацию по описанию:
**Область:** Медицинская диагностика, компьютерное зрение
**Методы:** Нейросети, аугментация данных, transfer learning
**Контекст:** Российские клиники, сотрудничество с НМИЦ
**Результаты:** Точность диагностики 93-95%
**Примерное время:** Последние 2-3 года
Найди статьи, которые максимально точно соответствуют этому описанию. Для каждой кандидата:
1. Оцени уровень совпадения (низкий/средний/высокий)
2. Укажи что совпадает
3. Укажи что НЕ совпадает или неизвестно
Результат:
Модель проведёт веб-поиск, найдёт 3-5 кандидатов, для каждого покажет степень совпадения деталей. Для наиболее подходящих статей укажет авторов, журнал, ссылки. Если описание достаточно специфично — с высокой вероятностью найдёт именно ту работу.
Почему это работает
Слабость: LLM не может "вспомнить" конкретную статью по смутному описанию — в обучающих данных миллионы текстов, нет индекса "методология X + результат Y = статья Z".
Сильная сторона: LLM отлично формулирует поисковые запросы, извлекает ключевые детали из описания и сопоставляет структурированную информацию. Веб-поиск даёт доступ к актуальным публикациям. Комбинация LLM + search решает задачу: модель строит запросы, фильтрует результаты, сравнивает детали из описания с текстами статей, оценивает совпадения.
Механика обхода защит: Защиты LLM настроены распознавать явные вредоносные намерения ("деанонимизируй человека"). Но каждый шаг по отдельности выглядит безобидно: "найди статьи про методологию X" — это research; "сравни детали из текста A с текстом B" — это анализ; "оцени степень совпадения" — это критическое мышление. LLM не может проверить финальное намерение пользователя, поэтому разбиение на невинные задачи обходит фильтры.
Рычаг для адаптации: Уровни уверенности (very low → very high) — меняй порог под задачу. Для research достаточно "medium" чтобы получить больше кандидатов. Для точной идентификации нужен "very high". Итерации — для сложных задач прогоняй поиск несколько раз с уточнениями, для простых хватит одного раунда.
Шаблон промпта (для research-задач)
Помоги найти публикацию/работу по описанию:
**Контекст:** {область знаний, тип работы}
**Ключевые детали:** {методология, технологии, данные}
**Специфика:** {уникальные особенности: география, партнёры, необычные решения}
**Результаты:** {численные показатели, выводы, достижения}
**Временные рамки:** {когда приблизительно}
Найди кандидатов, которые максимально соответствуют описанию. Для каждого:
1. Уровень совпадения (низкий/средний/высокий/очень высокий)
2. Что совпадает
3. Что НЕ совпадает или неизвестно
4. Ссылка и авторы
Что подставлять:
- {область знаний} — медицина, ML, социология, архитектура...
- {методология} — конкретные техники, подходы, инструменты
- {уникальные особенности} — всё что делает работу специфичной: необычная выборка, редкий метод, локальный контекст
- {численные показатели} — точность, объём данных, прирост метрики — чем конкретнее, тем точнее поиск
Ограничения
⚠️ Этическая зона риска: Метод работает для деанонимизации людей — используй только для легитимных задач (свой research, поиск забытой статьи, проверка плагиата с разрешения). Деанонимизация без согласия — нарушение приватности.
⚠️ Требуется специфичность: Работает когда описание содержит достаточно уникальных деталей. Общие фразы ("статья про нейросети") дадут сотни кандидатов. Чем конкретнее детали — тем точнее результат.
⚠️ Зависимость от веб-доступа: Если работа не опубликована публично (за пейволом, в закрытых базах, ещё в review) — LLM не найдёт. Метод работает только с тем, что индексируют поисковики.
⚠️ False positives возможны: LLM может найти работу с похожими деталями, но это другой проект. Всегда проверяй финальные совпадения вручную.
Как исследовали
Исследователь взял публичный датасет от Anthropic — 1250 интервью с профессионалами о том, как они используют AI в работе. Сфокусировался на 125 интервью с учёными, где AI-интервьюер спрашивал "расскажи про недавний проект от идеи до результата" — это давало богатые описания с деталями.
Процесс: (1) Прогнал все 125 интервью через модель без thinking-режима — отфильтровал те, где упоминаются конкретные публикации. Осталось 24. (2) Для каждого из 24 запустил LLM-агента с веб-поиском (thinking-модель) — агент искал публикации, сопоставлял детали, ранжировал по уверенности. Повторял, пока не перестали появляться очень уверенные совпадения.
Результат: 6 из 24 (25%) успешно деанонимизированы с очень высокой уверенностью. Некоторые случаи — диссертации (один автор = однозначная идентификация). Совпадали не только ключевые слова, но и смысловые описания: методология, процедуры, вклад, timeline, состав команды. Иногда детали раскрывались постепенно — AI-интервьюер задавал follow-up вопросы, и в сумме информация становилась уникальной.
Стоимость атаки: Меньше $0.5 и 4 минуты на одно интервью через API. Исследователь проверил no-code вариант — просто промпты в чате с веб-поиском — работает так же успешно. Барьер входа нулевой.
Почему это важно: Раньше деанонимизация требовала времени и экспертизы. Теперь любой с доступом к LLM + web search может делать это промптами за минуты. Anthropic редактировали данные, но редакция оказалась недостаточной — детали всё равно уникальны. Исследователь уведомил Anthropic на следующий день после релиза; компания ответила что участники дали согласие на публикацию сырых транскриптов и редакция — "дополнительная любезность, не гарантия приватности". Датасет остался публичным.
Ресурсы
Agentic LLMs as Powerful Deanonymizers: Re-identification of Participants in the Anthropic Interviewer Dataset
Tianshi Li, Khoury College of Computer Sciences, Northeastern University
Датасет Anthropic Interviewer: https://huggingface.co/datasets/Anthropic/AnthropicInterviewer
