Атака ArtiPACKED может использоваться для захвата GitHub-репозиториев и доступа к облачным средам - «Новости»

  • 10:30, 19-авг-2024
  • Новости / Добавления стилей / Преимущества стилей / Отступы и поля / Изображения / Заработок
  • Marshman
  • 0

Исследователи Palo Alto Networks обнаружили, что в ряде крупных проектов с открытым исходным кодом (включая проекты Google, Microsoft, AWS и Red Hat), происходят утечки токенов аутентификации GitHub. Проблема связана с артефактами GitHub Actions в рабочих процессах CI/CD. Злоумышленники могут похитить эти токены и получить доступ к приватным репозиториям, украсть исходный код или внедрить вредоносный код в проекты.


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



Артефакт, созданный GitHub Actions

В своем отчете эксперты рассказывают, что совокупность факторов, включая небезопасные настройки по умолчанию, некорректные настройки пользователей и недостаточные проверки безопасности, могут приводить к утечке токенов GitHub. Такие атаки в компании назвали ArtiPACKED.


Атака ArtiPACKED может использоваться для захвата GitHub-репозиториев и доступа к облачным средам - «Новости»

Общая схема атаки ArtiPACKED

Первой была обнаружена проблема, связанная с действием actions/checkout, которое обычно используется в GitHub workflow для клонирования кода репозитория, чтобы тот был доступен в ходе выполнения рабочего процесса.


По умолчанию это действие сохраняет токен GitHub в локальном скрытом каталоге .git, что необходимо для аутентифицированных операций. Если же пользователь по ошибке загрузит весь каталог checkout как часть артефакта, токен GitHub в папке git окажется скомпрометирован. Другая конфиденциальная информация, которая так же может содержаться в этой директории, это ключи API, токены доступа для облачных сервисов и учетные данные для различных аккаунтов.


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



Утекший токен

Вторая обнаруженная специалистами проблема связана с конвейерами CI/CD, которые используют переменные окружения для хранения токенов GitHub. Если действия (actions) или скрипты в рамках рабочего процесса целенаправленно или по ошибке логируют эти переменные, а логи загружаются в качестве артефактов.


Эксперты отмечают, что действие super-linter может создавать подробные логи, если CREATE_LOG_FILE установлено в значение True.


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


Токены GitHub остаются действительными в течение всего workflow, поэтому потенциал их использования зависит от конкретного случая. Так, токен Actions_Runtime_Token, используемый GitHub для кеширования и управления артефактами, обычно действует в течение шести часов, поэтому окно для его эксплуатации невелико. Однако другие секреты и токены, включая API-ключи или токены доступа к облачным сервисам, могут иметь разный срок действия — от нескольких минут до бесконечности.


В своем отчете эксперты разобрали сценарий атаки, который позволяет выявить проекты или публичные репозитории, использующие GitHub Actions, и затем, с помощью автоматизированных скриптов просканировать их на предмет критериев, повышающих вероятность создания артефактов.


Другой набор скриптов позволяет автоматически загружать артефакты из CI/CD конвейеров целевых репозиториев (что совсем несложно в случае с публичными репозиториями),  а затем проверять их на наличие секретов.


В рамках этого исследования специалисты Palo Alto Networks обнаружили 14 крупных опенсорсных проектов, допустивших подобные утечки. Эксперты сообщили о своих находках разработчикам, которые устранили проблемы в:



  • Firebase (Google)

  • OpenSearch Security (AWS)

  • Clair (Red Hat)

  • Active Directory System (Adsys) (Canonical)

  • JSON Schemas (Microsoft)

  • TypeScript Repos Automation, TypeScript Bot Test Triggerer, Azure Draft (Microsoft)

  • CycloneDX SBOM (OWASP)

  • Stockfish

  • Libevent

  • Guardian для Apache Kafka (Aiven-Open)

  • Git Annex (Datalad)

  • Penrose

  • Deckhouse

  • Concrete-ML (Zama AI)


В заключение эксперты рекомендуют пользователям GitHub избегать включения целых директорий в загружаемые артефакты, проводить очистку логов и регулярно проверять конфигурации CI/CD-конвейеров. А настройки для потенциально опасных действий (таких как actions/checkout), стоит скорректировать таким образом, чтобы учетные данные не сохранялись.


Исследователи Palo Alto Networks обнаружили, что в ряде крупных проектов с открытым исходным кодом (включая проекты Google, Microsoft, AWS и Red Hat), происходят утечки токенов аутентификации GitHub. Проблема связана с артефактами GitHub Actions в рабочих процессах CI/CD. Злоумышленники могут похитить эти токены и получить доступ к приватным репозиториям, украсть исходный код или внедрить вредоносный код в проекты. Хотя многие владельцы репозиториев уже приняли меры для устранения утечки, в целом проблема остается неисправленной, поскольку разработчики GitHub возлагают ответственность за защиту артефактов на самих пользователей. Артефакт, созданный GitHub Actions В своем отчете эксперты рассказывают, что совокупность факторов, включая небезопасные настройки по умолчанию, некорректные настройки пользователей и недостаточные проверки безопасности, могут приводить к утечке токенов GitHub. Такие атаки в компании назвали ArtiPACKED. Общая схема атаки ArtiPACKED Первой была обнаружена проблема, связанная с действием actions/checkout, которое обычно используется в GitHub workflow для клонирования кода репозитория, чтобы тот был доступен в ходе выполнения рабочего процесса. По умолчанию это действие сохраняет токен GitHub в локальном скрытом каталоге .git, что необходимо для аутентифицированных операций. Если же пользователь по ошибке загрузит весь каталог checkout как часть артефакта, токен GitHub в папке git окажется скомпрометирован. Другая конфиденциальная информация, которая так же может содержаться в этой директории, это ключи API, токены доступа для облачных сервисов и учетные данные для различных аккаунтов. Аналогичная ошибка, связанная с загрузкой артефактов, может возникнуть и с артефактами, создаваемыми в процессе CI/CD (к примеру, результаты сборки и тестирования, которые хранятся и остаются доступны до трех месяцев). Утекший токен Вторая обнаруженная специалистами проблема связана с конвейерами CI/CD, которые используют переменные окружения для хранения токенов GitHub. Если действия (actions) или скрипты в рамках рабочего процесса целенаправленно или по ошибке логируют эти переменные, а логи загружаются в качестве артефактов. Эксперты отмечают, что действие super-linter может создавать подробные логи, если CREATE_LOG_FILE установлено в значение True. По словам специалистов, в результате злоумышленники будут стремиться использовать специфические ситуации состояния гонки, когда эфемерные токены GitHub нужно успеть извлечь из логов и использовать до истечения срока их действия. Токены GitHub остаются действительными в течение всего workflow, поэтому потенциал их использования зависит от конкретного случая. Так, токен Actions_Runtime_Token, используемый GitHub для кеширования и управления артефактами, обычно действует в течение шести часов, поэтому окно для его эксплуатации невелико. Однако другие секреты и токены, включая API-ключи или токены доступа к облачным сервисам, могут иметь разный срок действия — от нескольких минут до бесконечности. В своем отчете эксперты разобрали сценарий атаки, который позволяет выявить проекты или публичные репозитории, использующие GitHub Actions, и затем, с помощью автоматизированных скриптов просканировать их на предмет критериев, повышающих вероятность создания артефактов. Другой набор скриптов позволяет автоматически загружать артефакты из CI/CD конвейеров целевых репозиториев (что совсем несложно в случае с публичными репозиториями), а затем проверять их на наличие секретов. В рамках этого исследования специалисты Palo Alto Networks обнаружили 14 крупных опенсорсных проектов, допустивших подобные утечки. Эксперты сообщили о своих находках разработчикам, которые устранили проблемы в: Firebase (Google) OpenSearch Security (AWS) Clair (Red Hat) Active Directory System (Adsys) (Canonical) JSON Schemas (Microsoft) TypeScript Repos Automation, TypeScript Bot Test Triggerer, Azure Draft (Microsoft) CycloneDX SBOM (OWASP) Stockfish Libevent Guardian для Apache Kafka (Aiven-Open) Git Annex (Datalad) Penrose Deckhouse Concrete-ML (Zama AI) В заключение эксперты рекомендуют пользователям GitHub избегать включения целых директорий в загружаемые артефакты, проводить очистку логов и регулярно проверять конфигурации CI/CD-конвейеров. А настройки для потенциально опасных действий (таких как actions/checkout), стоит скорректировать таким образом, чтобы учетные данные не сохранялись.

Другие новости


Рекомендуем

Комментарии (0)




Уважаемый посетитель нашего сайта!
Комментарии к данной записи отсутсвуют. Вы можете стать первым!