Кілька популярних пакетів npm зламані та заражені інфостилером👾

Дослідники попереджають про нову атаку на ланцюжок поставок. Десять пакетів npm, деякі з яких існують майже 10 років, отримали шкідливі оновлення для крадіжки змінних оточення та інших конфіденційних даних із систем розробників.

На шкідливий код звернули увагу фахівці компанії Sonatype. Він міститься у двох сильно обфусцированих скриптах /scripts/launch.js і /scripts/diagnostic-report.js, які виконуються під час встановлення пакетів.
«Ми припускаємо, що причиною компрометації стали старі npm-акаунти мейнтейнерів, зламані або за допомогою атак credential stuffing (зловмисники перебирають імена користувачів і паролі, що витекли під час інших атак), або за допомогою захоплення простроченого домену, – повідомляють експерти Sonatype. – З огляду на одночасність атак на кілька пакетів різних мейнтейнерів, перший сценарій (захоплення акаунтів мейнтейнерів) видається більш імовірним, ніж добре організовані фішингові атаки».

На користь цієї теорії свідчить і той факт, що GitHub-репозиторії скомпрометованих проєктів не були заражені шкідливим ПЗ.
Нижче перераховані зламані пакети, шкідливі версії та кількість завантажень шкідливих версій:

-country-currency-map: версія 2.1.8, 288 завантажень;
-@keepkey/device-protocol: версія 7.13.3, 56 завантажень;
-bnb-javascript-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 відкликав шкідливу версію (2.1.8) і опублікував нотатку, в якій порадив розробникам використовувати безпечну версію 2.1.7.