Выявлена уязвимость системы безопасности ряда децентрализованных приложений (dApps), использующих JavaScript-библиотеку анимации Lottie Player, в которую злоумышленником был внедрен вредоносный код. Библиотека Lottie Player применяется для анимации на многих сайтах и в приложениях. Например, приложения от Apple, Spotify и Disney также используют ее.
Как работает код? Криптофинансовые приложения, в частности, 1inch и TEN Finance, когда пользователи посещали сайты с зараженной библиотекой, показывали всплывающие окна с просьбой подключить цифровые кошельки. Поддельный запрос на подключение к пользовательскому кошельку перенаправлял на хакерское приложение «Ace Drainer», которое имитировало легитимное соединение. Как минимум, один человек, следуя этой инструкции, неосознанно подписал фишинговую транзакцию и потерял 10 BTC ($723 тыс.).
Децентрализованная платформа 1inch в социальных сетях сообщила, что от атаки пострадало только веб-приложение. Сам криптокошелек и основные протоколы не были затронуты.
Атаке подверглись обновления пакета npm версий 2.0.5–2.0.7 для Lottie Player, где обнаружен вредоносный код в файлах JSON для отображения анимации. JSON (JavaScript Object Notation) — текстовый формат обмена данными на языке JavaScript. Он при этом независим от JavaScript и может быть использован как библиотека для других языков программирования. Разработчики npm рекомендуют применять пакеты версий 2.0.4 или 2.0.8.
Набившая оскомину, но не потерявшая актуальности рекомендация — пользователям не помешает быть бдительными всегда.