За даними Ox, шкідливий пакет mouse5212-super-formatter у постінсталяційному скрипті представлявся як внутрішня утиліта "archive deployment sync". Під цим прикриттям він автентифікувався в GitHub, перевіряв наявність цільового репозиторію, створював його за потреби та рекурсивно проходив по локальних директоріях, завантажуючи кожен знайдений файл через GitHub Contents API. Для приховання слідів малвара зберігала викрадені дані у папках із випадково згенерованими назвами — щоб оператор міг розрізняти окремі сесії крадіжки. Додатково скрипт записував фейковий журнал «мережевих з'єднань», імітуючи діагностику та відволікаючи увагу від реального призначення програми.
Деталі атаки
Технічний аналіз показав, що для автентифікації пакет спирався або на змінну середовища, або на хардкодований запасний токен, якщо змінна була відсутня. Саме цей запасний токен виявився власним приватним GitHub-токеном зловмисника — критична помилка opsec, яка повністю розкрила інфраструктуру загрози. Дані перед завантаженням кодувалися у base64, а кожна сесія ексфільтрації отримувала унікальну папку для зручного розмежування жертв. Коментарі та повідомлення до комітів у репозиторії були навмисно написані в нейтральному технічному стилі, щоб знизити підозру.
Обліковий запис загрозливого актора на GitHub був зареєстрований за кілька годин до публікації першої версії пакету. Ще до повноцінного розгортання атаки зловмисник уже тестував шкідливі можливості у тестовому репозиторії. OX Security зафіксувала близько семи активних завантажень файлів до моменту видалення репозиторію — більшість із них є тестовими сесіями самого загрозливого актора. Обліковий запис GitHub було видалено після викриття, проте сам npm-пакет залишався доступним у реєстрі на момент публікації звіту.
Рекомендовані дії
OX Security надала конкретні рекомендації для тих, хто встановив пакет:
- Негайно відкликати всі GitHub access tokens, пов'язані зі середовищем, де було встановлено пакет.
- Перевірити вміст директорії "/mnt/user-data" та вважати всі файли в ній скомпрометованими.
- Провести аудит постінсталяційних скриптів усіх npm-залежностей у своїх проєктах.
Перспективи
OX Security вказує на ширшу тенденцію: поріг входу для написання малвари значно знизився завдяки інструментам штучного інтелекту. Нові загрозливі актори здатні генерувати робочий шкідливий код без розуміння базових принципів операційної безпеки — що й призводить до таких помилок, як витік власного токена. Дослідники прогнозують зростання кількості подібних «sloppy malware»: погано написаних, але функціональних інфостілерів, що наслідують техніки APT-груп. Ця тенденція триватиме до того часу, поки npm не запровадить автоматичне блокування шкідливих пакетів на рівні реєстру.
EVERYTHING