Коли один логін трясе весь веб: як 18 бібліотек JavaScript опинилися під загрозою
15:29, 11.09.2025
Хвиля шкідливого коду на короткий час проникла у 18 популярних бібліотек JavaScript на NPM, які разом мають понад 2 мільярди завантажень щотижня. Злам почався з оманливого листа, замаскованого під офіційне повідомлення NPM із проханням оновити двофакторну аутентифікацію. Повідомлення вело на фальшиву сторінку входу, де викрадався одноразовий токен. Завдяки цим даним зловмисники отримали доступ до акаунта мейнтейнера, змінили пошту відновлення та непомітно завантажили змінені пакети.
Уставлений код був націлений на користувачів криптовалют. Він міг перехоплювати активність гаманця у браузері, підмінювати деталі транзакцій і спрямовувати активи на сторонні адреси без очевидних ознак злому. Компанія Aikido виявила проблему завдяки автоматичному моніторингу комітів. Заражені пакети швидко очистили, але інцидент довів, наскільки легко перетворити залежності на зброю.
Крихкість ланцюга постачання ПЗ
Експерти зазначають, що зловмисники зосередилися лише на викраденні криптовалют, хоча доступ до цих бібліотек відкривав значно ширші можливості для шкоди. Випадок показав слабкість екосистеми, де мільйони програм спираються на роботу небагатьох виснажених волонтерів. Кожна нова залежність збільшує площу атаки, а фішинг одного розробника може стати глобальною проблемою.
Що варто змінити
Дослідники наполягають на жорсткіших правилах публікації. Збірки мають походити тільки з передбачуваних CI-процесів, а довільні завантаження слід блокувати. Розробникам радять переходити на методи автентифікації, стійкі до фішингу, зокрема апаратні ключі. Без таких заходів ланцюг постачання відкритого коду залишається надто крихким. Цей випадок нагадує: одного вдалого листа достатньо, щоб потрясти увесь веб.