Исследователи безопасности Checkmarx обнаружили необычные коммиты в сотнях публичных и частных репозиториев, которые были подделаны так, чтобы казаться коммитами Dependabot. Кампания сосредотачивается на внедрении вредоносного кода в проекты для кражи конфиденциальных данных. Вредоносная кампания длится с июля 2023 года.
Dependabot – это инструмент, предоставляемый GitHub, который автоматически проверяет и обновляет зависимости в проекте, чтобы убедиться, что они безопасны и актуальны. Если Dependabot обнаруживает устаревшую или уязвимую зависимость, он автоматически создает запрос pull request с обновлением зависимости.
В контексте GitHub “вклады” (или “contributions”) обычно относятся к любому изменению, добавленному в репозиторий. Сюда входят новый код, исправление ошибок, документация и т.д. В контексте атаки злоумышленники создали коммиты (запросы), которые выглядят так, как будто они были созданы Dependabot, но на самом деле содержат вредоносный код.
Атака началась с того, что хакеры получили личные токены доступа GitHub своих жертв. Как именно токены были украдены, специалистам Checkmarx выяснить не удалось. Исследователи предположили, что киберпреступники использовали автоматизированные скрипты для создания поддельных сообщений о коммитах с заголовком “fix”, которые казались бы от учетной записи “dependabot[bot]”.
Поддельный коммит Dependabot
Поддельные коммиты внедряют вредоносный код в проект, который выполняет следующие действия:
- Извлекает секреты из проекта GitHub и отправляет их на сервер управления и контроля (C2-сервер) злоумышленника;
- Изменяет существующие файлы JavaScript в затронутом репозитории, добавляя вредоносное ПО, которое крадет пароли из веб-форм и отправляет их на тот же C2-сервер.
Аналитики Checkmarx изучили журналы некоторых жертв и обнаружили, что их аккаунты были скомпрометированы с использованием украденных личных токенов доступа (personal access token, PAT).
Большинство скомпрометированных пользователей – из Индонезии, что указывает на целенаправленность атаки. Однако имеющиеся данные не предоставляют конкретных деталей о мотивах атаки. Для защиты от подобных атак рекомендуется переключиться на токены личного доступа GitHub с детализированными правами (fine-grained PAT), которые ограничивают каждого пользователя конкретными разрешениями, тем самым снижая риски в случае компрометации.