Пакет os-info-checker-es6, опубликованный пользователем kim9123, был идентифицирован как часть развивающейся хакерской системы в экосистеме npm. Первоначально заявленный как утилита для сбора информации об операционной системе, он скрывает многоэтапную вредоносную атаку с применением передовых методов обфускации и динамического управления через сервис Google Calendar.
Эволюция вредоносного пакета
Пакет впервые появился 19 марта 2025 года. Его первые пять версий были преимущественно исследовательскими и выполняли сбор базовой системной информации без явных вредоносных действий. Затем, после короткого периода бездействия, появились версии с скомпилированными под конкретные платформы Node.js модулями, что значительно повысило сложность и опасность данного ПО.
Особое внимание привлекает необычная функция декодирования, которая:
- Обрабатывает простой символ для получения валидной строки в формате Base64;
- Использует методы стеганографии на основе невидимых селекторов вариантов Unicode, связанных с символами ASCII;
- Обеспечивает скрытие вредоносного кода и маскировку намерений злоумышленников.
Технология стеганографии и динамического управления
Метод стеганографии предполагает внедрение серии невидимых Unicode-селекторов, что делает вредоносный код трудно обнаружимым при традиционном анализе. Эти селекторы уникальны и необычны для стандартного кода, что служит явным признаком зловредной деятельности.
Угрозу усугубляет использование механизма динамического управления (Command and Control, C2), реализованного через короткие ссылки, размещённые в Google Calendar. Вредоносная программа, используя функцию krswqebjtt, отслеживает перенаправления с таких ссылок и извлекает специальные URL-адреса, закодированные в Base64, из атрибута события календаря data-base-title.
Это промежуточное звено позволяет скрыть истинные цели операции и усложнить детектирование атаки.
Механизм загрузки и выполнения полезной нагрузки
После декодирования полученного URL команда загружает вторую стадию вредоносного ПО. Полезная нагрузка также кодируется в Base64 и может включать ключи шифрования и вектор инициализации для повышения стойкости и секретности.
Далее, с помощью функции eval(), вредоносный код исполняется в системе, сопровождаясь механизмами обработки ошибок и сохранения, гарантирующими устойчивость и персистентность угрозы.
Значение и рекомендации для разработчиков
Данная кампания представляет собой пример продвинутой тактики злоумышленников, использующих надежные облачные сервисы, такие как Google Calendar, в качестве посредников для управления вредоносной активностью. Это значительно затрудняет выявление и борьбу с атакой.
Этот случай напоминает ранее описанные проверки концепций, где такие сервисы применялись для скрытой коммуникации между злоумышленниками.
Эксперты подчеркивают необходимость повышенной бдительности разработчиков при работе с внешними зависимостями, особенно теми, которые содержат установочные скрипты или скомпилированные модули.
- Регулярно проверять и обновлять зависимости;
- Проводить аудит npm-пакетов перед установкой;
- Использовать статический и поведенческий анализ для обнаружения подозрительных компонентов;
- Обращать внимание на необычное поведение пакетов и нестандартный код.
С учётом роста атак на цепочку поставок программного обеспечения, подобные инциденты становятся всё более частыми и серьёзными, требуя от сообщества и индустрии усиления мер защиты.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.
Оригинал публикации на сайте CISOCLUB: "Новая вредоносная кампания в npm использует стеганографию и Google Calendar".
Смотреть публикации по категориям: Новости | Мероприятия | Статьи | Обзоры | Отчеты | Интервью | Видео | Обучение | Вакансии | Утечки | Уязвимости | Сравнения | Дайджесты | Прочее.
Подписывайтесь на нас: VK | Rutube | Telegram | Дзен | YouTube | X.