С 14 по 16 сентября более 180 пакетов NPM были скомпрометированы и использованы для распространения червя Shai-Hulud, который получил название в честь гигантских песчаных червей из вселенной "Дюны". Этот вредоносный код демонстрировал уникальное поведение: он не только похищал конфиденциальные данные жертв, но и самостоятельно распространялся, внося злонамеренные изменения в другие доступные пользователю пакеты NPM.
Описание
По данным исследования UpGuard, использующего архив событий GitHub (GH Archive), червь экспфильтрировал данные через публикацию секретов в репозиториях GitHub. В начале атаки было обнаружено более 700 репозиториев с описаниями "Shai-Hulud Migration" или "Shai-Hulud Repository", свидетельствующими о компрометации. Однако к концу 16 сентября большинство из них были удалены, что изначально затрудняло оценку реального масштаба инцидента.
Архив событий GitHub предоставил исследователям уникальную возможность анализа даже после удаления репозиториев. Действия на платформе, такие как создание репозиториев или изменение их видимости с приватной на публичную, оставляют след в публичной временной шкале событий. Фильтрация архива по ключевым словам, связанным с атакой, выявила 207 затронутых репозиториев, принадлежащих 37 уникальным пользователям.
Исследователи обнаружили два различных паттерна атаки. Репозитории с описанием "Shai-Hulud Migration" обычно представляли собой существующие репозитории, которые вредоносная программа переименовывала, добавляя суффикс "-migration", и делала публичными. В то же время репозитории с описанием "Shai-Hulud Repository" создавались заново с именем "shai-hulud" и содержали только файл data.json для экспфильтрации данных.
Ручная проверка профилей пользователей позволила идентифицировать 17 компаний, сотрудники которых оказались жертвами атаки. Среди пострадавших организаций оказались такие компании, как CrowdStrike, известная своими решениями в области кибербезопасности, а также финансовые учреждения и технологические стартапы. Примечательно, что CrowdStrike и nStudio также входят в число сопровождающих скомпрометированных пакетов NPM, что подтверждает методологию исследования.
Особую озабоченность вызывают пользователи, у которых было скомпрометировано множество приватных репозиториев. Один из пользователей непреднамеренно раскрыл 50 репозиториев, содержащих название его работодателя, после чего полностью удалил свою учетную запись GitHub. Хотя все затронутые пользователи уже удалили файлы, содержащие утекшие секреты, исторические данные остаются доступными через gharchive.org.
Атака Shai-Hulud демонстрирует растущую сложность угроз цепочке поставок программного обеспечения. Потенциальная аудитория установки затронутых пакетов NPM огромна, что требует от всех разработчиков экосистемы срочной оценки своей уязвимости. Эксперты рекомендуют организациям провести аудит использования пакетов NPM в своих системах и усилить мониторинг GitHub на предмет индикаторов компрометации.
Данный инцидент подчеркивает важность многослойного подхода к безопасности. В частности, необходимо сочетание мониторинга активности в экосистеме NPM, регулярного аудита внутренних систем и отслеживания внешних платформ на предмет признаков утечки данных. Подобно анализу логов инфостилеров, следы попыток экспфильтрации секретов могут служить ранним индикатором компрометации систем.
Индикаторы компрометации
Domains
- aplos.com
- asnbank.nl
- bitfactory.nl
- brightback.com
- crowdstrike.com
- fino.group
- flockit.com.ar
- klarrio.com
- kodelabs.com
- logovo.ca
- loopmein.app
- mobioffice.io
- nstudio.io
- openloophealth.com
- verifaction.co.za
- wdtablesystems.com
- yoobic.com