В реестре npm обнаружена кампания по краже облачных ключей и паролей через вредоносные пакеты

Атака на цепочку поставок NPM

В начале августа 2026 года в официальном реестре пакетов npm для языка JavaScript зафиксирована серия подозрительных публикаций в четырёх корпоративных пространствах имён. Злоумышленники выложили 28 модулей в течение нескольких часов. Первые 12 пакетов появились в 10:39 UTC, ещё 15 - через две минуты, а последний - почти три часа спустя. Такая динамика указывает на автоматизированные конвейеры публикации, которые сработали последовательно, возможно, даже без участия человека.

Описание

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

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

Как выяснили аналитики Netskope Threat Labs, все 28 пакетов использовали один и тот же набор вредоносных функций. Это подтверждает, что перед нами единая кампания с общим оператором. Ещё одна особенность атаки - управление через блокчейн. Адрес сервера, на который отправлялись похищенные данные, не был зафиксирован в коде. Вместо этого вредоносная программа в момент запуска обращалась к смарт-контракту в сети Ethereum и получала актуальное значение. Благодаря такой схеме операторы могут в любой момент перенаправить данные на новый сервер, просто обновив состояние контракта, и им не нужно переопубликовывать пакеты. Подобная динамическая конфигурация встречается нечасто и затрудняет выявление индикаторов компрометации, так как статические списки вредоносных адресов быстро устаревают.

Эксперты также сопоставили эти находки с другой атакой, произошедшей в тот же день. Сторонний отчёт показал, что аналогичная вредоносная нагрузка использовалась при компрометации пакетов семейства keyv. Совпадение хешей подтвердило, что обе кампании используют один и тот же инструмент. Таким образом, новые данные расширяют картину масштабной атаки на цепочку поставок программного обеспечения, начавшейся в августе 2026 года.

Пока неясно, каким образом злоумышленникам удалось получить доступ к четырём независимым пространствам имён. Возможны разные сценарии: кража токенов разработчиков, заражение машины одного из сопровождающих пакеты, а также компрометация учётных данных для автоматической публикации. Использование нескольких пространств за короткое время говорит о том, что атакующие имели доступ к разным учётным записям или автоматизированным процессам. Эксперты не исключают, что инцидент связан с предыдущими утечками. Расследование продолжается.

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

Атака на реестр npm показывает, что открытые репозитории программного обеспечения остаются привлекательной целью для злоумышленников. Один скомпрометированный пакет способен затронуть тысячи проектов по всему миру, поэтому защита цепочки поставок должна быть приоритетом для всего ИТ-сообщества. Безопасность требует системных мер, включая постоянное обновление инструментов, обучение разработчиков и внедрение современных методов детекции угроз. Кампания с использованием блокчейна и легитимных компонентов - очередное подтверждение того, что злоумышленники адаптируются к классическим способам защиты, и ответные меры должны развиваться не менее динамично.

Индикаторы компрометации

IPv4

  • 104.21.35.216
  • 172.67.179.231

Domain

  • eth.llamarpc.com
  • eth-mainnet.nodereal.io
  • go.getblock.io
  • m-cache.com
  • npm-cache.com

SHA256

  • 9fc2570b7cef51c1b8df116d144d11ff4096357be7d2c4c6367cfc2509cf1bcc

Комментарии: 0