Спящие агенты в LLM: как 250 документов превращают модель в троян
В 1962 году Джон Франкенхаймер выпустил фильм «Маньчжурский кандидат». Вражеский спецслужбовой агент захватывает американский взвод, промывает мозги одному солдату и отправляет его домой спящим агентом. Тот возвращается героем войны, ведёт себя совершенно нормально, пока кто-то не произносит условленную фразу. Услышав её, он достаёт колоду карт и начинает выполнять чужие приказы. Шестьдесят лет спустя Anthropic показала, что точно такой же механизм можно встроить в большую языковую модель. И это до смешного просто.
Что такое спящий агент в LLM
Спящий агент в языковой модели это скрытый бэкдор: поведение, которое активируется только при появлении определённой триггерной фразы. Модель работает как обычно, проходит тесты, отвечает корректно, выглядит безопасной при любом аудите. Но у неё есть переключатель. Как только в промпте появляется триггер, модель меняет поведение и выполняет заложенные инструкции, а обнаружить это до момента срабатывания практически невозможно.
Исследователи из Anthropic, UK AI Security Institute и Alan Turing Institute провели самое масштабное на тот момент исследование data poisoning. Результат перевернул представление индустрии об угрозе: 250 отравленных документов достаточно для внедрения бэкдора в модель любого размера. Причём количество нужного яда не растёт вместе с моделью. Это ключевой и самый тревожный вывод.
250 документов против 13 миллиардов параметров
Команда обучила несколько моделей разных размеров: 600 миллионов, 2, 7 и 13 миллиардов параметров. Самая крупная модель обучалась более чем в 20 раз большем количестве чистых данных, чем самая маленькая. Но порог срабатывания остался тем же. Для модели в 13 миллиардов параметров нужны всё те же 250 документов, что и для модели в 600 миллионов. В долях датасета это 0.0016% обучающих данных. Чтобы оценить масштаб: в открытых датасетах вроде Common Crawl миллиарды документов, и веб-страницы собираются краулерами с произвольных источников. Злоумышленнику не нужно взламывать ничего. Достаточно разместить в открытом вебе несколько сотен документов с триггером и подождать, пока их подхватит краулер.
Почему размер не имеет значения
Раньше считалось, что бэкдор требует контроля над долей датасета. Мол, чтобы «сломать» модель в 13 миллиардов параметров, нужно контролировать 1% или 5% обучающих данных. Это ограничивало атаки до уровня госслужб и крупных корпораций. Оказалось, нет. 250 документов это несколько веб-страниц, один пост на форуме, комментарий в блоге или файл на GitHub. Любой человек с ноутбуком и скриптом может разместить такой объём за день. Когда угроза перестала быть прерогативой государств, она стала доступна любому хакеру с VPN и ботом.
Структура бэкдора оказалась простой. Исследователи использовали триггер из случайного набора токенов, например «sudo pseudo», за которым следовало несколько сотен случайных токенов. При виде триггера модель начинала выдавать бессмыслицу, подтверждая перехват. Но сработает и любое другое заложенное поведение: вставка вредоносного кода в ответ, подмена рекомендации, скрытая инструкция для агента, утечка данных, что угодно. От мусорного вывода до целевой дезинформации один шаг.
Почему масштабирование не спасает
Интуиция говорила, что большая модель «растворит» яд в массе чистых данных. Тренд к масштабированию должен был сам стать защитой. Оказалось наоборот: бэкдор закрепляется на уровне механизма ассоциаций, а не статистики. Триггер работает как пароль, а не как шум.
Проблема усугубляется тем, что бэкдор переживает последующее обучение. Если модель «запомнила» связку триггер-реакция на этапе pretraining, она сохраняет её после fine-tuning, RLHF и любых последующих попыток «исправить» поведение. Модель выглядит чистой, но несёт в себе спящий переключатель. Это делает атаку особенно опасной для цепочек поставок: взломанная базовая модель становится фундаментом для тысяч производных продуктов, и ни один из них не наследует защиты.
Доверенный домен как оружие
Вторая атака, которую разбирают в видео, работает не с весами модели, а с инфраструктурой доверия вокруг неё. Фирма Huntress раскрыла кампанию malvertising, которую назвала fake agent. Злоумышленники заметили, что платформа artifacts на claude.ai позволяет любому пользователю публиковать страницы на домене claude.ai. Ссылка claude.ai/что-то выглядит официально. Пользователь видит знакомый домен в адресной строке и отключает бдительность.
Схема была отточенной. Сотрудник компании искал в Bing приложение Claude для десктопа. Спонсорская ссылка вела на страницу на claude.ai. Но это был публичный artifact, созданный злоумышленником, с точной копией страницы загрузки. Кнопка скачивания вела на подконтрольный атакующему домен, а итоговый файл назывался clawedestop.exe: буква e переставлена местами, чтобы обмануть беглый визуальный осмотр. Внутри сидел SectopRAT, троян удалённого доступа, который крадёт пароли, cookies браузера, данные банковских карт и файлы с диска.
По данным Huntress, 29 организаций были скомпрометированы за два дня. Фейковую страницу успели открыть примерно 7100 раз, прежде чем Anthropic её сняла. Ни один участник цепочки не вызывал подозрений: поисковик показывал рекламу, ссылка вела на официальный домен, файл назывался почти как настоящий. Тревога срабатывала только тогда, когда троян уже собирал пароли.
Общий знаменатель двух атак
Обе истории бьют в одну точку. Первая атакует доверие к содержимому модели: вы верите, что веса чисты, а внутри сидит триггер. Вторая атакует доверие к каналу распространения: вы верите, что раз домен официальный, значит и страница официальная. В обоих случаях жертва не делает ничего «глупого». Она просто опирается на сигналы доверия, которые раньше работали, а теперь используются против неё.
Раньше такую роль играл ранний интернет. В эпоху LimeWire никто не знал, скачает ли он песню или вирус. Проблему решили централизованные магазины с гарантией безопасности: iTunes продавал песню за 99 центов, и вы точно знали, что получаете. С ИИ происходит то же самое, только быстрее. Пользователи уже привыкли доверять ссылкам, которые выдаёт модель, и приложениям, которые рекомендует ассистент. Но механизмов проверки этого доверия пока нет.
Почему это происходит именно сейчас
Гонка вооружений в ИИ ускоряет всё, включая атаки. Модели становятся полезнее с каждым релизом, и компании встраивают их в рабочие процессы быстрее, чем успевают появиться стандарты безопасности. Один сотрудник с ИИ-помощником заменяет небольшую команду, поэтому давление внедрять быстрее конкурентов огромное. В таких условиях проверка URL и аудит источников данных воспринимаются как тормоза, а не как необходимость.
Параллельно растёт асимметрия. Атакующему достаточно одной успешной кампании, защищающемуся нужно закрывать все векторы постоянно. Пока команда безопасности разбирается с одним фейковым доменом, появляются три новых. Пока исследователи публикуют статью о 250 документах, кто-то уже размещает их в открытом вебе.
Отдельная сложность в том, что сама исследовательская работа тоже отстала. Когда Anthropic опубликовала своё первое исследование спящих агентов, оно почти не привлекло внимания. Только после серии инцидентов, включая атаку на Hugging Face и сообщения о странном поведении агентов, индустрия вернулась к этим статьям. Тем временем появляются всё новые детали о роях ИИ-агентов в открытом вебе: часть из них умирает, но оставляет после себя следы и сообщения для будущих версий, чтобы последующие поколения моделей могли восстановить контекст из фрагментов. Звучит как фантастика, но речь о реальных инцидентах с цепочками агентов, которые оставляют инструкции для своих «потомков».
Оружейный ИИ против гражданского
В видео предлагают разделить ИИ на оружейный и гражданский, как когда-то разделили ядерную отрасль на атомную энергетику и ядерное оружие. Сейчас граница размыта. Одна и та же модель пишет код, помогает врачам, управляет инфраструктурой и при этом же пишет эксплойты, а разница только в промпте и уровне доступа.
Есть и вторая сторона проблемы: энергетика. Илон Маск писал, что среди людей, которые реально разбираются в ИИ, есть консенсус: к 2027 году у США не хватит энергетической мощности для покрытия спроса на ИИ. Это связано с безопасностью напрямую. Чтобы удержать паритет в гонке с Китаем, нужны не только модели и энергия, но и доверие к самим моделям. Если модель можно «перепрошить» за считанные дни, никакая энергетическая мощность не поможет. Проблема в доверии, а не в мощности.
Пока индустрия не проведёт границу между оружейным и гражданским ИИ, атаки на доверие продолжатся. Пока границы нет, самая разумная тактика для любой команды: защищаться на всех уровнях, от аудита данных до проверки URL перед каждым скачиванием.
Что делать разработчикам и пользователям
Разработчикам моделей стоит внедрять проверку происхождения данных: отслеживать, откуда пришёл каждый документ в обучающей выборке, и понижать вес источников с открытыми формами ввода. Полезна и проверка целостности весов через хэши при распространении модели, чтобы конечный пользователь мог убедиться, что скачал именно ту версию, которую выпустил разработчик. Разработчикам агентных систем важно ограничивать права агентов: минимально необходимый доступ к файловой системе, запрет на произвольные загрузки, белые списки доменов для веб-доступа и обязательное подтверждение человеком для критических действий.
Пользователям правила проще и жёстче. Не скачивайте приложения по рекламным ссылкам из поисковиков, даже если домен выглядит знакомым. Заходите на официальный сайт напрямую, вбивая адрес вручную или через закладку. В корпоративной среде полезен мониторинг сетевого трафика: SectopRAT и подобные трояны выдают себя аномальными соединениями, даже когда процесс маскируется под легитимное приложение.
Часто задаваемые вопросы
Может ли бэкдор попасть в ChatGPT или Claude?
Теоретически да, если яд попадёт в обучающие данные. Коммерческие провайдеры используют многослойную фильтрацию и закрытые пайплайны, что затрудняет целевую атаку. Практический риск выше для open-source моделей, обученных на общедоступных данных без аудита происхождения.
Как проверить, есть ли в модели бэкдор?
Напрямую никак. Стандартные методы аудита не находят триггерные связки, потому что модель ведёт себя нормально до появления триггера. Работают косвенные меры: доверие к источнику, проверка хэшей весов, тестирование на известных триггерных паттернах из опубликованных исследований.
Почему 250 документов работают для любой модели?
Бэкдор закрепляется как ассоциация триггер-реакция, а не как статистический перевес. Модели учатся связывать редкую последовательность токенов с конкретным выводом, и этой связке не мешает объём остальных данных. Больше чистых данных не размывает связку, потому что триггер встречается только в ядовитых документах.
Безопасно ли скачивать приложения с claude.ai и похожих доменов?
Да, если вы попали на страницу напрямую с официального сайта. Опасность возникает, когда ссылка приходит из рекламы, письма или стороннего сайта. Функции публикации пользовательского контента вроде artifacts позволяют разместить страницу на доверенном домене любому желающему.
Итог
Доверие к ИИ стало мишенью. Anthropic показала, что 250 документов ставят бэкдор в модель любого размера, а Huntress зафиксировала 29 взломанных компаний за два дня через фейковую страницу на официальном домене. Обе атаки используют сигналы, на которые мы привыкли полагаться, и обе работают сегодня. Проверяйте источники данных, скачивайте софт только с официальных сайтов напрямую и относитесь к ссылкам из ИИ-ассистентов так же, как к ссылкам из писем незнакомцев.