На днях мы обнаружили и сообщили администрации npm о серии вредоносных пакетов:

  • @phonos/types

  • @structureit/ir-dealapi-js

  • @wame/ngx-adfs

  • @wame/ngx-frf-utilities

  • cclr-component-resources

  • compliancepolicyserv

  • connectedmerchantsserv

  • ftapi-core

  • lakk-analytics

  • meshim-frontend-config

  • nms-dashboard-js

  • oc-aa-module-client

  • oc-ccp-module-client

  • oc-navbar-module-client

  • qr-code-styling-temp

  • uploader-frontend

  • uploader-frontend-legacy

В совокупности пакеты были скачаны более 1600 раз
В совокупности пакеты были скачаны более 1600 раз

Перечисленные пакеты содержат схожий код и стратегию размещения: сперва публикуется чистая версия (обычно это 9.9.0), через пару дней публикуется «обновление» с нежелательным функционалом.

Вредоносная логика срабатывает во время установки, исполняя index.js c передачей управления ./lib/core.js.

Скрипты с вредоносной логикой довольно компактны — каждый по отдельности занимает не больше килобайта.

В коде используются две техники сокрытия логики: однострочники и хранение констант в виде массивов ASCII‑кодов без дополнительной обфускации.

Назначение сниппетов на примере @phonos/types (мы добавили в код поясняющие комментарии):

b02e30.js хранит информацию о C2. Из занятного: злоумышленник поленился закодировать имя кампании.
b02e30.js хранит информацию о C2. Из занятного: злоумышленник поленился закодировать имя кампании.
6ad264.js — резолвит модули os, dns и process
6ad264.js — резолвит модули os, dns и process
core.js — получает и эксфильтрует информацию
core.js — получает и эксфильтрует информацию

Нагрузка на первый взгляд выглядит безобидной — всего лишь получение злоумышленником базового представления о пользователе, установившем пакет. Можно даже допустить версию, что эти пакеты были созданы из благородных побуждений. С другой стороны, npm прямо запрещает размещение подобных пакетов даже в исследовательских целях:

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

Не хотите, чтобы ваши CI/CD и устройства разработчиков поучаствовали в такого рода незапланированном опросе? Решение есть: фиды для безопасной разработки в рамках PT Fusion.

(Источник)

Комментарии (1)


  1. wepp
    27.08.2026 18:48

    Чем "помогла" ему его забывчивость? Зачем такой заголовок?