В RubyGems обнаружили 16 пакетов-двойников со стилером для Windows
Кампания StubMaker маскировала вредоносные гемы под популярные Ruby-зависимости. При установке они загружали загрузчик, который запускал программу для кражи данных из браузеров, криптокошельков и Telegram Desktop.

Исследователи OpenSourceMalware обнаружили в репозитории RubyGems 16 вредоносных пакетов, имена которых имитировали популярные зависимости Ruby. Кампанию, выявленную 15 августа, исследователи назвали StubMaker. На момент публикации отчёта все найденные гемы были удалены из RubyGems.
Среди имён вредоносных пакетов — ubnuler, ubnlder, ri18nr, reaker, rakier, orakw, joxn, ise18n, ioe18n, ie18u, iai8n, i1l8n, i18om, activesupmport, brumdler и brundlef. По данным исследователя Пола Маккарти, это грубые опечатки в названиях известных Ruby-зависимостей, рассчитанные на ошибки разработчиков при установке пакетов.
Атака использовала файл extconf.rb, который автоматически выполняется при установке гема и обычно служит для настройки сборки нативных расширений. В StubMaker этот механизм скачивал из GitHub Releases 22-мегабайтный загрузчик на Rust. Тот запускал встроенный стилер для Windows, написанный на Go и названный wincfg. Учётная запись GitHub, с которой загружался файл, к моменту публикации уже была недоступна.
Стилер извлекал данные из браузеров на базе Chromium, включая Chrome, Edge, Brave, Opera, Vivaldi и «Яндекс Браузер». В отчёте говорится, что вредоносная программа обходила защиту app-bound encryption, собирала учётные данные, данные расширений, историю посещений и номера платёжных карт. Кроме того, она искала криптокошельки и seed-фразы, извлекала данные Telegram Desktop, сведения о системе и публичный IP-адрес устройства.
Собранные данные архивировались с паролем и выгружались в Gofile, а ссылка на архив передавалась атакующим по незашифрованному HTTP. Чтобы установка выглядела штатно, вредоносный пакет создавал фиктивный Makefile с пустыми целями сборки и скрипты-заглушки, возвращавшие успешный результат.
По сведениям OpenSourceMalware, пакеты публиковались из двух учётных записей. В случаях с brumdler и brundlef атакующие воспользовались особенностью RubyGems: если все версии гема удалены, его пространство имён может стать доступно для регистрации другому пользователю. Соосновательница OpenSourceMalware Дженн Гайл также указала на непроверяемое поле Author: для каждого гема можно было указать другое имя автора, хотя пакеты выходили из одной и той же учётной записи.