Кампания Lucide Proxy использовала npm-пакеты для DDoS-атак через браузеры
Кампания Lucide Proxy охватила 148 пакетов npm, опубликованных под именами, связанными с репетиторскими услугами для студентов и веб-прокси. Посетители развёрнутых прокси-сайтов подвергались компрометации: их браузеры выполняли вредоносный JavaScript и участвовали в атаках типа «отказ в обслуживании». Первая волна началась 27 мая 2026 года с аккаунта npm terminal3airport, вторая последовала 8 июля и была связана с аккаунтом eerikakirk.
Пакеты не использовали хуки установки и нативные сценарии сборки, а размещали статические ресурсы браузерных приложений. Точка входа index.html загружала сильно обфусцированный JavaScript-бандл размером 5,4 МБ по пути assets/73sxysj46r.js. Деобфускация показала, что удалённый загрузчик получал JavaScript из изменяемой ветки main репозитория GitHub, контролируемого пользователем canyoupleasesaysomething. Загрузчик не проверял целостность кода и не фиксировал конкретный коммит, поэтому удалённый код можно было менять для всех посетителей.
Скрипт выполнялся с привилегиями источника прокси и мог обращаться к хранилищу и API браузера того же источника. Одна из полезных нагрузок запускала HTTP-флуд против cdn.caan.edu. Каждые 500 миллисекунд браузер создавал строку длиной в миллион символов, помещал её в тело JSON POST-запроса и отправлял его со случайным параметром запроса в режиме no-cors. На каждый активный браузер приходилось приблизительно 2 МБ передаваемых данных в секунду; запросы могли накапливаться без ожидания ответов.
Другой компонент загружал удалённо управляемый конфигурационный файл websocket.txt и устанавливал от 1 до 1024 соединений WebSocket. В наблюдавшихся конфигурациях было задано 30 соединений. Каждое из них каждые 100 миллисекунд отправляло бинарные кадры CONNECT и CLOSE, совместимые с Wisp, на адрес localhost:1. Такая активность могла приводить к повторному созданию исходящих сокетов на уязвимых серверах Wisp, включая устаревшие развёртывания wisp-server-node, а также к исчерпанию файловых дескрипторов, переполнению журналов и сбоям прокси-сервисов.
Вредоносные модули кампании были активны примерно две недели в мае, затем их удалили из последующих сборок. При этом сохранение обфускации и загрузка внешних скриптов позволяли повторно внедрять вредоносное поведение.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



