Злоумышленники использовали 4837 аккаунтов GitHub для кражи секретов из тысяч репозиториев

Злоумышленники использовали 4837 аккаунтов GitHub для кражи секретов из тысяч репозиториев

Hennadiy Chemеris

С 10 ноября злоумышленники используют украденные учетные данные 4837 аккаунтов GitHub, чтобы внедрять вредоносный код в репозитории, к которым у этих аккаунтов есть доступ на запись. По оценке Aikido Security, стилер запустился как минимум в 1806 репозиториях, где, вероятно, успел собрать секреты и учетные данные.

Перед внедрением вредоносного кода злоумышленники открыли в 61 764 репозиториях тестовые пул-реквесты с заголовком docs: dependency audit notes и ветки wfx-docs. Так они проверяли, может ли скомпрометированный аккаунт вносить изменения в конкретный репозиторий.

По данным SafeDep, с 10 ноября 12:46 UTC по 12 ноября 04:36 UTC вредоносные коммиты появились в 8093 репозиториях. Это не означает, что стилер запустился во всех них: речь идет обо всех репозиториях, в которых исследователи обнаружили такие коммиты. В 7309 случаях вредоносный код добавили в существующие сценарии GitHub Actions, а в 771 — с помощью npm-хука postinstall, который запускается при установке пакетов. Еще в 16 пустых репозиториях злоумышленники добавили новые сценарии GitHub Actions.

Вредоносная программа собирала секреты GitHub Actions, токены доступа, учетные данные для облачных сервисов AWS, Azure и GCP, а также ключи и пароли из файлов и памяти запущенных процессов. В том числе она получала доступ к токенам, используемым в GitHub Actions, и учетным данным различных инструментов и сервисов для разработки.

Кроме того, стилер копировал содержимое репозитория, последние 100 коммитов и недавние артефакты запусков GitHub Actions. Собранные данные отправлялись на серверы злоумышленников по HTTP или в Telegram. Вредоносный скрипт также содержал механизмы закрепления в облачной инфраструктуре: например, он мог создавать новые ключи доступа AWS, менять политики доступа к облачным ролям и добавлять федеративные учетные данные Azure, которые способны сохранять доступ даже после смены паролей и токенов.

GitHub
GitHub

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

Вредоносный код также обнаружили в версии 3.14.3 пакета digitalelvis/neuronai-studio для Packagist. По данным SafeDep, обычная установка этого пакета через Composer не запускает стилер, однако выполнение npm install внутри его каталога активирует вредоносный хук.

Кроме того, вредоносные изменения нашли в Go-модуле github.com/onuragtas/docker-env (также распространяемом под именем github.com/onuragtas/redock) в версиях v1.0.278, v1.0.280 и v1.0.282, а также в версии v0.0.0-20261111095532-8d5aad0cb0da модуля github.com/vkuznet/gocurl. В этих случаях вредоносный код находился только в файлах сценариев GitHub Actions: исходный Go-код и выпущенные бинарные файлы не менялись. Обычные команды сборки Go такие сценарии не запускают.

Aikido Security также обнаружила пересечение между аккаунтами, затронутыми ноябрьской атакой, и участниками октябрьской кампании GhostAction. Более чем в 100 репозиториях новый стилер внедрили в файлы сценариев, оставшиеся после предыдущей атаки. При этом исследователи не стали связывать обе кампании с одним злоумышленником.

На данном этапе мы не связываем ноябрьскую атаку с тем же злоумышленником.
— Aikido Security, компания, исследовавшая атаку

Кстати, ранее сообщалось, что пароль «123456» помог хакеру получить доступ к данным 8,8 млн жителей Дании, в том числе через аккаунт администратора.

Насколько серьёзной угрозой для разработчиков вы считаете такую атаку?

🔥 Logitech будет давать выходные для игр
    Об авторе
    Комментарии0