Несколько популярных пакетов npm взломаны и заражены инфостилером - «Новости»
- 10:30, 01-апр-2025
- Вёрстка / Изображения / Новости / Преимущества стилей
- Герасим
- 0
Исследователи предупреждают о новой атаке на цепочку поставок. Десять пакетов npm, некоторые из которых существуют почти 10 лет, получили вредоносные обновления для кражи переменных окружения и других конфиденциальных данных из систем разработчиков.
Эта кампания затронула пакеты, связанные с криптовалютами, и наиболее популярный из них — country-currency-map, насчитывал тысячи загрузок в неделю.
На вредоносный код обратили внимание специалисты компании Sonatype. Он содержится в двух сильно обфусцированных скриптах /scripts/launch.js и /scripts/diagnostic-report.js, которые выполняются при установке пакетов.
По данным исследователей, этот jаvascript похищает переменные окружения и конфиденциальные данные (ключи API, токены доступа, ключи SSH) с зараженных устройств и отправляет их на удаленный сервер eoi2ectd5a5tn1h.m.pipedream[.]net.
При этом вредоносный код одинаков во всех скомпрометированных пакетах, и большинство из них не имели никаких проблем в течение многих лет, поэтому, скорее всего, все они были неким образом скомпрометированы одним злоумышленником.
«Мы предполагаем, что причиной компрометации стали старые npm-аккаунты мейнтейнеров, взломанные либо с помощью атак credential stuffing (злоумышленники перебирают имена пользователей и пароли, утекшие в ходе других атак), либо с помощью захвата просроченного домена, — сообщают эксперты Sonatype. — Учитывая одновременность атак на несколько пакетов разных мейнтейнеров, первый сценарий (захват аккаунтов мейнтейнеров) представляется более вероятным, чем хорошо организованные фишинговые атаки».
В пользу этой теории говорит и тот факт, что GitHub-репозитории скомпрометированных проектов не были заражены вредоносным ПО.
Ниже перечислены взломанные пакеты, вредоносные версии и количество загрузок вредоносных версий:
- country-currency-map: версия 2.1.8, 288 загрузок;
- @keepkey/device-protocol: версия 7.13.3, 56 загрузок;
- bnb-jаvascript-sdk-nobroadcast: версия 2.16.16, 61 загрузка;
- @bithighlander/bitcoin-cash-js-lib: версия 5.2.2, 61 загрузка;
- eslint-config-travix: версия 6.3.1, 0 загрузок;
- babel-preset-travix: версия 1.2.1, 0 загрузок;
- @travix/ui-themes: версия 1.1.5, 0 загрузок;
- @veniceswap/uikit: версия 0.65.34, 0 загрузок;
- @crosswise-finance1/sdk-v2: версия 0.1.21, 0 загрузок;
- @veniceswap/eslint-config-pancake: версия 1.6.2, 0 загрузок.
Все эти пакеты, кроме country-currency-map, по-прежнему доступны в npm и являются вредоносными. Хотя в 2022 году npm сделала двухфакторную аутентификацию обязательной для популярных проектов, некоторые пострадавшие пакеты не обновлялись много лет, и их сопровождающие могут быть уже неактивны.
Сопровождающий country-currency-map отозвал вредоносную версию (2.1.8) и опубликовал заметку, в которой посоветовал разработчикам использовать безопасную версию 2.1.7.
Комментарии (0)