Последние пару месяцев злоумышленник распространял трояны с нескольких npm-учеток: alex05255, mdrafiqulislamrabby, b.w1001, abdev8773 и mollspotwood54400.
Список пакетов:
-
svg-fetcher
-
tradepilot
-
polytrade
-
polymarket-kit
-
react-svg-chunk
-
gamified-trading-system
-
font-huge
-
font-hub
-
mdb-vite
-
router-processor
-
route-processor
Код, по классике жанра, навайбкожен. На это указывают избыточные поясняющие комментарии:


Логика пакетов
🔹 Конкатенация URL C2 из нескольких констант.
🔹 Запрос следующего стейджа. Из занятного:
-
Нагрузка версионируется и в коде называется token. Нам известны стейджи 106, 107, 108 и 116.
Итоговый URL: http://svganchordev.net/icons/<token>
-
Код передает в заголовках ключ bearrtoken (орфография сохранена, вероятно, автор имел в виду bearertoken) со значением logo.
Второй стейдж представлен сильно обфусцированным JS-кодом-однострочником:

Стейдж собирает информацию о системе — имя пользователя, имя компьютера, операционную систему — и посредством веб-сокета продолжает общение, принимая команды на исполнение.
Реализация качественная, с мультистейджами, спору нет. Но это все равно вредоносная активность, поэтому репортим пакеты админам NPM.
В релизах с токенами 106 и 116 есть изюминка, а именно вшитые публичный и приватный ключи GitLab:

Мы не можем воспользоваться этими ключами: они относятся к приватному инстансу GitLab, развернутому в инфраструктуре злоумышленника.
Однако интересно, что кампания ведется на настолько серьезном уровне, что злоумышленнику потребовалось версионирование кода, хотя можно было бы использовать Git локально. Можно предположить, что в GitLab настроен CI/CD-пайплайн для обфускации кода и публикации стейджей.
Хотите автоматически проверять, попали ли эти и другие вредоносные пакеты в ваш контур? Вам сюда: фиды для безопасной разработки из PT Fusion.
(Источник: https://t.me/ptescalator)
