- BrainTools - https://www.braintools.ru -

Хакеры атаковали более 61 тысячи репозиториев на GitHub

Во время кампании под названием wfx‑loot хакеры атаковали [1] более 61 тыс. репозиториев GitHub для кражи секретов GitHub Actions и учётных данных облачных сервисов при помощи вредоносных рабочих процессов. Хотя вредоносный код сработал не во всех репозиториях, исследователи подтвердили кражу секретов более чем у 1,8 тыс. целей.

Хакеры атаковали более 61 тысячи репозиториев на GitHub - 1

Злоумышленники использовали тысячи взломанных аккаунтов GitHub для создания запросов на слияния в репозиториях, к которым эти учётные записи имели доступ. Так хакеры проверяли, достаточно ли у этих аккаунтам прав на запись, чтобы внедрить вредоносный код.

Некоторые из взломанных аккаунтов принадлежали организациям из списка Fortune 100, Управлению общих служб США, правительству Франции, Nextcloud и WebdriverIO.

Исследователи из компании в сфере безопасности приложений Aikido предположили, что около 50 из этих аккаунтов имели права на публикацию пакетов в других экосистемах открытого программного обеспечения и пакетных репозиториях, включая npm, PyPI, Go, crates и Packagist.

Aikido утверждает, что wfx‑loot началась 10 ноября 2026 года. Злоумышленники использовали учётные данные более 4,8 тыс. взломанных аккаунтов GitHub, чтобы проверить, есть ли у них права на запись в 61,7 тыс. репозиториях. Хакеры создали запросы на слияние под названием docs: dependency audit notes, замаскированные под заметки по аудиту зависимостей. Около 92% таких запросов на слияние остаются открытыми, поэтому, вероятно, законные владельцы репозиториев не заметили этой активности.

Хакеры атаковали более 61 тысячи репозиториев на GitHub - 2

Затем злоумышленники создали shell‑скрипт для кражи учётных данных, состоящий из 1,5 тыс. строк. Для этого они изменяли существующие рабочие процессы GitHub Actions, добавляли новые в недавно созданных временных ветках и внедряли хуки, срабатывающие при установке npm‑пакетов.

Скрипт пытается собрать следующие данные:

  • Данные GitHub Actions и переменные, GITHUB_TOKEN рабочего процесса, токены OIDC и токены среды выполнения GitHub Actions

  • Учётные данные для облачных сервисов AWS, Azure и Google Cloud, включая полученные через метаданные экземпляров на self‑hosted раннерах

  • Учётные данные разработчика и специалиста по инфраструктуре, полученные с помощью Git, SSH, GPG, Docker, Kubernetes, npm, PyPI, Vault и Terraform

  • Учётные данные для доступа к сервисам искусственного интеллекта [2] и инструментам разработчиков OpenAI, Anthropic, Gemini, Hugging Face, Cursor и GitHub Copilot

  • Переменные окружения, файлы.env, закрытые ключи, хранилища ключей, история командной оболочки, память [3] процессов, файлы репозиториев и последние коммиты, а также артефакты рабочего процесса.

Скрипт также поддерживает повышение привилегий в облачной инфраструктуре путём обмена токенов GitHub OIDC на токены доступа к временным облачным сессиям AWS, Azure и GCP. В AWS скрипт может использовать обнаруженные в репозитории роли IAM, чтобы получить доступ к дополнительным ролям и «создать долгосрочные учётные данные для пользователей IAM». В GCP скрипт использует собранные учётные данные сервисных аккаунтов, чтобы выдавать себя за другие аккаунты.

Исследователи отмечают, что возможности скрипта включают закрепление в скомпрометированных системах за счёт создания долгосрочных учётных данных или изменения политик облачной идентификации и доверия, если имеющиеся права это позволяют.

Скрипт сжал собранные данные в архивы tar и отправил их по протоколу HTTP POST на одну из двух контролируемых злоумышленниками конечных точек. На заключительном этапе хакеры быстро отменили внесение изменений и удалили записи рабочих процессов и журналы. По данным Aikido, это было сделано менее чем за минуту.

Хакеры атаковали более 61 тысячи репозиториев на GitHub - 3

В исследовательской компании обнаружили определённые совпадения с кампанией GhostAction [4] от 2025 года. Владельцам репозиториев рекомендовали проверить ветку wfx‑docs, запрос на слияние probe и пробелы в номерах выполнения рабочих процессов. В случае подтверждения выполнения полезной нагрузки все секреты и облачные роли, доступные для затронутых рабочих процессов, следует считать скомпрометированными и немедленно заменить.

Автор: Travis_Macrif

Источник [5]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/38541

URLs in this post:

[1] атаковали: https://www.aikido.dev/blog/compromised-github-accounts-push-ci-secret-stealer-to-tens-of-thousands-of-repositories

[2] интеллекта: http://www.braintools.ru/article/7605

[3] память: http://www.braintools.ru/article/4140

[4] GhostAction: https://www.bleepingcomputer.com/news/security/hackers-steal-3-325-secrets-in-ghostaction-github-supply-chain-attack/

[5] Источник: https://habr.com/ru/articles/1107652/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1107652

www.BrainTools.ru

Rambler's Top100