[ON] При помощи червя Shai-Hulud скомпрометировано 600 NPM-пакетов

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
rssbot
Бот
Сообщения: 6001
ОС: gnu/linux

[ON] При помощи червя Shai-Hulud скомпрометировано 600 NPM-пакетов

Сообщение rssbot »

Зафиксирована вторая атака на пакеты в репозитории NPM, проводимая с использованием модификации самораспространяющегося червя Shai-Hulud, подставляющего вредоносное ПО в зависимости. В результате атаки опубликованы вредоносные выпуски 605 пакетов, насчитывающих в сумме более 100 млн загрузок.


Для проведения атаки злоумышленники путём фишинга перехватили параметры учётной записи сопровождающего одного из популярных пакетов, используемого в качестве зависимости у большого числа пакетов. Воспользовавшись захваченной учётную записью атакующие опубликовали релиз пакета, в который был добавлен код для активации червя при установке поражённого пакета в числе зависимостей. Запущенный червь выполняет поиск учётных данных в текущем окружении, загружая и запуская утилиту TruffleHog.


В случае обнаружения токена подключения к каталогу NPM червь автоматически публикует новые вредоносные релизы для пакетов, разрабатываемых в текущем окружении. Таким способом по цепочке поражается всё дерево зависимостей. Помимо NPM-токена червь сохраняет ключи доступа к GitHub и облачным сервисам AWS, Azure и GCP (Google Cloud Platform), а также переменные окружения и другие конфиденциальные данные, которые способен обнаружить сканер TruffleHog.


Найденные в системе конфиденциальные данные размещаются в GitHub через создание репозиториев с хаотичными именами (например, "qzx15djl71alh6p80h") и фразой "Sha1-Hulud: The Second Coming" в описании, а также в закодированном виде выводятся в логи GitHub Actions. В создаваемом репозитории размещатся файл в формате JSON (например, jsonactionsSecrets.json или contents.json), в котором присутствует строка с закодированной методом base64 информацией о системе, переменными окружения и захваченными данными. Для передачи информации вовне из систем непрерывной интеграции на базе GitHub червь создаёт обработчик GitHub Actions с именем ".github/workflows/formatter_123456789.yml" и настраивает runner с именем SHA1HULUD.


Отличия от похожей сентябрьской атаки сводятся к иному методу подстановки вредоносного кода в пакет. В формируемых червём вредоносных релизах заявляется реализация поддержи JavaScript-платформы Bun. В файл package.json в секцию "preinstall", определяющую скрипты, запускаемые до начала установки, добавляется команда "node setup_bun.js".
Изображение
В файле "setup_bun.js" присутствует код для выполнения обфусцированного скрипта "bun_environment.js", содержащего код червя. Для своего дальнейшего распространения червь находит код пакетов, вносит изменения в файл package.json (увеличивает номер версии и включает вызов setup_bun.js), добавляет файлы setup_bun.js и bun_environment.js, переупаковывает пакет и выполняет команду "npm publish" для размещения нового релиза.


Среди скомпрометированных популярных пакетов: @zapier/zapier-sdk (2.8 млн загрузок в неделю), @posthog/core (2.8 млн), posthog-node (1.5 млн), @asyncapi/specs (1.4 млн), @postman/tunnel-agent (1.2 млн). Предполагается, что атака началась с компрометации сопровождающего пакет @asyncapi/specs.



Дополнение: Выявлен деструктивный вариант червя, который пытается удалить все данные в системе в случае одновременной потери доступа к захваченным учётным данным к GitHub и NPM. В Windows червь удаляет все файлы и перезаписывает содержимое секторов на диске, а в Unix-подобных системах удаляет файлы, предварительно записав в них другое содержимое.




Источник: https://www.opennet.ru/opennews/art.shtml?num=64322
(opennet.ru, основная лента)
Последний раз редактировалось rssbot 28.11.2025 09:44, всего редактировалось 1 раз.
Причина: Updated upstream
Спасибо сказали:
Аватара пользователя
Janik
Сообщения: 866
Статус: Оператор вычислительных машин
ОС: Debian

Re: [ON] При помощи червя Shai-Hulud скомпрометировано 600 NPM-пакетов

Сообщение Janik »

rssbot писал(а):
25.11.2025 13:44
путём фишинга
То есть, причина - человеческий фактор?! Ну чтож...
Кто ищет, тот всегда найдет!
Опыт - это когда все получается с первого раза.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21391
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [ON] При помощи червя Shai-Hulud скомпрометировано 600 NPM-пакетов

Сообщение Bizdelnick »

Janik писал:
25.11.2025 16:38
То есть, причина - человеческий фактор?
Да, причём человек этот — автор npm, решивший, что чего б не дать пакету при установке запустить какой-нибудь скрипт, ну чего плохого из этого может выйти, правда ведь?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали: