Ssylka

Как утечка токена SpotBugs привела к масштабовой атаке GitHub?

Атака цепочки поставок началась с утечки персонального токена доступа (PAT) из проекта SpotBugs, инструмента для статического анализа кода, и быстро переросла в угрозу для пользователей GitHub Action "tj-actions/changed-files" и компании Coinbase. Проблема заключалась в том, что компрометация токена позволила злоумышленникам получить доступ ко многим репозиториям и инструментам.
Как утечка токена SpotBugs привела к масштабовой атаке GitHub?
Изображение носит иллюстративный характер

Первые шаги атаки осуществлялись путем эксплуатации workflow GitHub Actions в проекте SpotBugs. Злоумышленники перемещались между репозиториями SpotBugs до тех пор, пока не получили доступ к репозиторию reviewdog, что подтверждено данными исследования Palo Alto Networks Unit 42.

Ским токен успешно использовался для получения доступа к репозиториям "spotbugs/spotbugs" и "reviewdog/action-setup". Злоумышленники подменили содержимое workflow, после чего зависимость инструмента "tj-actions/changed-files" была заражена через "tj-actions/eslint-changed-files". Таким образом, корректная работа цепочки поставок значительно нарушилась.

Временные метки играют ключевую роль в понимании атаки. 28 ноября 2024 года в 09:45:13 UTC мейнтейнер SpotBugs изменил один из workflow в репозитории "spotbugs/sonar-findbugs", воспользовавшись персональным токеном из-за проблем с CI/CD. Затем 6 декабря 2024 года в 02:39:00 UTC злоумышленник отправил вредоносный pull request, используя триггер pull_request_target, который позволил рабочему процессу с форков получить доступ к секретам.

11 марта 2025 года под именем "jurkaofavak" злоумышленнику было предоставлено приглашение для доступа к репозиторию "spotbugs/spotbugs" от мейнтейнера проекта, а в последующие дни атака переросла в атаку на Coinbase. Кроме того, обнаружена активность другого имени – "randolzfow", под которым был создан форк "spotbugs/sonar-findbugs" и инициирован вредоносный pull request.

Злоумышленники получили возможность использовать пат для предоставления себе прав на запись, создания веток и доступа к секретам CI. Атака базировалась на использовании уязвимости pull_request_target, что вызвало эффект «отравления пайплайна» (PPE) и позволило вывести секретные данные в логи, тем самым усугубив ситуацию.

Мейнтейнер проекта подтвердил, что тот же PAT, использованный в workflow, был применен для приглашения пользователя "jurkaofavak". После обнаружения нарушений все токены были немедленно заменены, что помогло прекратить дальнейший доступ злоумышленников. Palo Alto Networks Unit 42 ведет детальное расследование, раскрывая временную последовательность, используемые уязвимости и методы атаки.

Наблюдается значительный интервал в три месяца между утечкой токена в конце ноября – начале декабря 2024 года и моментом активного использования в марте 2025 года. Возникают вопросы относительно того, зачем злоумышленники «выводили секреты в логи» после столь длительного наблюдения, а также почему именно проекты, зависящие от "tj-actions/changed-files", стали мишенью для атаки, в том числе с целью воздействия на высококлассную организацию, такую как Coinbase.


Новое на сайте