
Десять шкідливих пакетів, які імітують законні проекти програмного забезпечення в реєстрі npm, завантажують компонент для крадіжки інформації, який збирає конфіденційні дані з систем Windows, Linux і macOS.
Пакети були завантажені в npm 4 липня і довгий час залишалися невідомими через багаторівневу обфускацію, яка допомогла уникнути стандартних механізмів статичного аналізу.
За словами дослідників з компанії з кібербезпеки Socket, десять пакетів нарахували приблизно 10 000 завантажень і викрали облікові дані з системного брелока, браузера та служб автентифікації.
На момент написання статті пакунки все ще доступні, незважаючи на те, що сокети повідомили про них npm:
- typescriptjs
- deezcord.js
- dizcordjs
- dezcord.js
- etherdjs
- ethesjs
- ethetsjs
- nodemonjs
- реагувати-роутер-dom.js
- state.js
Дослідники сокетів кажуть, що пакунки використовують фальшивий виклик CAPTCHA, щоб виглядати легітимними та завантажувати 24-мегабайтний інформаційний викрадач, який містить PyInstaller.
Щоб заманити користувачів, зловмисники використовували typosquatting, тактику, яка привласнює дійсні імена для TypeScript (типовий набір JavaScript), Discord.js (бібліотека ботів Discord), Ether.js (бібліотека Ethereum JS), Nodemon (автоматичний перезапуск програм Node), react-router-dom (React Browser Router) і JStand (мінімальний менеджер стану React). Скористайтеся заклинанням або варіацією.
Під час пошуку законних пакетів на платформі npm розробники можуть неправильно ввести ім’я законного пакета або вибрати шкідливий пакет у списку результатів.
Після інсталяції автоматично запускається сценарій «після інсталяції», щоб створити новий термінал, який відповідає ідентифікованій ОС хоста. Сценарій виконує ‘app.js’ поза журналом встановлення перегляду та негайно очищає вікно, щоб уникнути виявлення.
Файл app.js — це завантажувач зловмисного програмного забезпечення, який використовує чотири рівні обфускації: обгортку Eval із самодекодуванням, дешифрування XOR із динамічно згенерованим ключем, корисне навантаження, закодоване URL-адресою, і важку обфускацію потоку керування.
Сценарій відображає фальшиву кодову перевірку в терміналі за допомогою ASCII, щоб фальшиво легітимізувати процес встановлення.

Джерело: розетка
Далі він надсилає інформацію про геолокацію жертви та інформацію про відбитки пальців системи на сервер командування та керування (C2) зловмисника. Отримавши цю інформацію, зловмисне програмне забезпечення завантажує та автоматично запускає двійковий файл для певної платформи із зовнішнього джерела, який є виконуваним файлом PyInstaller розміром 24 МБ.
Викрадач інформації націлений на дані, що зберігаються в системних брелоках, таких як Windows Credential Manager, macOS Keychain, Linux Secret Service, LibSecret і KWallet, а також у браузерах на базі Chromium і Firefox, включаючи профілі, збережені паролі та файли cookie сесії.
Крім того, він шукає ключі SSH у звичайних каталогах, а також намагається виявити та викрасти маркери OAuth, JWT та інші API.
Викрадена інформація пакується в стислі архіви та надсилається на сервер зловмисника на 195[.]133[.]79[.]43, після тимчасового етапу проміжки в /var/tmp або /usr/tmp.
Розробникам, які завантажили будь-який із перелічених пакетів, рекомендується очистити зараження та змінити всі маркери доступу та паролі, оскільки існує велика ймовірність того, що вони були скомпрометовані.
Під час отримання пакетів з npm або інших індексів з відкритим вихідним кодом бажано ще раз перевірити наявність друкарських помилок і переконатися, що все надходить від авторитетних видавців та офіційних сховищ.

Паролі були зламані в 46% середовищ, що майже вдвічі більше порівняно з 25% минулого року.
Отримайте звіт Picus Blue Report 2025 зараз, щоб отримати повний огляд запобігання, виявлення та інших висновків щодо тенденцій вторгнення в дані.