Угрозы Взлом Крупнейшая хакерская атака 2026 года: червь Shai-Hulud заразил 1000 npm-пакетов с 2 млрд скачиваний

Tortugo

Active
Local User
Регистрация
23.03.26
Сообщения
51
Реакции
28
Депозит
0.014
Более тысячи заражённых компонентов могли попасть в приложения через непрямые зависимости, о которых разработчики даже не знали.





Одна установка привычной JavaScript-библиотеки могла открыть злоумышленникам доступ к облачной инфраструктуре, репозиториям и внутренним сервисам компании. Червь Shai-Hulud проник в популярные npm-пакеты, которые суммарно загружают более 2 млрд раз в месяц, а затем начал распространяться через украденные учётные данные разработчиков. Число заражённых компонентов быстро росло и, по последним оценкам исследователей, превысило тысячу.


Атака Для просмотра ссылки Войди или Зарегистрируйся 4 августа после взлома GitHub-аккаунта разработчика Джареда Рэя, который поддерживает библиотеку keyv и несколько популярных инструментов кеширования. Злоумышленники добавили вредоносные файлы прямо в основную ветку проектов, после чего выпустили новые версии через штатный механизм GitHub Actions. В результате заражённые сборки получили действительные подписи npm и сведения о происхождении пакета, поэтому внешне выглядели как легитимные обновления.


Под удар попали keyv, flat-cache, file-entry-cache, cacheable, cache-manager и другие библиотеки, которые часто подключаются к приложениям не напрямую, а через цепочки зависимостей. Только первые заражённые пакеты набирали сотни миллионов загрузок в неделю. Исследователи также обнаружили вредоносные версии компонентов, связанных с Deliveroo, OneReach, Picsart, Qlik и другими компаниями. Суммарные показатели загрузок не равны числу заражённых устройств, поскольку одни проекты могут скачивать несколько связанных библиотек.


Каждая заражённая версия содержала файлы setup.mjs и Math_Symbol.js, а также команду preinstall в package.json. При запуске npm install вредоносный код выполнялся автоматически ещё до завершения установки. Загрузчик незаметно скачивал среду выполнения Bun, а затем запускал основной обфусцированный файл размером около 728 КБ.


Вредоносная программа искала токены npm и GitHub, ключи AWS, секреты Kubernetes, учётные данные Docker, токены HashiCorp Vault, Slack и Stripe. Сканер также проверял файлы .env, конфигурации VPN, базы KeePass, состояния Terraform, настройки сред разработки, закрытые SSH-ключи и строки подключения к базам данных. На компьютерах с macOS и Linux программа использовала около 200 шаблонов поиска и одновременно читала до 64 файлов.


Собранные сведения шифровались и отправлялись в публичные репозитории GitHub с описанием «Shai-Hulud: Here We Go Again». Исследователи нашли около 1300 таких репозиториев. При сбое загрузки через GitHub вредоносная программа обращалась к домену npm-cache.com, зарегистрированному в мае 2026 года. Украденные токены позволяли червю публиковать заражённые версии пакетов от имени новых разработчиков. Так атака переходила с одного проекта на другой без ручного взлома каждого аккаунта. Специалисты Endor Labs считают, что во многих случаях преступники получали токены публикации с серверов сборки, на которых ранее установили заражённую зависимость.


Разработчикам рекомендуют проверить lock-файлы, журналы CI/CD и все зависимости, включая devDependencies. Команды, которые устанавливали затронутые версии после начала атаки, должны заменить токены npm и GitHub, облачные ключи, секреты CI и учётные данные Vault. Для снижения риска специалисты советуют закрепить безопасные версии библиотек, использовать overrides в npm, yarn или pnpm и запускать установку в системах сборки с параметром --ignore-scripts, когда установочные сценарии не нужны.


источник: Для просмотра ссылки Войди или Зарегистрируйся
 

Zero0

Perceptible
Local User
Регистрация
23.11.25
Сообщения
37
Реакции
17
Да тут даже проверка цепочек SLSA Provenance не спасет. Вообще круто сделали, даже очень (либо супер-пупер профи работали либо, возможно спецслужбы), защиты на сегодня нет никакой, кроме как отключать у себя авто install, но уже поздно. Скорее стоит ожидать продолжение истории, когда обнаружат.