Аналитики компании Checkmarx обнаружили новую вредоносную кампанию на GitHub. Злоумышленники получают доступ к чужим аккаунтам GitHub и распространяют вредоносные коммиты, замаскированные под активность Dependabot (автоматической системы, предназначенной для проверки зависимостей проекта на актуальность).
Атаки злоумышленников начинаются с того, что они каким-то образом получают личные токены доступа к GitHub, принадлежащие жертвам. Каким образом это происходит, исследователям неизвестно. Но такие токены хранятся локально на компьютерах разработчиков и могут использоваться для входа без двухфакторной аутентификации.
Исследователи предполагают, что кража токенов могла произойти после заражения разработчиков неким вредоносным ПО, которое, вероятно, проникло на их устройства через вредоносный пакет.
Использовав токен для входа, с помощью автоматизированных скриптов, атакующие создают поддельные коммиты с заголовком «fix», которые якобы сделаны пользователем dependabot[bot]. Эти коммиты внедряют в проект вредоносный код, который выполняет следующие действия:
- извлекает секреты из целевого проекта на GitHub и передает их на сервер хакеров;
- модифицирует существующие JavaScript-файлы во взломанном репозитории, добавляя в них вредоносный код, который похищает пароли из веб-форм и отправляет их на тот же сервер злоумышленников.
Передача секретов осуществляется путем добавления action-файла hook.yml в качестве нового потока (workflow), который запускается при каждой отправке кода в атакованный репозиторий.
В свою очередь, похититель паролей внедряет обфусцированнвый код JavaScript в конец всех файлов .js, и этот скрипт загружает следующий скрипт с сайта злоумышленников. Он отслеживает отправку форм, чтобы воровать пароли из любых входных данных.
В отчете Checkmarx отмечается, что большинство скомпрометированных пользователей находятся в Индонезии, то есть, похоже, это целевая атака, направленная на определенную группу разработчиков.