✔Каскадную атаку на цепочку поставок на GitHub связали с утечкой токена SpotBugs - «Новости»
Исследователи продолжают изучать каскадную атаку на цепочку поставок в GitHub Actions, связанную со взломом tj-actions/changed-files и нацеленную на криптобиржку Coinbase. Как стало известно теперь, атака началась с кражи токена у разработчика SpotBugs, что в итоге позволило злоумышленникам скомпрометировать несколько проектов.
SpotBugs — это популярный инструмент для статического анализа, который был взломан в ноябре 2024 года. В итоге это привело к компрометации Reviewdog, а затем к заражению tj-actions/changed-files.
Напомним, что в середине марта 2025 года была обнаружена компрометация пакета tj-actions/changed-files, который входит в состав tj-actions. Это один из многочисленных GitHub Actions на одноименной платформе, предоставляющей бесплатную систему CI/CD для публичных репозиториев. Обработчик changed‑files использовался в 23 000 репозиториях, и его попытались использовать для кражи конфиденциальных данных.
После взлома вредоносный код должен был записывать CI/CD-секреты в журналы рабочих процессов для всех 23 000 репозиториев, использующих tj-actions/changed-files. Если эти логи были публичными, их мог просмотреть любой желающий.
Как позже подсчитали ИБ-эксперты, атака успешно раскрыла секреты 218 репозиториев, а изначально хакеры пытались скомпрометировать проекты, принадлежащие криптовалютной бирже Coinbase.
Как теперь сообщают исследователи Palo Alto Networks, им наконец удалось разобраться, с чего и когда именно началась эта атака.
Выяснилось, что каскадная атака на цепочку поставок берет начало в конце ноября 2024 года, когда один из сопровождающих SpotBugs (SPTBHS_MNTNR) добавил свой токен PAT (Personal Access Token) в CI-пайплайн.
6 декабря 2024 года злоумышленники использовали уязвимый рабочий процесс pull_request_target, чтобы похитить PAT мейнтейнера с помощью вредоносного пулл-реквеста от лица учетной записи фальшивого пользователя (randolzflow).
11 марта 2025 года злоумышленник задействовал украденный PAT для приглашения другого фиктивного пользователя (jurkaofavak) в SpotBugs, который задействовал вредоносный workflow GitHub Actions. Тот похитил другой PAT, принадлежащий мейнтейнеру Reviewdog (RD_MNTNR), который тоже имел доступ к SpotBugs.
Второй украденный PAT имел доступ на запись к reviewdog/action-setup, что позволило злоумышленникам подменить тег v1 вредоносным коммитом из форка, отравив всех пользователей v1. Это создало бэкдор, который выполнялся при использовании tj-actions/eslint-changed-files, на который опирался проект.
Используя украденные учетные данные, злоумышленники изменили git-теги в репозитории, чтобы те указывали на вредоносный коммит, который сохранял секреты из CI runners в логах, что потенциально могло затронуть 23 000 репозиториев, использующих этот Action.

Схема атаки
Ранее, во время расследования инцидента, выяснилось, что злоумышленники нацеливали вредоносный коммит на coinbase/agentkit. CI Coinbase извлек и выполнил вредоносную версию 14 марта 2025 года, хотя представители биржи заверили, что попытка компрометации не удалась и не нанесла никакого ущерба проекту agentkit или другим ресурсам биржи.
Теперь, когда удалось восстановить полную картину инцидента, исследователи подчеркивают, что атака была хорошо организована и тщательно спланирована, начавшись еще несколько месяцев назад.
По словам экспертов, случившееся подчеркивает фундаментальные проблемы в цепочке доверия между опенсорсными репозиториями, а также проблемы в экосистеме GitHub Actions, включая мутабельность тегов и недостаточное логирование действий.
Всем проектам и репозиториям, использовавшим скомпрометированные GitHub Actions, рекомендуется немедленно сменить все секреты. А логи GitHub Actions, особенно за период с 10 по 14 марта 2025 года, следует проверить на присутствие секретов, особенно блобов в base64-кодировке.