
У екосистемі JavaScript стався найбільший компроміс ланцюга постачання в історії npm(менеджер пакунків для мови програмування JavaScript) — про це заявила компанія Aikido Security, яка виявила проблему. Шкідливий код було вбудовано у 18 npm-пакетів, сукупна кількість завантажень яких перевищує 2 мільярди на тиждень.
Як відбулась атака
Хакеру вдалося отримати доступ до акаунта розробника Джоша Джунона, який підтримував уразливі пакети. Сам Джунон підтвердив факт злому, написавши: “Так, я був взламаний”
Злам відбувся через фішинговий лист, що імітував офіційне повідомлення від npmjs.com, але насправді походив з підробленого домену npmjs[.]help. У листі користувача закликали оновити налаштування двофакторної автентифікації, посилаючись на нібито “загрозу безпеці”. За фактом, посилання вело на сайт, контрольований хакером.
Отримавши доступ до облікового запису, зловмисник вніс зміни в код npm-пакетів, включивши шкідливі скрипти для викрадення криптовалюти.
Що за пакети були уражені
Хоч більшість звичайних користувачів про них не чули, npm-пакети є основою багатьох сайтів і програм. Вони включають функції для роботи з кольорами тексту, шрифтами, форматуванням тощо — і широко використовуються у JavaScript-проєктах по всьому світу.
Хоча конкретні назви пакетів не розкриваються у відкритому доступі, деякі з них вже були видалені з реєстру npm, а решта — відмічені як потенційно шкідливі.