Атака на JavaScript: мільярд завантажень заражених пакетів і лише $50 збитків
Хакери зламали акаунт відомого розробника qix у менеджері пакетів NPM, що призвело до поширення шкідливого коду в десятках популярних бібліотек JavaScript.
Попри понад мільярд завантажень заражених пакетів, зловмисникам вдалося викрасти лише близько $50.
Масштаб атаки та реакція експертів
Технічний директор компанії Ledger Чарльз Гільмет пояснив, що у бібліотеки на кшталт chalk, strip-ansi, color-convert, color-name, is-core-module та інші було інтегровано шкідливий код. Загалом ці пакети мають понад мільярд завантажень щотижня.
“Шкідливий код підміняє криптоадреси “на льоту”, щоб викрадати кошти. Якщо ви використовуєте апаратний гаманець — уважно перевіряйте кожну транзакцію перед підписанням. Якщо апаратного гаманця немає, краще тимчасово утриматися від ончейн-транзакцій”, — наголосив Гільмет.
Атака тривала непоміченою, поки одна з команд розробників не зафіксувала дивну помилку під час збірки. Розслідування показало, що в пакети додали обфускований код, який намагався викрасти криптовалюту.
До найбільш уражених утиліт увійшли:
- chalk — близько 300 млн завантажень на тиждень;
- strip-ansi — 261 млн;
- color-convert — 193 млн;
- color-name — 191 млн;
- is-core-module — 69 млн;
- error-ex — 47 млн;
- simple-swizzle — 26 млн;
- has-ansi — 12 млн.
Фахівці з NPM Security вже видалили більшість заражених версій, а автор пакета співпрацює з командою безпеки. Проте ризики залишаються, оскільки шкідливі залежності могли зберегтися у lockfile чи в кешованих збірках.
Попри масштабність атаки, збитки виявилися мінімальними: хакери змогли викрасти лише близько $50 в Ethereum та мемкоїнах.
“Компрометація акаунта розробника, чиї пакети завантажуються мільярди разів, може відкрити доступ до мільйонів робочих станцій. Цього разу хакери заробили копійки, але наслідки могли бути катастрофічними”, — попередили в Security Alliance.