[ << ALL_FEED ]

Enterprise-grade validation system with schema support

Ещё в группе «Общее»

Enterprise-grade validation system with schema support

(c) Автор десятка троянов, забывший добавить "Enterprise-grade" обфускацию

Мы обнаружили и сообщили администрации 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 раз

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

ㅤ

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

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

ㅤ

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

ㅤ

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

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

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

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

https://docs.npmjs.com/policies/open-source-terms#acceptable-use (перевод)

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

Supply Chain Security Team

#npm #scs #ti

@ptescalator

Ещё от ti_author

Ещё от ti_author

Ещё в группе «Общее»