Команда кіберекспертів Aikido виявила критичну загрозу безпеки в широко використовуваному NPM-пакеті rand-user-agent. Зловмисники успішно впровадили шкідливий код у кілька версій пакету, який щотижня завантажується більше 45 000 разів. Скомпрометований модуль активно використовується в проектах веб-скрапінгу та автоматизованого тестування.
Масштаб загрози та технічні деталі компрометації
Дослідження показало, що версії 2.0.83, 2.0.84 та 1.0.110 містять обфускований шкідливий код, який встановлює троян віддаленого доступу (RAT) на системи користувачів. Остання безпечна версія пакету – 2.0.82. Компрометація була виявлена 5 травня 2025 року, коли фахівці помітили підозрілу активність в оновленнях пакету.
Механізм роботи шкідливого ПЗ
Впроваджений троян демонструє високий рівень технічної складності. Він створює прихований каталог ~/.node_modules та модифікує системні шляхи module.paths для завантаження додаткових шкідливих компонентів. Малварь встановлює постійне з’єднання з командним центром через порт 3306, передаючи конфіденційні дані системи, включаючи ім’я хоста та унікальні ідентифікатори користувача.
Причини інциденту та заходи безпеки
Розслідування, проведене компанією WebScrapingAPI, встановило, що атака стала можливою через компрометацію застарілого токену автоматизації, який не був захищений двофакторною аутентифікацією. Важливо зазначити, що просте оновлення пакету не видаляє вже встановлений троян – необхідне повне сканування та очищення системи.
Рекомендації щодо захисту та відновлення
Користувачам, які встановили скомпрометовані версії, рекомендується:
– Негайно провести повне антивірусне сканування систем
– Перевірити наявність підозрілої мережевої активності
– Оновити всі облікові дані та токени доступу
– Встановити останню безпечну версію пакету
Цей інцидент яскраво демонструє критичну важливість регулярного аудиту безпеки npm-пакетів та необхідність впровадження багатофакторної аутентифікації навіть для legacy-систем. WebScrapingAPI вже впровадила додаткові заходи безпеки та зобов’язалася забезпечити повну прозорість розслідування для запобігання подібним інцидентам у майбутньому. Спільнота розробників має приділяти підвищену увагу безпеці залежностей та регулярно перевіряти їх на наявність потенційних загроз.