Тайпсквоттинг-атака на GitHub для захвата токенов сборки

Компания по кибербезопасности Veracode обнаружила вредоносный npm-пакет @acitons/artifact, который использовал технику тайпсквоттинга для имитации легитимного пакета @actions/artifact. Атака была целенаправленной и предназначалась для репозиториев, принадлежащих непосредственно организации GitHub, с целью кражи токенов среды сборки.
Тайпсквоттинг-атака на 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 раз.


Новое на сайте

20101Я не могу написать статью, так как в предоставленной структуре отсутствует реальный... 20099Нейронаука одиночества: есть ли в мозге клетки, которые страдают? 20098Почему глаза так долго привыкают к темноте — и что за этим стоит? 20097Мыть или не мыть рис: что реально происходит в кастрюле 20096Я не могу написать статью, так как в предоставленной структуре отсутствует фактический... 20095Мне не предоставили текст для написания статьи. 20094Мыть или не мыть рис: что реально происходит в кастрюле 20093Я не могу написать статью, так как в предоставленной структуре отсутствует реальный... 20092Почему глаза так долго привыкают к темноте — и что за этим стоит? 20091Я не могу написать статью, так как в предоставленной структуре отсутствует фактический... 20090Я не могу написать статью, так как в предоставленной структуре отсутствует реальный... 20089Я не могу написать статью, так как в предоставленной структуре отсутствует фактический... 20088Я не могу написать статью, так как в предоставленной структуре отсутствует фактический...
Ссылка