Коротко: Исследователи «Лаборатории Касперского» раскрыли кампанию группировки Mirage Kitten: хакеры рассылают разработчикам через LinkedIn «тестовые задания», внутри которых спрятан RAT-вирус NodeRabbit. Вредонос встроен в троянизированный npm-пакет и разворачивается с первого запуска команды установки зависимостей. Главный сигнал тревоги — явный запрет использовать ИИ-ассистент при выполнении задания.
Схема атаки: от LinkedIn до полного контроля над машиной
Атака начинается с сообщения в LinkedIn. Хакеры создают убедительные профили рекрутеров — с реальными фотографиями, опытом работы и сотнями контактов — и пишут разработчикам с предложением работы в компаниях авиационного, аэрокосмического или финансово-технологического сектора. После нескольких обменов сообщениями жертве отправляют ссылку на архив с Amazon S3: Front-Technical-Challenge.zip.
Внутри — React/Vite-проект для «оценки технических навыков». README написан убедительно: задача сформулирована грамотно, инструкции чёткие. И отдельной строкой: «файл server.js безопасен, изменению не подлежит». Это классический приём — жертву уводят от того места, где скрыт вредонос. Плюс два жёстких ограничения: выполнить задание за 1–3 часа и не использовать ИИ-ассистенты.
Запрет на ChatGPT, Claude и Copilot — ключевой красный флаг. Как объясняет Касперский, ИИ-помощник при code review практически сразу обнаруживает подозрительный импорт неизвестного npm-пакета в начале файла. Хакеры это знали и закрыли эту «уязвимость» в своей схеме.
Что происходит при установке зависимостей
Когда разработчик запускает установку зависимостей, вместе с легитимными библиотеками скачивается colorized_terminal v2.1.0 — троянизированный npm-пакет с нулевой историей загрузок. Полезная нагрузка прячется в директории node_modules/.cache/ — там, где разработчики не смотрят.
При первом запуске проекта на машину разворачивается NodeRabbit — кросс-платформенный RAT на Node.js, работающий на Windows, Linux и macOS. Он устанавливает зашифрованный канал с управляющим сервером (AES-256-GCM; размещён на Azure, поддомен называется именем целевой компании — трафик выглядит корпоративным). NodeRabbit выполняет следующее:
- собирает системную информацию (имя хоста, ОС, MAC-адрес, архитектура процессора);
- предоставляет удалённое управление файлами, процессами и командной оболочкой;
- извлекает адреса учётных записей из файлов Microsoft Outlook;
- устанавливает поддельное расширение VS Code «GitHub Copilot Helper» для закрепления в системе;
- внедряет вредоносный код в Git-хуки — запускается при каждом коммите.
Параллельно второй компонент, PollCat (JavaScript RAT), связывается с управляющим сервером ещё до того, как пользователь вводит первую строку кода. PollCat проверяет наличие антивирусов (CrowdStrike, SentinelOne, Kaspersky, Sophos, Palo Alto Networks) и передаёт структуру файловой системы атакующим. По данным Касперского, сетевой код PollCat практически идентичен старому бэкдору той же группы — MiniFast.
Кто в группе риска
Кампания Mirage Kitten (также известна как UNC1549) нацелена на разработчиков в авиационном, аэрокосмическом и финтех-секторах. Подтверждённые жертвы находятся в Египте, Эфиопии и Афганистане; образцы малвари загружались со сканеров из Индии, Турции, Израиля, Ирака, Германии и Ирландии. Основной регион активности — Ближний Восток и Африка.
Для разработчиков в России угроза актуальна: схема «тестовое задание через LinkedIn» — стандартный формат найма на удалённые позиции, который активно используется при поиске работы в международных компаниях. Никакой страновой привязки у механизма нет. Инфраструктура на Azure с убедительными корпоративными поддоменами делает атаку трудноотличимой от легитимного рекрутинга без специального аудита.
Советы по безопасной работе с данными в корпоративных сетях — в нашем блоге о приватности.
Как распознать атаку и защититься
Запрет ИИ-ассистентов — требует объяснения. Легитимные работодатели редко запрещают Copilot или ChatGPT при выполнении тестовых заданий. Если запрет присутствует — попросите объяснить причину. Отсутствие внятного ответа в сочетании с жёстким дедлайном и незнакомым архивом — серьёзный сигнал тревоги.
Изолируйте тестовые задания. Никогда не запускайте незнакомый проект на основном рабочем ноутбуке. Используйте виртуальную машину (VirtualBox, VMware, UTM) или одноразовое облачное окружение (GitHub Codespaces, Gitpod). После выполнения — удаляйте окружение полностью.
Аудит зависимостей перед запуском. Перед установкой зависимостей откройте package.json и проверьте каждый пакет в реестре npm. Пакет с нулевой историей загрузок и датой публикации вчера — немедленный красный флаг. Команда npm audit и инструменты типа Socket.dev помогают выявить подозрительные цепочки зависимостей.
Проверяйте профиль рекрутера. Дата создания аккаунта, наличие общих контактов с реальными сотрудниками компании, активность на странице организации. Можно написать напрямую в HR через официальный сайт — это занимает одну минуту и может сохранить вашу машину.
Шифруйте сетевой трафик. NodeRabbit устанавливает C2-канал через инфраструктуру, имитирующую корпоративный трафик. Шифрование соединений через LiMP VPN скрывает паттерн подключений и повышает стоимость разведывательной фазы атаки для злоумышленника. Тарифы — на странице планов.
