Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Новый червь ChainDrop поразил более 400 NPM-пакетов

04.08.2026 22:30 (MSK)

Зафиксирована массовая атака на пакеты в репозитории NPM, проводимая с использованием нового самораспространяющегося червя ChainDrop, подставляющего вредоносное ПО в зависимости. В результате атаки опубликовано 2212 вредоносных выпусков для 444 пакетов. Наиболее популярные из скомпрометированных пакетов keyv, flat-cache и file-entry-cache насчитывают 154, 149.9 и 147.6 миллионов загрузок в неделю.

Загрузчик червя размещался в файлах setup.mjs и Math_Symbol.js, которые запускались при помощи preinstall-обработчика ("preinstall": "node setup.mjs"), вызываемого при установке поражённого пакета. Указанные скрипты загружали легитимный Bun runtime и обфусцированный код червя, размером 710 Кб. После активации червь выполнял поиск в системе и в переменных окружения токенов к NPM, PyPI, CircleCI, AWS, GCP, Docker, Azure, HashiCorp, KubernetesK8s и другим сервисам (всего анализировалось более 140 файловых путей, типа ~/.npmrc), а также анализировал память (через /proc/<pid>/mem) окружения GitHub Actions на предмет токенов и учётных данных.

В случае обнаружения токена для подключения к каталогу NPM червь автоматически публиковал новые вредоносные релизы для разрабатываемых в текущем окружении пакетов, поражая дерево зависимостей. В отличие от ранее выявленного червя Shai-Hulud 2.0 в ChainDrop была реализована техника EtherHiding для получения управляющих команд через публичный блокчейн Ethereum, задействовано шифрование для скрытия передаваемых на сервер атакующих конфиденциальных данных и обеспечено внедрение в файлы конфигурации Claude Code, VS Code и GitHub Copilot для закрепления присутствия в системе.

Атака началась с компрометации процесса формирования релизов на базе GitHub Actions для пакета keyv, насчитывающего 154 млн загрузок в неделю и используемого как зависимость в 1703 пакетах. Атакующие сформировали новую версию 6.0.0, подставив в неё вредоносный код, и опубликовали её с использованием механизма "Trusted Publishers" и корректной SLSA-аттестацией. После публикации червь поразил многие зависимые от keyv пакеты и по цепочке стал поражать непрямые зависимости.

Среди наиболее популярных пакетов, которые оказались поражены червём, опубликовавшим для них вредоносные релизы:

  • flat-cache 6.1.24 (149.8 млн загрузок в неделю);
  • file-entry-cache 11.1.6 (147.5 млн);
  • cacheable-request 13.0.20 (33.9 млн);
  • @cacheable/utils 2.5.1 (8.7 млн);
  • cacheable 2.5.1 (7.8 млн);
  • @cacheable/memory 2.2.1 (7.1 млн);
  • cache-manager 7.2.10 (4.2 млн);
  • @cacheable/node-cache 3.1.2 (1.5 млн).

  1. Главная ссылка к новости (https://www.stepsecurity.io/bl...)
  2. OpenNews: Атакующие встроили вредоносное ПО в 32 NPM-пакета Red Hat
  3. OpenNews: В 42 NPM-пакета TanStack интегрирован самораспространяющийся червь
  4. OpenNews: Анализ конфиденциальных данных, захваченных червём Shai-Hulud 2
  5. OpenNews: В NPM 12.0 по умолчанию отключён запуск скриптов при установке пакетов
  6. OpenNews: При помощи червя Shai-Hulud скомпрометировано 600 NPM-пакетов
Лицензия: CC BY 3.0
Источник: Червь ChainDrop поразил более 400 NPM-пакетов
Короткая ссылка: https://opennet.ru/66030-worm
Ключевые слова: worm, npm
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (10) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, limafresh (ok), 22:55, 04/08/2026 [ответить]  
  • +3 +/
    Поражение пакетов в NPM и PyPi это уже ходячий анекдот
     
     
  • 2.4, Аноним (4), 23:15, 04/08/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Атака началась с компрометации процесса формирования релизов на базе GitHub Actions

    Вот кто виноват.

     
  • 2.5, Rev (ok), 23:18, 04/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, как обычный вторник.
     

  • 1.2, Dzen Python (ok), 23:12, 04/08/2026 [ответить]  
  • +1 +/
    Никогда такого не было - и вот опять (с)
     
  • 1.3, Аноним1123 (?), 23:12, 04/08/2026 [ответить]  
  • +5 +/
    Как понять, что пакет в npm поражен?
    Если он лежит в npm, значит он поражен
     

  • 1.6, Аноним (6), 23:27, 04/08/2026 [ответить]  
  • –1 +/
    Дев контейнеры уже давно пора сделать обязательными для любой разработки софта.
    Чтобы компиляторы отказывались запускаться без этого.
     
  • 1.7, Джон Титор (ok), 23:37, 04/08/2026 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 1.9, Аноним (9), 23:55, 04/08/2026 [ответить]  
  • +/
    А что не 5.6.1 или 5.7.0, вместо 6.0.0? Странно как-то. Эффект больше был бы?
     
  • 1.10, Аноним (-), 00:19, 05/08/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру