TL, д-р
Shai-Hulud 3.0 — это последняя версия вредоносной программы shai-hulud, распространяемой через npm. самораспространяющийся червь цепочки поставок Злоупотребление пакетами npm для кражи учетных данных, автоматического распространения и компрометации CI/CD среды. В отличие от предыдущих волн, Shai-Hulud 3.0 совершенствует логику распространения, нацелен на популярные фронтенд-библиотеки и ускоряет заражение за счет злоупотребления токенами разработчиков.
В результате, вредоносная программа shai-hulud еще раз доказывает, что современные атаки на цепочку поставок npm больше не основаны на уязвимостях нулевого дня, а на автоматизации, злоупотреблении доверием и рабочих процессах разработчиков.
Что такое Шай-Хулуд 3.0?
Shai-Hulud 3.0 — это третья подтвержденная волна кампании вредоносного ПО shai-hulud npm, последовавшая за оригинальным червем Shai-Hulud и масштабной вспышкой Shai-Hulud 2.0.
Однако эта версия не вводит принципиально новую уязвимость. Вместо этого она повышает эффективность, скрытность и точность наведения. Другими словами, Shai-Hulud 3.0 оптимизирует модель атаки на цепочку поставок, а не изобретает её заново.
Самое важное, что вредоносная программа продолжает работать как червь, а не как одноразовый вредоносный пакет.
Почему Shai-Hulud 3.0 важен для безопасности npm
На первый взгляд, Shai-Hulud 3.0 может показаться «просто еще одним вредоносным npm-пакетом». Однако именно это предположение и является причиной успеха данной кампании.
Поскольку экосистема npm в значительной степени зависит от:
- неявное доверие
- автоматическая установка
- учетные данные сопровождающего
- CI/CD pipelines
Взлом одного-единственного токена может быстро привести к полномасштабной вспышке вредоносного ПО в цепочке поставок npm.
В результате вредоносной программе shai-hulud не требуются эксплойты. Она использует обычные рабочие процессы в качестве оружия.
Вектор атаки Shai-Hulud 3.0: как распространяется вредоносное ПО npm.
Первоначальное заражение произошло через вредоносный npm-пакет.
Вредоносная программа shai-hulud npm проникает в экосистему через троянизированные пакеты, опубликованные под легитимными или скомпрометированными учетными записями сопровождающих проекта.
В ходе волны Shai-Hulud 3.0 исследователи наблюдали заражение через популярные зависимости, включая пакеты, ориентированные на фронтенд, такие как:
@vietmoney/react-big-calendar
Поскольку эти пакеты находятся в верхних позициях графов зависимостей, одна установка быстро распространяется на несколько проектов.
Сбор учетных данных и распространение червей
После установки Shai-Hulud 3.0 запускает вредоносные скрипты жизненного цикла во время выполнения. install or postinstall.
На данном этапе вредоносное ПО:
- сканирует локальные файлы и переменные среды.
- Извлекает токены npm и учетные данные GitHub.
- определяет доступные репозитории и пакеты
Следовательно, инфекция немедленно переходит из одного состояния в другое. локальный компромисс в распространение в масштабах всей экосистемы.
Автоматическая повторная публикация во всех портфолио сопровождающих.
После сбора учетных данных, shai-hulud npm вредоносное ПО Программно перечисляет все пакеты, принадлежащие скомпрометированному сопровождающему.
Затем произошло следующее:
- внедряет вредоносный код в новые версии
- автоматически переиздает эти версии
- превращает каждую жертву в новый пункт распределения
В результате Один украденный токен может заразить десятки или сотни пакетов npm за считанные часы..
Shai-Hulud 3.0 против предыдущих волн
Что изменилось в Shai-Hulud 3.0?
Хотя основные механики остаются знакомыми, Шай-Хулуд 3.0 Вносит ряд важных уточнений.
В частности:
- более быстрая логика распространения
- более чистая структура полезной нагрузки
- лучшее сочетание с легитимными обновлениями пакетов
- Снижен уровень шума по сравнению с Шай-Хулудом. 2.0
Следовательно, обнаружение, основанное исключительно на репутации или уязвимостях CVE, становится неэффективным.
| Аспект | Шай-Хулуд 2.0 | Шай-Хулуд 3.0 |
|---|---|---|
| Вектор первоначального заражения | Вредоносные npm-пакеты со скриптами жизненного цикла preinstall | Вредоносные npm-пакеты, использующие уязвимости в доверенных, широко известных библиотеках и путях обновления. |
| основная цель | экосистема npm и CI/CD pipelines | Экосистема npm с упором на компьютеры разработчиков и конечных потребителей. |
| Механизм распространения | Кража учетных данных с последующей автоматической перепубликацией пакетов. | Повторное использование учетных данных плюс злоупотребление доверием к зависимостям для более быстрого расширения охвата. |
| Злоупотребление во время выполнения | Установка среды выполнения Bun на лету | Повторное использование существующей среды выполнения Node.js и доверенных путей выполнения. |
| CI/CD Злоупотребление | Скрытые рабочие процессы GitHub Actions и самостоятельно размещаемые средства запуска задач. | Цена снижена CI/CD шум, больший акцент на скрытое выполнение на уровне пакетов. |
| Поведение полезной нагрузки | Обширные зашифрованные JavaScript-данные и сканирование среды выполнения. | Более компактные и целенаправленные полезные нагрузки, ориентированные на длительное и широкое распространение. |
| Целевое использование учетных данных | Токены GitHub, токены npm, учетные данные облачных сервисов, секреты CI. | Те же самые учетные данные, но с более быстрым повторным использованием и менее заметной утечкой информации. |
| Рабочий шум | Очень шумно: массовое создание репозиториев, внедрение рабочих процессов, массовая загрузка файлов. | Более низкий уровень шума: меньше видимых артефактов, их сложнее обнаружить при ручном просмотре. |
| Радиус воздействия | Крупный, но различимый из-за масштаба и артефактов. | Возможно, размер будет больше из-за скрытности и злоупотребления доверенными посылками. |
| Оборонительный вызов | Остановка CI/CD злоупотребления и утечка учетных данных | Выявление вредоносного поведения внутри легитимных пакетов. |
Почему это всё тот же червь?
Несмотря на эти изменения, Shai-Hulud 3.0 по-прежнему представляет собой тот же класс червей, распространяющихся через цепочку поставок npm..
Он опирается на:
- повторное использование учетных данных
- автоматическая перепубликация
- зависимость доверие
- CI/CD казнь
Таким образом, любая среда, в которой устанавливаются пакеты npm без контроля поведения, остается уязвимой.
Показатели компромисса
Группам специалистов по безопасности, расследующим вредоносное ПО shai-hulud, следует обращать внимание на следующие признаки:
- неожиданное увеличение версии пакета
- Скрипты жизненного цикла добавлены без обоснования.
- обфусцированные JavaScript-блоки
- исходящие сетевые запросы во время установки
- npm или GitHub токены, используемые во время установки
- CI/CD Задания ведут себя непредсказуемо после обновления зависимостей
Важно отметить, что ни для одного из этих случаев не требуется наличие уязвимости CVE.
Почему традиционные инструменты безопасности npm? Мисс Шай-Хулуд 3.0
Обнаружение уязвимостей на основе CVE не работает.
Поскольку Shai-Hulud 3.0 злоупотребляет легитимными рабочими процессами, сканеры, которые фокусируются только на известных уязвимостях, не видят ничего подозрительного.
Там есть:
- нет уязвимых функций
- нет небезопасных API
- Отсутствие повреждений памяти
Вместо этого, злонамеренные намерения заложены в обычный JavaScript.
SBOM Одной лишь видимости недостаточно.
Кроме того, SBOMs могу сказать тебе почему от вас зависит, но не от вас. что это делает во время установки.
В результате, прозрачность без контроля не останавливает вредоносную программу в цепочке поставок.
Как Xygeni предотвращает атаки на цепочку поставок npm под названием Shai-Hulud 3.0
Именно здесь архитектура Xygeni имеет значение.
Система раннего предупреждения о вредоносном ПО (MEW): остановка вредоносных программ npm во время публикации.
Система раннего оповещения о вредоносном ПО (MEW) от Xygeni Непрерывно сканирует новые опубликованные пакеты npm в режиме реального времени.
MEW обнаруживает:
- запутанные полезные нагрузки
- подозрительные скрипты жизненного цикла
- поведение, связанное с сбором учетных данных
- аномальная запись в файловую систему
- неожиданная сетевая активность
Самое важное, что MEW может автоматически блокировать сборки, предотвращая проникновение вредоносного ПО shai-hulud npm. CI/CD.
Guardrails: Обеспечение безопасного поведения, основанного на зависимости
Ксигени Guardrails применять строгие правила внутри pipelines.
Oни:
- блокировать вредоносные или подозрительные пакеты npm
- предотвратить выполнение скрытых скриптов установки
- остановить загрузку файлов среды выполнения во время сборки.
- обеспечить целостность файла блокировки
В результате pipeline останавливается до завершения работы червя.
CI/CD Безопасность: Защита Pipelineот насилия
Потому что Шай-Хулуд 3.0 часто переходит в CI/CDмониторы Xygeni pipelines для:
- несанкционированные изменения рабочего процесса
- аномальные модели выполнения
- злоупотребление разрешением
- внедрение рабочих процессов, запускаемых зависимостями
При появлении рискованного поведения Xygeni блокирует его. pipeline немедленно, пресекая боковые движения.
Защита секретов: уменьшение радиуса взрыва
Поскольку вредоносная программа shai-hulud агрессивно крадет учетные данные, Xygeni также уделяет особое внимание секретам.
Ксигени:
- обнаруживает раскрытые секреты по всей сети SDLC
- автоматически меняет учетные данные высокого риска
- обеспечивает более безопасные методы использования токенов
Следовательно, даже если вредоносное ПО запустится, украденные секреты быстро теряют свою ценность.
Почему «Шай-Хулуд 3.0» подтверждает долгосрочную тенденцию
В конечном счете, «Шай-Хулуд 3.0» подтверждает более широкую реальность.
Современные атаки на цепочки поставок npm:
- распространение автоматически
- быстрее, чем проверка человеком
- Используйте доверие, а не уязвимости.
- цель pipelineне только код, а именно код.
Следовательно, защита от вредоносного ПО shai-hulud npm требует не просто сканирования, а поведенческого обнаружения и контроля.
Заключительные замечания: Почему Шай-Хулуд 3.0 по-прежнему важен
Хотя Shai-Hulud 3.0 не представляет собой какой-либо эффектный новый эксплойт, он демонстрирует зрелую, воспроизводимую и масштабируемую модель атаки.
Иными словами, это не последняя волна.
Команды, полагающиеся на реактивную безопасность, будут продолжать бороться с инфекциями. Команды, блокирующие вредоносное поведение на ранней стадии, полностью остановят распространение червя.
Вот в чем разница.





