Редакция BeInCrypto восстановила хронологию событий. Рассказываем, что случилось и к каким последствиям стоит приготовиться.
Как произошла атака
Атака началась со взлома аккаунта известного разработчика в NPM. Аббревиатурой называют крупнейший репозиторий пакетов JavaScript. NPM выполняет ту же функцию, что магазин приложений, только для программистов: в нем хранятся десятки тысяч небольших библиотек (утилит), которые затем используются как «кирпичики» для сборки крупных приложений.
Злоумышленники получили доступ к учетным данным и загрузили новые версии пакетов с добавленным вредоносным кодом. Такой тип атаки называется supply chain attack (атака на цепочку поставок ПО). Он опасен тем, что уязвимость распространяется «по цепочке» — не только на проекты, которые напрямую скачивают вредоносный пакет, но и на те, что используют другие библиотеки, зависящие от зараженных модулей.
В данном случае речь идет о небольших, но крайне распространенных утилитах:
На первый взгляд такие утилиты могут показаться незначительными, но они встроены в тысячи более сложных библиотек. В результате уязвимость может незаметно попасть даже в пакет, разработчики которого никогда напрямую не устанавливали зараженные файлы.
Разработчик и аналитик под ником 0xngmi поделился своим видением случившегося. По его словам, зараженные файлы могут внедрять вредоносный код в сайты. Например, при нажатии кнопки «swap» транзакция может быть подменена так, что средства отправятся злоумышленнику.
Однако пользователь в любом случае увидит подозрительную транзакцию в своем кошельке и должен будет ее одобрить. То есть мгновенной автоматической кражи средств не произойдет.
0xngmi отметил:
Тем не менее обычные пользователи не могут быть уверены, как именно работает система обновлений у конкретного проекта. Поэтому, по мнению 0xngmi, наиболее безопасным решением остается временный отказ от использования криптосервисов до тех пор, пока разработчики не очистят свои проекты от вредоносных зависимостей.
Ущерб от атаки
По данным SEAL, вредоносный код нацелен на криптокошельки Ethereum и Solana. Внутри пакетов скрывалась программа-клиппер — разновидность вредоносного ПО, которая перехватывает операции с адресами кошельков. Когда пользователь копирует адрес для перевода средств, программа подменяет его на адрес атакующего.
Однако в реальности масштаб краж оказался мизерным. Исследователи выявили единственный подтвержденный злонамеренный адрес — 0xFc4a48. На него было переведено:
Итого — менее $50 ущерба.
Кто мог пострадать
Технически под угрозой оказались миллионы разработчиков и пользователей. Библиотеки, в которые внедрили вредоносный код, загружаются более миллиарда раз в неделю. Но риск оказался неравномерным:
Многие крупные игроки быстро заявили, что их продукты не пострадали:
Технический директор Ledger Шарль Гийоме в своем комментарии уточнил, что вредоносный код работает путем подмены криптовалютных адресов. Пользователи аппаратных кошельков с функцией clear signing защищены, так как всегда видят конечный адрес на экране устройства. Но владельцам только программных кошельков он рекомендовал временно воздержаться от транзакций, пока угроза окончательно не устранена.
Возможные последствия и уроки для индустрии
Хотя реальный ущерб оказался минимальным, эксперты предупреждают: сама схема атаки демонстрирует огромный риск для всей криптоэкосистемы. Если бы злоумышленники действовали продуманнее, они могли бы получить доступ к миллионам рабочих станций разработчиков и потенциально украсть миллионы долларов.
Основные последствия:
Случай с NPM стал «учебной тревогой» для криптоотрасли. Мир избежал многомиллионных потерь лишь по случайности. Но чтобы не полагаться на везение в будущем, разработчикам придется всерьез укреплять безопасность и контроль над зависимостями.