Атака на цепочку поставок: скомпрометированы npm-пакеты с 2,6 млрд загрузок

Атака на цепочку поставок: скомпрометированы npm-пакеты с 2,6 млрд загрузок

Атака на цепочку поставок: скомпрометированы npm-пакеты с 2,6 млрд загрузок

В экосистеме JavaScript зафиксирован новый крупный инцидент: в результате фишинговой атаки злоумышленники получили доступ к аккаунту популярного мейнтейнера npm-пакетов Джоша Джунона (известного как qix) и внедрили вредоносный код в целый ряд библиотек, которые суммарно загружаются более 2,6 миллиарда раз в неделю.

Фишинговое письмо пришло с поддельного домена npmjs.help и выглядело как официальное уведомление о необходимости обновить двухфакторную аутентификацию.

В сообщении утверждалось, что в противном случае аккаунты разработчиков будут заблокированы с 10 сентября 2025 года. Попавшись на эту уловку, мейнтейнер лишился доступа к своим проектам.

 

Злоумышленники обновили популярные пакеты, включая chalk, debug, ansi-styles, strip-ansi и другие. В index.js был добавлен вредоносный код, который встраивается в браузер и перехватывает криптотранзакции.

При обращении к кошелькам Ethereum, Bitcoin, Solana, Tron, Litecoin и Bitcoin Cash вредоносная логика подменяет адреса получателей на кошельки атакующих. Для этого код перехватывает вызовы fetch, XMLHttpRequest и web3-API вроде window.ethereum.

По данным Aikido Security, атака затрагивает только часть пользователей — для успешного заражения нужно было установить скомпрометированные пакеты в определённый промежуток времени (с 9:00 до 11:30 утра по восточному времени) и сгенерировать package-lock.json именно в этот период. Тем не менее масштаб всё равно внушительный: под удар попали десятки библиотек, на которых держится огромное количество проектов.

Команда npm уже удалила вредоносные версии, но случай снова показал, насколько уязвимы цепочки поставок ПО. За последние месяцы аналогичные атаки коснулись и других популярных библиотек — в том числе eslint-config-prettier и ещё десятка пакетов, которые были превращены в инфостилеры.

Энтузиаст выпустил скрипт для быстрой установки защищённого MTProxy

Пользователь Хабра под ником aikendo рассказал о развитии собственного проекта MTProxy, опубликованного от имени lingeniare. Несмотря на одинаковые названия, это не официальный прокси-сервер Telegram и не его форк, а сторонний скрипт для автоматической установки и настройки MTProxy.

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

После первого релиза проект получил Fake TLS с указанием внешнего домена через параметр --domain. Механизм маскирует прокси-трафик под обычное TLS-соединение и помогает проходить системы глубокого анализа пакетов — DPI.

Архитектуру секретов тоже переработали. Вместо общего файла ключи разных пользователей хранятся раздельно в каталоге /etc/mtproxy/secrets.d. Сам прокси запускается от отдельной системной учётной записи mtproxy, а сервис systemd получил дополнительные ограничения по принципу наименьших привилегий.

Для защиты от перебора и сетевого флуда скрипт добавляет правила iptables с модулем hashlimit. Их можно сохранять после перезагрузки через netfilter-persistent. Интерфейс статистики теперь доступен только локально по адресу localhost:2398, чтобы служебные данные не торчали наружу без необходимости.

За стабильностью следит watchdog на базе таймера systemd: при сбое он перезапускает прокси. Скрипт также настраивает синхронизацию времени по NTP, поскольку рассинхронизация часов может сорвать MTProto-рукопожатие. Опционально доступен сетевой алгоритм BBR.

После установки проект выводит QR-код и прямую ссылку tg://proxy, поэтому подключение не требует ручного переписывания параметров. Исходный код открыт на GitHub.

RSS: Новости на портале Anti-Malware.ru