10 биткоинов за доверие: атака на открытый npm-пакет обернулась крупной кражей

10 биткоинов за доверие: атака на открытый npm-пакет обернулась крупной кражей

Вредоносные обновления воруют средства через поддельные запросы.

image

Популярная JavaScript-библиотека и npm-пакет Lottie Player подверглась атаке на цепочку поставок: злоумышленники выпустили сразу три новые версии компонента в течение нескольких часов. В результате пользователи, скачивающие библиотеку, могли оказаться в серьезной опасности, поскольку новые версии содержали вредоносный код, нацеленный на криптовалютные кошельки. В результате фишинговой атаки по крайней мере один пользователь потерял около 10 BTC (примерно $723,000).

Новые версии пакета под названием @lottiefiles/lottie-player (2.0.5, 2.0.6 и 2.0.7) были опубликованы на npmjs.com, крупнейшем JavaScript-реестре. До этого пакет оставался неизменным с марта 2024 года, когда вышла стабильная версия 2.0.4. Однако обновленные версии неожиданно принесли вредоносный код, который предлагал пользователям подключить свои криптовалютные кошельки, такие как MetaMask, Exodus и Coinbase, через всплывающие окна. Легитимные версии пакета не содержали подобных функций, что позволило быстро выявить вредоносные изменения.

Особую угрозу создало автоматическое распространение зловредного кода через сети доставки контента (CDN). Пользователи, заходившие на сайты с использованием Lottie Player, столкнулись с внезапными всплывающими окнами, в которых предлагалось подключить криптовалютные кошельки к сайту. Эти окна выглядели как официальные интерфейсы популярных криптосервисов, но были настроены таким образом, чтобы завладеть финансовыми активами пользователей. Вредоносные обновления включали поддельные интерфейсы на основе официальных SDK криптокошельков, что создавало дополнительную иллюзию безопасности.

Атака стала возможной благодаря скомпрометированному токену доступа одного из разработчиков, имевшего необходимые права для публикации новых версий. Компания LottieFiles оперативно удалила зараженные версии 2.0.5–2.0.7 и выпустила безопасное обновление 2.0.8, которое в точности повторяет функционал стабильной версии 2.0.4. Тем пользователям, которые не могут обновиться немедленно, рекомендуется временно вернуться к предыдущей стабильной версии, а также предупреждать конечных пользователей о рисках подключения криптокошельков на внешних ресурсах.

Масштабные финансовые потери от фишинговой атаки были зафиксированы благодаря антифишинговой платформе Scam Sniffer, которая подтвердила потерю как минимум одного пользователя в размере 10 BTC (около $723,000). Хотя точное количество пострадавших пользователей пока неизвестно, данная атака стала серьезным уроком для разработчиков и пользователей, показывая, насколько важны меры предосторожности в работе с открытым исходным кодом.

Эксперты по безопасности рекомендуют разработчикам, использующим библиотеки из сторонних CDN, применять привязку версий, чтобы избежать автоматического получения вредоносных обновлений. Также предлагается использовать строгую политику безопасности контента (Content Security Policy, CSP), что снижает риск внедрения стороннего кода на сайт.

Событие стало напоминанием о важности управления цепочкой поставок и мониторинга безопасности используемых библиотек. В современных условиях подобные атаки на открытый исходный код становятся все более изощренными, а злоумышленники могут использовать поддельные интерфейсы и сложные методы внедрения вредоносного кода.

Квантовый кот Шрёдингера ищет хозяина!

Живой, мертвый или в суперпозиции? Узнайте в нашем канале

Откройте коробку любопытства — подпишитесь