Перейти к основному контенту
LiMP VPN
Все новости

Червь ChainDrop заразил 440 npm-пакетов и похитил токены

Червь ChainDrop заразил 440 npm-пакетов и похитил токены

Коротко: Самораспространяющийся червь ChainDrop заразил более 440 npm-пакетов с совокупной аудиторией 2 миллиарда загрузок в месяц. Вредонос похищает GitHub-токены, SSH-ключи, учётные данные AWS и секреты Kubernetes, а затем использует их для заражения новых пакетов — без участия атакующего. Если вы разрабатываете проекты на Node.js, проверьте, не были ли скомпрометированы ваши зависимости.

Что произошло

4 августа 2026 года злоумышленники получили доступ к GitHub-аккаунту мейнтейнера пакета keyv — инструмента для кеширования с аудиторией более 600 миллионов загрузок в месяц. Они встроили вредоносный код в монорепозиторий и запустили уже существующие CI/CD-воркфлоу, после чего заражённые версии были автоматически опубликованы в npm с легитимными токенами подписи. За четыре часа червь распространился на более чем 440 пакетов и 2212 версий. Наш блог подробно разбирает атаки на цепочку поставок — одну из главных угроз года; ChainDrop стал их наглядным воплощением.

Как работает самораспространение

Попав в среду разработки, ChainDrop действует в три шага:

  1. Сбор секретов: вредонос сканирует переменные окружения, конфигурационные файлы и директорию ~/.ssh в поисках npm-токенов, GitHub Personal Access Tokens, ключей AWS (включая Secrets Manager и SSM Parameter Store), Kubernetes-конфигов, Vault-секретов HashiCorp и строк подключения к базам данных.
  2. Распространение: с помощью найденных npm-токенов червь перечисляет все пакеты, доступные скомпрометированному аккаунту, добавляет вредоносный код, увеличивает номер версии и публикует обновления обратно в реестр.
  3. Передача данных: похищенные секреты шифруются и отправляются на командный сервер, адрес которого хранится не в коде, а в смарт-контракте Ethereum (техника EtherHiding) — это делает стандартные блокировки по доменам неэффективными.

Microsoft идентифицировала ChainDrop как вариант семейства Mini Shai-Hulud, исходный код которого был опубликован в открытом доступе ещё в мае 2026 года — это снизило порог входа для атакующих.

Что оказалось под угрозой

Наиболее популярные заражённые пакеты — keyv (600+ млн загрузок/мес.), flat-cache, cacheable-request, cacheable и cache-manager; суммарная аудитория превысила 2 миллиарда загрузок в месяц. Под угрозой оказался любой разработчик, чья CI/CD-сборка использовала эти пакеты и имела доступ к облачным учётным данным или API-токенам. Главная опасность — не прямая утечка данных пользователей, а компрометация инфраструктуры: похищенный ключ AWS открывает атакующему доступ к облачным хранилищам, базам данных и всему, что за ними стоит.

Как проверить свой проект и защититься

Microsoft и Elastic рекомендуют следующий порядок действий:

  • Немедленно отозвать все npm и GitHub-токены, которые использовались в CI/CD-сборках с 4 по 7 августа 2026 года.
  • Проверить историю npm-публикаций на предмет несанкционированных релизов на ваших аккаунтах.
  • Очистить кэш пакетов и пересобрать проекты с нуля, используя актуальные версии из официального реестра.
  • Включить двухфакторную аутентификацию на npm-аккаунтах и ограничить права токенов по принципу минимальных привилегий.
  • При инсталляции новых зависимостей выдерживать паузу в 24–48 часов после публикации новой версии — большинство вредоносных релизов успевают быть обнаружены и отозваны за это время.

Защита среды разработки так же важна, как защита продакшна. LiMP VPN шифрует трафик между вашей машиной и внешними сервисами, снижая риск перехвата при работе из публичных сетей — это отдельный, но взаимодополняющий уровень защиты наряду с ротацией учётных данных.

Источники

Червь ChainDrop заразил 440 npm-пакетов и похитил токены