понедельник, 21 апреля 2025 г.

"GitHub-токен как троянский конь: История атаки на Tj-actions"

 


Недавняя атака на цепочку поставок , которая скомпрометировала популярное действие GitHub tj-actions/changed-files, оставила след цифрового разрушения, затронув 218 репозиториев GitHub.

По мере того, как следователи копают глубже, истоки этого сложного взлома постепенно проясняются, раскрывая как первоначальную компрометацию, так и конечную цель.





Хотя желаемой целью были проекты GitHub, связанные с Coinbase, популярной криптовалютной биржей, исходная точка атаки была прослежена до кражи одного токена из рабочего процесса Spotbugs. Это предоставило злоумышленнику несанкционированный доступ и позволило ему скомпрометировать множество проектов GitHub.

Spotbug — это инструмент статического анализа, выявляющий ошибки в коде Java, поддерживаемый RD_MNTNR, который также был активным разработчиком reviewdog, проекта GitHub по автоматизированному обзору и тестированию кода, взлом которого привел к изменению файлов tj-actions/changed-files.

Объяснение атаки tj-actions/changed-files

14 марта исследователи безопасности обнаружили, что исходный код tj-actions/changed-files был изменен.

GitHub Actions — это фреймворки непрерывной интеграции и непрерывной доставки (CI/CD), предназначенные для оптимизации создания, тестирования и развертывания кода.

Представитель StepSecurity прокомментировал: «В этой атаке злоумышленники изменили код действия и задним числом обновили несколько тегов версий, чтобы ссылаться на вредоносный коммит. Скомпрометированное действие печатает секреты CI/CD в журналах сборки GitHub Actions».

«Если журналы рабочего процесса общедоступны (например, в публичных репозиториях), любой потенциально может прочитать эти журналы и получить раскрытые секреты. Нет никаких доказательств того, что просочившиеся секреты были вывезены в какой-либо удаленный сетевой пункт назначения», — добавили они.

В сообщении в блоге компания Endor Labs, занимающаяся безопасностью цепочки поставок программного обеспечения, написала: «Злоумышленник, скорее всего, не искал секреты в публичных репозиториях — они уже публичны. Скорее всего, они хотели скомпрометировать цепочку поставок программного обеспечения для других библиотек с открытым исходным кодом, двоичных файлов и артефактов, созданных с помощью этого. Любой публичный репозиторий, который создает пакеты или контейнеры как часть конвейера CI, мог быть затронут. Это означает, что потенциально тысячи пакетов с открытым исходным кодом могут быть скомпрометированы».

По первоначальным оценкам, атака имела ошеломляющие последствия: было скомпрометировано около 23 000 репозиториев.

Однако более тщательное расследование показало, что фактический ущерб был значительно более ограниченным: вредоносная фиксация tj-actions раскрыла конфиденциальные секреты только 218 репозиториев, что составляет лишь малую часть от изначально предполагаемого общего количества.



Инциденту был присвоен официальный номер CVE — CVE-2025-30066, который впоследствии был добавлен в каталог известных эксплуатируемых уязвимостей (KEV) Агентства по кибербезопасности и безопасности инфраструктуры США (CISA).

Дальнейшее расследование показало, что злоумышленник успешно проник в проект GitHub reviewdog/action-setup, внедрив вредоносный бэкдор, который сработал при запуске зависящего от него проекта tj-actions/eslint-changed-files.

Новые откровения: Coinbase и спотбаги

20 марта исследователи из подразделения Unit42 компании Palo Alto Networks обнаружили , что первоначальной целью атаки была Coinbase, а именно ее проект AgentKit с открытым исходным кодом GitHub.

Злоумышленники попытались использовать публичный конвейер CI/CD проекта, вероятно, чтобы использовать его в качестве плацдарма для дальнейших взломов.

Однако атака была частично предотвращена, поскольку злоумышленники не смогли получить доступ к секретам Coinbase или использовать их, а также опубликовать вредоносные пакеты.

Исследователи Unit42 полагают, что после этой первоначальной атаки тот же субъект угрозы активизировал свои действия, что привело к более значительной и масштабной атаке, которая привлекла внимание всего мира.

2 апреля исследователи Unit42 сообщили, что им удалось собрать воедино этапы, которые привели к изначальному взлому, на основе рекомендаций, опубликованных разработчиками reviewdog.

По данным Unit42, злоумышленники изначально получили доступ, используя рабочий процесс GitHub Actions для spotbugs в ноябре 2024 года, что позволило им перемещаться между репозиториями spotbugs, пока они не получили доступ к reviewdog.



Хронология атаки

Ноябрь 2024 г.: Злоумышленник получил несанкционированный доступ к Spotbugs .

6 декабря 2024 г.: Злоумышленник использовал уязвимый рабочий процесс «pull_request_target», чтобы украсть персональный токен доступа (PAT) сопровождающего с помощью вредоносного запроса на извлечение, отправленного одноразовой учетной записью пользователя (randolzflow).

11 марта 2025 г.: Злоумышленник использовал украденный PAT для добавления еще одного фиктивного пользователя (jurkaofavak) в репозиторий spotbugs. Затем этот пользователь отправил вредоносный рабочий процесс GitHub Actions, который извлек второй PAT, принадлежащий сопровождающему reviewdog (RD_MNTNR), который также имел права доступа к spotbugs. Украденный PAT предоставил злоумышленнику доступ на запись в репозиторий reviewdog/action-setup, что позволило ему заменить тег v1 вредоносным коммитом из разветвленного репозитория.

Это фактически отравило все проекты, которые полагались на тег v1, создав бэкдор, который срабатывал при использовании в сочетании с tj-actions/eslint-changed-files. Затем злоумышленник использовал украденные учетные данные для переопределения тегов git в репозитории, перенаправляя их на вредоносный коммит, предназначенный для сброса конфиденциальных секретов из исполнителей непрерывной интеграции (CI) в журналы. Вредоносный коммит раскрыл секреты для 218 репозиториев, включая те, которые связаны с Coinbase.

14 марта 2025 г.: CI Coinbase извлек и выполнил измененную версию. К счастью, план злоумышленника по проникновению в системы Coinbase был сорван. Быстрая реакция компании на попытку взлома сыграла решающую роль в смягчении ущерба, поскольку компания оперативно получила уведомление о потенциальной уязвимости безопасности и предприняла решительные действия по удалению вредоносного рабочего процесса.

14 марта 2025 г.: Исследователи StepSecurity обнаружили, что исходный код tj-actions/changed-files был подделан.

15 марта 2025 г.: Уязвимость была раскрыта компанией MITRE и ей был присвоен идентификатор CVE — CVE-2025-30066.

16 марта 2025 г.: Аднан Хан, независимый исследователь в области наступательной безопасности, опубликовал отчет, указывающий на взлом другой организации GitHub, reviewdog .

18 марта 2025 г.: CISA добавила CVE-2025-30066 в свой каталог KEV.

18 марта 2025 г.: Разработчики Reviewdog опубликовали рекомендацию по безопасности.

20 марта 2025 г.: Подразделение Unit42 компании Palo Alto Networks сообщило, что первоначальными целями атаки были проекты, связанные с Coinbase.

2 апреля 2025 г.: В новом обновлении от подразделения Unit42 компании Palo Alto Networks говорится, что атака была связана с кражей одного токена из рабочего процесса Spotbugs.


Дополнительная интересная информация:

"Уязвимость нулевого дня в Windows: как APT-группы использовали её почти десятилетие"

"Dependency-Check — секретное оружие разработчиков для анализа зависимостей"

"GenAI — новое оружие хакеров: как ИИ взламывает Google Chrome"

 






МЕТА ТЕГИ #Кибератака, #GitHub, #цепочка поставок, #Coinbase, #Spotbugs, #CI/CD, #безопасность, #уязвимость, #CVE-2025-30066, #вредоносный код, #компрометация, #кибербезопасность, #CISA, #Unit42, #Palo Alto Networks, #reviewdog, #tj-actions/changed-files

Комментариев нет:

Отправить комментарий