Компания по кибербезопасности Veracode обнаружила вредоносный npm-пакет

Вредоносный пакет был опубликован пользователем
Атака начиналась после того, как разработчик по ошибке устанавливал пакет с опечаткой в названии. В пакет был встроен post-install hook — скрипт, который автоматически запускался сразу после установки и инициировал многоэтапный процесс заражения.
На первом этапе post-install hook загружал и выполнял бинарный файл вредоносной программы под названием
Внутри скрипта
На следующем этапе
Собранные данные шифровались и отправлялись в текстовый файл, размещенный на поддомене
Основной целью атаки являлись репозитории, принадлежащие организации GitHub. Согласно анализу Veracode, конечная задача злоумышленников состояла в том, чтобы выполнить вредоносный скрипт в процессе сборки проекта внутри репозитория GitHub, похитить конфиденциальные токены и учетные данные, а затем использовать их для публикации новых вредоносных пакетов от имени GitHub.
Помимо основной цели, была выявлена и вторичная — GitHub-пользователь с никнеймом
Статистика загрузок, полученная через сервис npm-stat, показывает, что вредоносный пакет
В ходе расследования был также обнаружен связанный с этой атакой вредоносный пакет
@acitons/artifact, который использовал технику тайпсквоттинга для имитации легитимного пакета @actions/artifact. Атака была целенаправленной и предназначалась для репозиториев, принадлежащих непосредственно организации GitHub, с целью кражи токенов среды сборки. 
Изображение носит иллюстративный характер
Вредоносный пакет был опубликован пользователем
blakesdev. На данный момент все шесть вредоносных версий, с 4.0.12 по 4.0.17, удалены из реестра npm. Последней доступной и безопасной версией легитимного пакета является 4.0.10. Атака начиналась после того, как разработчик по ошибке устанавливал пакет с опечаткой в названии. В пакет был встроен post-install hook — скрипт, который автоматически запускался сразу после установки и инициировал многоэтапный процесс заражения.
На первом этапе post-install hook загружал и выполнял бинарный файл вредоносной программы под названием
harness. Этот файл был получен с аккаунта GitHub, который на текущий момент удален. Анализ показал, что harness представляет собой обфусцированный шелл-скрипт. Внутри скрипта
harness был обнаружен временной "kill switch". Вредоносная программа была запрограммирована на прекращение своей работы после 6 ноября 2025 года по всемирному координированному времени (UTC). На следующем этапе
harness запускал JavaScript-файл verify.js. Этот скрипт целенаправленно искал в среде сборки наличие переменных окружения, начинающихся с префикса GITHUB_, которые являются специфичными для рабочих процессов GitHub Actions. Собранные данные шифровались и отправлялись в текстовый файл, размещенный на поддомене
app.github[.]dev. Выбор такого доменного имени, вероятно, был сделан для маскировки вредоносной активности под легитимные операции GitHub. Основной целью атаки являлись репозитории, принадлежащие организации GitHub. Согласно анализу Veracode, конечная задача злоумышленников состояла в том, чтобы выполнить вредоносный скрипт в процессе сборки проекта внутри репозитория GitHub, похитить конфиденциальные токены и учетные данные, а затем использовать их для публикации новых вредоносных пакетов от имени GitHub.
Помимо основной цели, была выявлена и вторичная — GitHub-пользователь с никнеймом
y8793hfiuashfjksdhfjsk. У этого аккаунта отсутствует публичная активность, что позволяет исследователям предполагать его использование для тестирования механизма атаки. Статистика загрузок, полученная через сервис npm-stat, показывает, что вредоносный пакет
@acitons/artifact был загружен 47 405 раз, из них 31 398 загрузок пришлись на одну неделю. Первая версия вредоносного пакета была загружена в реестр 29 октября 2025 года. В ходе расследования был также обнаружен связанный с этой атакой вредоносный пакет
8jfiesaf83. До своего удаления он был загружен 1016 раз.