CanisterWorm атакует npm через supply chain и бэкдор

CanisterWorm — это сложная supply chain-атака, нацеленная на экосистему npm и затронувшая пространства имен издателей, в частности пакеты под @emilgroup и @teale. По данным отчета, злоумышленники получили доступ к npm publishing tokens или эквивалентным учетным данным CI/CD, после чего подменили подлинное содержимое пакетов вредоносным code.

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

Как работала атака

На ранних этапах кампания использовала post-install hooks в безобидных на вид package, чтобы внедрить Python payload. Позднее злоумышленники перешли к более стандартизированной структуре, а вредоносное ПО прошло несколько итераций развития.

Одним из центральных элементов стал Python backdoor, который после установки взаимодействовал с контейнером Internet Computer Protocol (ICP). Такая схема выполняла роль C2-канала, позволяя атакующему загружать последующие payload без необходимости обновлять или переиздавать первоначально скомпрометированный package.

Механизм распространения внутри npm

Решающую роль в распространении играет deploy.js — script, выполняющийся во время установки вредоносного package. Он принимает npm tokens и использует их для публикации скомпрометированных версий package, часто под теми же именами, но с маркировкой как latest.

Такой подход существенно повышает риск случайной установки: разработчики могут загрузить вредоносный package, не отличив его от legitimate software. Именно это делает кампанию особенно опасной для ecosystem npm, где доверие к названию и версии package играет критическую роль.

Эволюция вредоносного ПО

По мере развития CanisterWorm злоумышленники внедрили dropper, который активировался как systemd --user service. Это позволило обеспечить устойчивость на уровне пользовательской сессии и снизить зависимость от root-доступа.

Более поздние версии также получили функции автоматизации, включая возможность извлекать npm tokens из переменных среды или конфигурационных файлов. Это расширяло потенциал дальнейшего распространения в экосистеме npm и повышало масштабируемость атаки.

Почему CanisterWorm сложно остановить

Архитектура кампании делает ее особенно устойчивой. Встроенный Python script непрерывно опрашивает C2 canister на наличие новых binary каждые несколько секунд. Благодаря этому злоумышленники могут чередовать payload и оперативно заменять функциональность без повторной публикации зараженного package.

Кроме того, закрепление через службы пользовательского уровня позволяет атаке сохраняться даже после перезагрузок или обычной активности пользователя. Это делает CanisterWorm не просто единичным инцидентом, а хорошо продуманной схемой долгосрочного контроля над зараженными системами.

Что важно знать разработчикам

Отчет по CanisterWorm показывает, насколько уязвимой может быть цепочка поставки в open source ecosystem, если злоумышленники получают доступ к учетным данным издателя. На практике это означает, что угрозу создают не только вредоносные package как таковые, но и компрометация процессов публикации.

  • необходимо защищать npm publishing tokens и CI/CD credentials;
  • важно контролировать post-install hooks и любые неожиданные действия во время установки;
  • следует отслеживать публикацию новых latest-версий package под знакомыми именами;
  • нужно проверять наличие подозрительных systemd --user services и неизвестных Python processes;
  • рекомендуется мониторить конфигурационные файлы и переменные среды на предмет утечки токенов.

CanisterWorm — это наглядный пример того, как supply chain-атака может сочетать stealth, persistence и remote control, используя легитимные механизмы экосистемы npm против самих разработчиков.

Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.

Ознакомиться подробнее с отчетом можно по ссылке.

Технологии киберугроз
Автор: Технологии киберугроз
Технологии киберугроз (бренд RST Cloud Russia) – технологическая компания, специализирующаяся на решениях по анализу угроз для предприятий любого размера. Мы собираем, нормализуем, обогащаем информацию о киберугрозах со всего мира. Нашими источниками являют более 260 открытых фидов, более 100 открытых поставщиков Threat Intelligence-отчетов, открытые online sandbox, социальные сети и репозитории GitHub. Мы также предоставляем ряд сервисов по: семантическом анализу Threat Intelligence-отчетов и приведения их в машиночитаемый формат STIX 2.1, проверки IoC на потенциальные ложноположительные сработки, а также получению WHOIS-записей для доменных имен.
Комментарии: