Новости 1 коммит — 3000 украденных секретов: что не так с безопасностью на GitHub

NewsMaker

I'm just a script
Премиум
20,382
46
8 Ноя 2022
API-ключи разработчиков уже могут продаваться в даркнете.


2s0m4t5vlcyb4jd8i1122hd78imi09a9.jpg


Атака GhostAction стала одним из крупнейших компрометаций GitHub-экосистемы за последние годы. Специалисты GitGuardian выявили масштабную кампанию, в ходе которой злоумышленники внедряли вредоносные workflow-файлы в репозитории. Через подменённые сценарии атакующие получили доступ к 3 325 секретам, включая токены PyPI, npm, DockerHub и ключи облачных сервисов. Всего пострадали 327 пользователей и 817 репозиториев.

Расследование началось с инцидента вокруг проекта FastUUID. Под видом коммита с описанием «Add Github Actions Security workflow» пользователь Grommash9 загрузил файл GitHub Actions , который вместо полезной логики выполнял передачу токенов в сторонний домен. Сценарий запускался при пуше или ручном вызове, извлекал секреты из окружения и отправлял их HTTP-запросом на удалённый сервер. Для маскировки автор добавил незначительные команды вроде «Prepare Cache Busting», однако основная задача сводилась к краже данных. Настоящий workflow FastUUID был предназначен для тестирования и публикации пакета в PyPI, где использовался тот же токен.

Компрометация произошла 2 сентября, но благодаря быстрому реагированию ущерб удалось минимизировать. Уже 5 сентября в 12:11 PyPI перевёл проект в режим «только для чтения», а через 19 минут вредоносный коммит был отозван. В этот период злоумышленники не успели загрузить поддельные версии пакета, что снизило риск масштабного распространения вредоноса через цепочку зависимостей, включая проекты уровня BerriAI/litellm.

Однако дальнейший анализ показал, что FastUUID был лишь частью куда более широкой операции. В тот же день злоумышленник внедрил идентичные workflow в другие публичные и частные репозитории, расширив список похищаемых переменных. Помимо PyPI-токенов, в скрипты добавлялись ключи WhiteBIT и Cloudflare. Все данные также направлялись на тот же сервер. Сопоставив историю коммитов, исследователи обнаружили сотни аналогичных внедрений, затронувших сотни пользователей. К моменту анализа инфраструктура вредоносных доменов ещё функционировала, но вечером 5 сентября перестала резолвиться.

В ходе кампании было похищено свыше 3 000 секретов, среди которых особую опасность представляют токены NPM и ключи к DockerHub, позволяющие незаметно загружать вредоносные пакеты и образы. Уже зафиксированы случаи активного использования украденных учётных данных: среди них AWS-ключи и пароли к базам данных. Некоторые компании столкнулись с компрометацией сразу нескольких SDK на разных языках — от Python и Rust до JavaScript и Go.

GitGuardian начала массовое уведомление пострадавших через создание issues в репозиториях. Из 817 проектов 100 уже успели откатить вредоносные изменения самостоятельно, ещё в 573 были добавлены предупреждения. Часть репозиториев оказалась удалена или заблокировала возможность заведения тикетов. Одновременно о происходящем были уведомлены GitHub, NPM и PyPI. По предварительным данным, в ближайшие дни под угрозой могут оказаться 9 npm- и 15 PyPI-пакетов.

GitGuardian подчёркивает, что характер атак указывает на тщательно спланированную цепочку атакующего, который сначала анализировал легитимные workflow-файлы и фиксировал названия используемых секретов, а затем создавал поддельные сценарии с аналогичными переменными. Это позволило ему гарантированно извлекать наиболее ценные данные. Несмотря на то, что операция GhostAction не привела к массовым вредоносным релизам в пакетных менеджерах, она стала тревожным сигналом для экосистемы open source, показав, что CI/CD-сценарии могут быть столь же уязвимы, как и сам исходный код.
 
Источник новости
www.securitylab.ru

Похожие темы