Компрометация библиотеки lottie-player (LottieFiles)
Lottie-player - популярная библиотека и сервис для создания и встраивания на сайты производительных векторных анимаций. Lottie-player загружается из npm-репозитория около 90 000 раз в неделю.
Supply chain attack
Злоумышленники провели фишинговую атаку на одного из разработчиков библиотеки и похитили токен🔑 от npm-репозитория. Далее 30 октября 2024 злоумышленники опубликовали 3 новых версии библиотеки (2.0.5, 2.0.6, 2.0.7) с добавленным вредоносным кодом 🦠. Новые версии закэшировались сторонними CDN и отдавались по URL с тегом latest.
Вредоносный код показывал всплывающее окно 🌐 с предложением подключить криптовалютный кошелек. У пользователей, которые кликали на кнопки и выполняли дальнейшие действия, похищалась криптовалюта, NFT и т.д. 🌐
Первые жалобы появились почти сразу. Разработчики удалили из npm версии либы с вредоносным кодом и выпустили версию 2.0.8 (равную по содержимому 2.0.4), а также обратились в CDN-ы для удаления закэшированных вредоносных версий.
Кто пострадал?
1. Frontend-приложения, в которых библиотека была подключена из сторонних CDN с тегом latest (очень плохая практика⚠️).
2. Приложения, при сборке которых из npm загружалась библиотека версий 2.0.5, 2.0.6, 2.0.7 в период 30-31 октября 2024.
Говорят, у кого-то украли криптовалюту на 723 000 💲
При клике по кнопкам во всплывающем окне устанавливалось соединение WebSocket c хостом wss://castleservices01[.]com/ws
Как можно было обнаружить?
FAST-анализатор
При FAST-анализе🔎 (например, DPA FAST Analyzer), в результате отображенного всплывающего окна, произошло бы нарушение выполнения пользовательского UseCase. Cобранные метрики будут значительно отличаться от предыдущего скана - будет зафиксирована аномалия📈
Frontend Observability Platform (FOP)
Для обнаружения вредоносного поведения кода при нетипичных действиях пользователя (действия, которые невозможно смоделировать на этапе разработки) (например, клики по фишинговому баннеру🤒) используются решения класса FOP (например, DPA Frontend Observability Platform). В данной атаке FOP обнаружил бы в браузерах пользователей соединения WebSocket с неразрешенным хостом🤒
Совместное использование FAST и FOP делает frontend-приложения безопасными на всех этапах ЖЦ✔️
@FrontSecOps
Post #33
847

