Специалисты восстановили полный таймлайн взлома GitHub.
Недавняя атака на цепочку поставок популярного действия GitHub tj-actions/changed-files привела к утечке секретных данных из множества репозиториев. Специалисты Wiz обнаружили дополнительную атаку на reviewdog/action-setup@v1, которая могла способствовать компрометации tj-actions/changed-files. По данным Wiz, это может быть цепочка атак, направленная на конкретную высокоценную цель.
Согласно отчету, злоумышленники сначала скомпрометировали тег v1 для reviewdog/action-setup и внедрили код, который также направлял секретные данные CI/CD в файлы логов. Поскольку tj-actions/eslint-changed-files использует действие reviewdog/action-setup, предполагается, что компрометация привела к утечке персонального токена tj-actions.
Компрометация reviewdog/action-setup произошла 11 марта в период между 18:42 и 20:31 UTC, когда тег v1 был перенаправлен на вредоносный коммит, а затем возвращён к предыдущему состоянию. Это говорит о том, что киберпреступники действовали скрытно и пытались замести следы.
Уязвимость в reviewdog возникла в тот же временной период, что и компрометация токена tj-actions. Хакеры внедрили в скрипт install.sh закодированную (Base64) полезную нагрузку, которая позволяла извлекать секретные данные из рабочих процессов CI. На данный момент не зафиксировано случаев передачи данных на внешние серверы злоумышленников. Однако утечки могли быть обнаружены внутри самих репозиториев.
Кроме подтвержденного взлома тега reviewdog/action-setup@v1, под угрозой могли оказаться и другие действия:
Хотя команда Reviewdog устранила ошибку, специалисты Wiz уведомили их и GitHub о возможном повторении атаки. В компании подчеркнули, что проблема могла возникнуть из-за большого количества участников в проекте Reviewdog и автоматизированного процесса добавления новых членов, что увеличивает риски. Если бы взломанное действие оставалось активным, злоумышленники могли бы снова атаковать tj-actions/changed-files и получить доступ к недавно заменённым секретным данным CI/CD.
Wiz рекомендует разработчикам проверить свои репозитории на наличие ссылок на reviewdog/action-setup@v1 с помощью запроса в GitHub. Если в логах рабочих процессов обнаружены дважды закодированные (Base64) строки, это может свидетельствовать об утечке секретов.
Для устранения последствий атаки следует:
Чтобы предотвратить подобные атаки в будущем, рекомендуется фиксировать версии GitHub Actions на конкретные хэши коммитов вместо использования тэгов, а также использовать функцию GitHub allow-listing для ограничения использования неавторизованных действий.