У кампанії wfx-loot використали 4837 скомпрометованих акаунтів GitHub

У кампанії wfx-loot використали 4837 скомпрометованих акаунтів GitHub

У кампанії wfx-loot використали 4837 скомпрометованих акаунтів GitHub для викрадення секретів CI та хмарних облікових даних.

У кампанії wfx-loot зловмисники використали облікові записи 4837 користувачів GitHub, щоб перевірити доступ на запис до 61 764 репозиторіїв і поширити шкідливий код для викрадення секретів CI та хмарних облікових даних. Дослідники підтвердили викрадення секретів щонайменше у 1835 цільових репозиторіїв.

Як повідомляє BleepingComputer, кампанія почалася приблизно о 12:45 UTC 10 листопада. Зловмисники створювали pull request із заголовком «docs: dependency audit notes», маскуючи їх під нотатки до аудиту залежностей. За даними компанії з безпеки застосунків Aikido, 92% таких запитів досі залишалися відкритими.

 

Як поширювали шкідливий код

 

Для запуску шкідливого сценарію зловмисники змінювали наявні робочі процеси GitHub Actions, додавали нові workflow у короткочасних гілках або розміщували хук встановлення npm. Скрипт обсягом близько 1500 рядків збирав токени GitHub Actions, змінні середовища, OIDC-токени та токени середовища виконання Actions.

Також він намагався отримати облікові дані AWS, Azure та Google Cloud, зокрема з метаданих інстансів на self-hosted runner. Серед інших цілей були ключі Git, SSH і GPG, дані Docker, Kubernetes, npm, PyPI, Vault і Terraform, а також доступи до сервісів OpenAI, Anthropic, Gemini, Hugging Face, Cursor і GitHub Copilot.

 

Виведення даних і зачистка слідів

 

Сценарій міг обмінювати GitHub OIDC-токени на тимчасові сесії в AWS, Azure та Google Cloud. У AWS він також був здатний переходити до інших IAM-ролей, доступних репозиторію, щоб створювати довгострокові облікові дані, а в Google Cloud — використовувати зібрані дані сервісних акаунтів для імітації ідентичностей.

Зібрані дані стискалися в tar-архіви та передавалися HTTP POST-запитами на один із двох серверів, контрольованих зловмисниками. Після цього вони швидко скасовували внесені зміни й видаляли запуски workflow та журнали; Aikido повідомила, що цей етап тривав менш ніж хвилину. Шкідливий код також потрапив через автоматичну публікацію до пакета Packagist digitalelvis/neuronai-studio версії 3.14.3 і двох версій Go-модуля github.com/onuragtas/docker-env.

Власникам репозиторіїв радять перевірити наявність гілки wfx-docs, відповідних pull request і пропусків у нумерації запусків workflow. Якщо виконання шкідливого коду підтверджено, усі секрети та хмарні ролі, доступні ураженим workflow, слід вважати скомпрометованими й негайно замінити.