Хакеры устроили склад краденых секретов и назвали его в честь червя — «Дюна» на GitHub
NewsMakerКлючи от всех тайников незаметно сменили владельца.
Злоумышленники снова ударили по цепочке поставок npm, но на этот раз выбрали узкую и опасную цель — пакеты, которыми пользуются разработчики в экосистеме SAP. Вредоносная кампания «Mini Shai-Hulud» выглядит небольшой по числу затронутых компонентов, зато может дать доступ к токенам, облачным секретам и рабочим окружениям компаний.
По данным компании Aikido, под угрозой оказались @cap-js/sqlite версии 2.2.2, @cap-js/postgres версии 2.2.2, @cap-js/db-service версии 2.10.1 и mbt версии 1.2.48. В пакеты добавили preinstall-сценарий, который автоматически запускал файл setup.mjs при установке через npm . Основной код при этом выглядел как легитимный, а вредоносная логика скрывалась в двух новых файлах — setup.mjs и execution.js.
Первый файл загружал JavaScript-рантайм Bun 1.3.13 с GitHub и запускал через него второй этап атаки. Файл execution.js оказался крупным обфусцированным модулем размером 11,7 Мбайт, который крал учётные данные с рабочих машин и CI/CD-серверов. Среди целей были токены GitHub и npm, переменные окружения, секреты GitHub Actions, данные AWS, Azure, GCP, Kubernetes, а также конфигурации Claude, MCP, Signal, Electrum и VPN.
Особую опасность представляет механизм работы с GitHub Actions. Вредоносный код включал Python-компонент, который искал процесс Runner.Worker, читал память раннера и пытался достать скрытые секреты из внутренних структур.
Наиболее вероятной точкой входа авторы отчёта считают утечку npm-токена через сборку pull request в CI/CD -системе CircleCI. В репозитории SAP/cloud-mta-build-tool 29 апреля появился короткоживущий черновой PR с изменениями в CI. Хотя ветку позже перезаписали, журналы CircleCI сохранили следы загрузчика Bun, обфусцированной нагрузки и запуска тестовой команды, рядом с которой фигурировали замаскированные секреты проекта, включая npm- и GitHub-токены.
Для вывода данных вредоносная программа использовала публичные репозитории GitHub. Новые репозитории получали тематические названия, связанные с художественным произведением «Дюна» и идентичное описание: «A Mini Shai-Hulud has Appeared», а зашифрованные результаты сохранялись в файлы results/results-.json. Для распространения использовались сообщения коммитов с маркером «OhNoWhatsGoingOnWithGitHub», из которых извлекались закодированные токены GitHub.
Авторы отчёта предупреждают, что при установке затронутых версий нельзя ограничиваться заменой npm-токенов. Нужно считать скомпрометированными GitHub, облачные сервисы, Kubernetes, CI/CD-секреты и локальные инструменты разработчиков. Также стоит проверить lock-файлы, кэши пакетов, журналы CI, внутренние реестры и рабочие станции на наличие setup.mjs, execution.js, загрузок Bun 1.3.13 и подозрительных каталогов .claude или .vscode.
Злоумышленники снова ударили по цепочке поставок npm, но на этот раз выбрали узкую и опасную цель — пакеты, которыми пользуются разработчики в экосистеме SAP. Вредоносная кампания «Mini Shai-Hulud» выглядит небольшой по числу затронутых компонентов, зато может дать доступ к токенам, облачным секретам и рабочим окружениям компаний.
По данным компании Aikido, под угрозой оказались @cap-js/sqlite версии 2.2.2, @cap-js/postgres версии 2.2.2, @cap-js/db-service версии 2.10.1 и mbt версии 1.2.48. В пакеты добавили preinstall-сценарий, который автоматически запускал файл setup.mjs при установке через npm . Основной код при этом выглядел как легитимный, а вредоносная логика скрывалась в двух новых файлах — setup.mjs и execution.js.
Первый файл загружал JavaScript-рантайм Bun 1.3.13 с GitHub и запускал через него второй этап атаки. Файл execution.js оказался крупным обфусцированным модулем размером 11,7 Мбайт, который крал учётные данные с рабочих машин и CI/CD-серверов. Среди целей были токены GitHub и npm, переменные окружения, секреты GitHub Actions, данные AWS, Azure, GCP, Kubernetes, а также конфигурации Claude, MCP, Signal, Electrum и VPN.
Особую опасность представляет механизм работы с GitHub Actions. Вредоносный код включал Python-компонент, который искал процесс Runner.Worker, читал память раннера и пытался достать скрытые секреты из внутренних структур.
Наиболее вероятной точкой входа авторы отчёта считают утечку npm-токена через сборку pull request в CI/CD -системе CircleCI. В репозитории SAP/cloud-mta-build-tool 29 апреля появился короткоживущий черновой PR с изменениями в CI. Хотя ветку позже перезаписали, журналы CircleCI сохранили следы загрузчика Bun, обфусцированной нагрузки и запуска тестовой команды, рядом с которой фигурировали замаскированные секреты проекта, включая npm- и GitHub-токены.
Для вывода данных вредоносная программа использовала публичные репозитории GitHub. Новые репозитории получали тематические названия, связанные с художественным произведением «Дюна» и идентичное описание: «A Mini Shai-Hulud has Appeared», а зашифрованные результаты сохранялись в файлы results/results-.json. Для распространения использовались сообщения коммитов с маркером «OhNoWhatsGoingOnWithGitHub», из которых извлекались закодированные токены GitHub.
Авторы отчёта предупреждают, что при установке затронутых версий нельзя ограничиваться заменой npm-токенов. Нужно считать скомпрометированными GitHub, облачные сервисы, Kubernetes, CI/CD-секреты и локальные инструменты разработчиков. Также стоит проверить lock-файлы, кэши пакетов, журналы CI, внутренние реестры и рабочие станции на наличие setup.mjs, execution.js, загрузок Bun 1.3.13 и подозрительных каталогов .claude или .vscode.