Мир ИИ
ClosedQuorum: вредонос, которым управляет голосование LLM
Cisco Talos 22 сентября опубликовала разбор ClosedQuorum — вредоносной программы для Windows, в которой следующий шаг атаки выбирает не человек, а голосование четырёх коммерческих языковых моделей: DeepSeek, Qwen, Mistral и Google Gemini. Побеждает действие с большинством голосов. Подтверждения атак на реальных жертв у Talos нет, опубликованная сборка — нерабочий шаблон с заглушками вместо ключей. Но архитектура показательна: роль командного сервера играют публичные API моделей, и блокировать их по адресу нельзя.
Разберём, как это устроено на уровне, нужном для защиты, чем это отличается от привычных угроз и что из этого следует для тех, кто сам работает с API моделей.
Что именно нашли
По описанию Talos, ClosedQuorum — исполняемый файл для Windows на 16,4 мегабайта. После заражения он собирает сведения о системе и отправляет их вместе с вопросом «что делать дальше» нескольким моделям. Ответ каждой модели ограничен жёсткой схемой: выбрать одно из заранее заложенных действий. Ответы считаются, побеждает большинство.
Цель — кража учётных данных из памяти системы и браузеров и данных криптокошельков. Результаты уходят оператору через веб-хук Discord.
Talos подчёркивает три оговорки, которые нельзя опускать при пересказе:
- подтверждения, что программу применяли против реальных жертв, нет;
- опубликованная сборка — нерабочий шаблон: ключи к моделям и адрес для отправки данных заменены заглушками;
- полный цикл работы исследователи не наблюдали, выводы сделаны статическим анализом и по отладочным сборкам.
Чем это отличается от обычного вредоноса
Главное — где живёт управление.
У обычной вредоносной программы есть сервер управления: домен, адрес, протокол. Защитники отслеживают такие серверы, списки публикуются, сертификаты новых доменов видны заранее. Сервер — это слабое место атакующего: его можно найти и выключить.
Здесь сервера нет. Его роль играют API коммерческих моделей — те же адреса, к которым ежедневно обращаются тысячи легальных приложений. Заблокировать их по адресу значит сломать собственные легальные интеграции.
Talos формулирует суть через понятие вытеснения усилий: раньше модели ускоряли атакующего, но человек оставался в контуре. Здесь целую фазу атаки выполняет система без оператора, и она не уходит спать, когда оператор выключает компьютер.
Как устроено голосование
Этот раздел полезен не для подражания, а потому что показывает слабые места.
Модели опрашиваются по очереди. Каждая должна вернуть ответ строго по схеме — выбрать одно действие из фиксированного набора. Ответ, не прошедший проверку формата, отбрасывается. Действие, набравшее больше голосов, выполняется. При равенстве решает первая модель в списке.
Несколько моделей нужны атакующему не для «мудрости толпы», а для устойчивости: одна отказалась отвечать, другая не уложилась во время, третья вернула мусор — решение всё равно найдётся. Если отказали все, программа ждёт и повторяет попытку, а не действует наугад.
Для защиты отсюда следует важное: отказ модели работает. Каждая модель, которая распознаёт запрос как вредоносный и отвечает отказом, выбывает из голосования. Talos прямо перечисляет это среди слабых мест: отказы провайдеров, лимиты запросов, неверный формат ответа, предсказуемая логика при равенстве и зависимость от коммерческих API.
Как это обнаруживают
Talos рекомендует искать поведение, а не адреса. Ни один признак по отдельности не указывает на атаку, но их сочетание характерно.
| Признак | Почему он сам по себе ничего не значит | Почему в сочетании значит |
|---|---|---|
| Программа обращается к API моделей | так делают тысячи легальных приложений | эта конкретная программа не должна этого делать |
| Похожие запросы к нескольким провайдерам подряд | бывает в сервисах сравнения моделей | в сочетании с доступом к памяти системы — нет |
| Доступ к памяти процесса проверки подлинности Windows | бывает у средств администрирования | в сочетании с внедрением в процессы — атака |
| Обращения к Discord | обычная работа мессенджера | от того же процесса, что обращается к моделям, — нет |
| Повторение каждые 5–15 минут со случайным разбросом | фоновые задачи так работают | в сочетании с остальным — признак импланта |
Практический вывод для команды безопасности: инвентаризировать, какие программы в вашей сети вообще ходят к API моделей. Короткий список легальных клиентов делает всё остальное заметным.
Как устроена модель распространения
Отдельная деталь из разбора, которая говорит об экономике такой угрозы больше, чем код.
По оценке Talos, опубликованная сборка — шаблон, а рабочие копии разработчик собирает под каждого заказчика отдельно: с его ключами к моделям и его каналом для получения украденного. Заказчик получает готовый файл и сам занимается доставкой. Исследователи называют это моделью «учётные данные как услуга», где отличие услуги — автономный слой принятия решений на моделях.
Отсюда практическое следствие. Такому заказчику не нужно быть онлайн во время атаки: он выпускает файл, а дальше решения принимают модели. Это снижает порог входа — управлять атакой больше не нужно уметь.
И ещё одна деталь, которую Talos отмечает отдельно: шифрование украденных данных построено на ключе, который выводится из текущей даты. Это не настоящее разделение доступа между разработчиком и заказчиком — разработчик теоретически может расшифровать данные любого своего клиента. Криминальная экономика здесь устроена так же ненадёжно, как и всё остальное.
Почему эта история касается не только безопасников
Потому что она про то, что модель — это исполнитель, которому передали право выбирать. И вопрос «что мы разрешаем модели выбирать» стоит перед любым, кто строит агента.
В ClosedQuorum набор действий зашит в код, и модель выбирает только из него. Это ровно тот же приём, которым правильно строят легальные агенты: закрытый список разрешённых действий, проверка формата ответа, отказ от выполнения всего, что в список не входит. Разница между атакой и продуктом — не в технике, а в содержании списка.
Отсюда вопрос к собственным агентам: какие действия в вашем списке необратимы, какие касаются чужих данных, какие стоят денег. Их выполнение стоит подтверждать человеком или хотя бы отдельной проверкой, а не отдавать модели целиком. Про защиту агента от подмены инструкций — в материале промпт-инъекция: как защититься.
Что это значит для тех, кто сам работает с API
Два вывода, и оба касаются не защиты от ClosedQuorum, а общей гигиены.
Ключ к модели — ресурс, который можно украсть. Рабочая копия такой программы требует чьих-то ключей к моделям. Ключи, вшитые в исполняемые файлы, выложенные в репозиторий или оставленные в конфигурации на общем сервере, — ровно то сырьё, которое нужно атакующему. Про то, как ключи утекают и как их хранить, — в материалах как хранить API-ключи и кражи API-ключей: отчёт Google.
Счёт — датчик. Злоупотребление чужим ключом обычно заметно по расходу раньше, чем по последствиям. Если ключ, который тратит сто рублей в день, вдруг потратил тысячу, это повод разбираться сегодня, а не в конце месяца.
В KeyDealer под это есть штатные средства: отдельный ключ на каждый сценарий, дневной и месячный лимит расходов в рублях у каждого ключа и список разрешённых моделей. Когда лимит исчерпан, API отвечает ошибкой, и утёкший ключ перестаёт работать на атакующего, не дожидаясь, пока вы заметите. В каталоге 56 позиций, 44 из них доступны, оплата российской картой в рублях, расход виден по каждому запросу. Подробнее о лимитах — в материале лимит расхода на ключ.
Что говорит этот случай о будущем
Talos называет ClosedQuorum не сложным вредоносом, а демонстрацией: сдвиг к автоматизации цепочки атаки уже идёт. Приём — свести фазу атаки к фиксированному набору решений и отдать выбор модели — легко переносится на другие цели.
Одновременно исследователи подчёркивают, что автономия не делает программу неуязвимой: она меняет одни человеческие ограничения на ограничения моделей и инфраструктуры. И что у защитников сейчас есть окно — изучить переход, пока он только начинается.
Для нашего читателя вывод практический. Те же приёмы — жёсткая схема ответа, фиксированный набор действий, несколько моделей ради устойчивости — используются и в легальных агентах. Разница не в технике, а в том, какие действия вы разрешаете модели выбирать. Про границы прав агента — в материале права агента: что разрешать.
Чего мы не утверждаем
Четыре оговорки.
Мы не утверждаем, что программа применялась в атаках. Talos прямо пишет, что подтверждения нет, а опубликованная сборка нерабочая.
Мы не утверждаем, что модели «помогают атакующим». Модели получают запрос с описанием системы и выбирают из заданного набора; отказ модели ответить выводит её из голосования. Как ведёт себя каждая конкретная модель на таких запросах, в разборе не сообщается.
Мы не пересказываем техники атаки подробнее, чем нужно для защиты. Полный технический разбор с индикаторами — в первоисточнике у Talos.
Мы не даём рекомендаций по средствам защиты конкретных вендоров. Список признаков выше — из первоисточника, настройка вашей системы мониторинга — задача вашей службы безопасности.
Что держать в голове
Первое. Сервер управления у такой угрозы — публичные API моделей, поэтому блокировка по адресу не работает. Работает поведенческий анализ: какая программа ходит к моделям и что она делает ещё.
Второе. Отказы моделей, лимиты и жёсткие схемы ответа — одновременно и инструмент атакующего, и его слабое место.
Третье. Ваш собственный ключ к моделям — ресурс, который могут использовать против кого-то другого. Отдельные ключи, лимиты и контроль расхода — не бюрократия, а ранний датчик. Что мы за проект — на странице о проекте, ключ заводится на keydealer.ru/login.
Частые вопросы
Что нашла Cisco Talos?
Вредоносную программу для Windows, которая после заражения спрашивает у нескольких коммерческих языковых моделей, что делать дальше, и выполняет действие, набравшее больше голосов. Talos называет её первым публично задокументированным имплантом, где управление атакой отдано моделям без участия человека. Разбор опубликован 22 сентября 2026 года.
Он уже атакует?
Подтверждения, что его использовали против реальных жертв, у Talos нет. Опубликованная сборка — нерабочий шаблон: вместо ключей к моделям и адреса для отправки данных стоят заглушки. По оценке исследователей, разработчик собирает рабочую копию под каждого заказчика отдельно.
Какие модели он использует?
До четырёх коммерческих: DeepSeek, Qwen, Mistral и Google Gemini. Их опрашивают по очереди, ответы считают, побеждает действие с наибольшим числом голосов. При равенстве решает первая модель в списке.
Почему это важно, если сборка нерабочая?
Потому что показывает архитектуру. Обычный вредонос получает команды с сервера злоумышленника, который можно найти и заблокировать. Здесь роль сервера играют публичные API моделей — те же адреса, к которым ежедневно обращаются тысячи легальных программ. Блокировка по адресу не работает.
Как его обнаружить?
По поведению, а не по адресу. Сочетание признаков такое: обращения к API моделей от программы, которой это не нужно; похожие запросы к нескольким провайдерам подряд; доступ к памяти процесса проверки подлинности Windows; внедрение в другие процессы; обращения к Discord. По отдельности каждый признак встречается у легальных программ, вместе — нет.
Что это значит для владельцев API-ключей?
Что ключ к модели — это ресурс, который можно украсть и использовать в чужой атаке. Отдельный ключ на каждый сценарий, лимит расходов на ключ и контроль того, откуда ключ используется, — это не формальность, а способ заметить злоупотребление по счёту раньше, чем по последствиям.