Вредоносный код в GitHub Actions похищает пароли - 23 000 возможных жертв
18/03/25
Программное обеспечение с открытым исходным кодом, используемое более чем 23 000 организациями, было скомпрометировано вредоносным кодом, похищающим учетные данные. Хакеры получили несанкционированный доступ к учетной записи одного из сопровождающих проекта, что привело к серьезной атаке на цепочку поставок.
Целью атаки стал tj-actions/changed-files — популярный инструмент в GitHub Actions , который помогает автоматизировать процессы в разработке. Злоумышленники внесли изменения в код, из-за чего он начал копировать содержимое памяти серверов, извлекать учетные данные и записывать их в лог-файлы. В результате тысячи репозиториев, доверявших этому инструменту, раскрыли свои секретные ключи и пароли в открытом доступе, пишет Securitylab.
Эксперты в области безопасности отмечают, что уязвимость GitHub Actions заключается в возможности изменять код и получать доступ к секретным переменным без строгой проверки. Многие пользователи не закрепляют зафиксированные версии кода, а используют общие теги, что позволяет хакерам подменять файлы без обнаружения.
Подозрительная активность была впервые замечена специалистами StepSecurity, которые зафиксировали неожиданное сетевое подключение. Вскоре исследователи из Wiz подтвердили , что атака привела к утечке данных, включая ключи доступа AWS, GitHub Personal Access Tokens, токены npm и закрытые RSA-ключи. По их данным, затронуты десятки репозиториев, в том числе корпоративных.
Сопровождающий проекта tj-actions подтвердил, что злоумышленники получили доступ к учетным данным бота @tj-actions-bot, однако способ компрометации неизвестен. Пароль был изменен, а для дополнительной защиты аккаунт теперь использует passkey — механизм двухфакторной аутентификации по стандарту FIDO.
GitHub заявил, что его инфраструктура не была взломана. В рамках предосторожности компания временно приостановила работу учетных записей, связанных с атакой, и удалила вредоносные изменения. После устранения угрозы доступ был восстановлен.