Потенциальная угроза: мисконфигурации в GitHub Actions

Исследование GReAT выявило ~250 000 потенциальных проблем с безопасностью в публично доступных GitHub Actions.

250 000 мисконфигураций в GitHub Actions

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

В частности, опасность может скрываться в GitHub Actions, сценариях автоматизации, позволяющих создавать пайплайны непрерывной интеграции и доставки (CI/CD). Ошибки и мисконфигурации в них периодически используются злоумышленниками в реальных атаках. Характерным примером может служить недавняя вредоносная кампания Mini Shai-Hulud. Да, она тоже началась с компрометации мейнтейнера популярного проекта, но распространяемый в ходе этой кампании зловред похищал секреты, именно используя недочет в GitHub Actions.

Наши эксперты из Глобального центра исследования и анализа угроз (Global Research and Analysis Team, GReAT), используя новый набор правил для Kaspersky Container Security, провели исследование безопасности GitHub Actions в 30 тысячах популярных репозиториев GitHub. Если коротко, то только в 10% этих репозиториев пайплайны автоматизации не вызвали никаких вопросов.

Подробные результаты исследования

В общей сложности правила, реализованные в рамках последнего релиза KCS, были использованы для сканирования 130 000 пайплайнов. Они позволили обнаружить более 250 000 потенциальных отклонений от рекомендаций по безопасной настройке CI/CD-процессов. Разумеется, сами по себе эти отклонения нельзя считать уязвимостями, однако они указывают на области, где конфигурация может требовать дополнительной проверки и более аккуратной настройки.

Среди этих 250 тысяч отклонений 59,8% можно отнести к низкому уровню опасности, а 39,8% — к среднему. Но в 0,4% случаев встречались и более серьезные мисконфигурации, которые наши технологии отнесли к высокому уровню риска. Более того, критические недочеты, встреченные в восьми репозиториях, потенциально могут послужить причиной компрометации цепочки поставок. Затронутые репозитории охватывали широкий спектр сценариев использования, включая интеграцию ИИ в корпоративных средах, сервисы для разработчиков и автоматизации, а также инструменты для тестирования безопасности. Разумеется, наши эксперты сообщили о критических проблемах мейнтейнерам соответствующих репозиториев.

Вот наиболее часто встречавшиеся недочеты, обнаруженные в проверенных GitHub Actions:

  • неявно заданные или чрезмерно широкие права доступа;
  • отсутствие фиксации версий используемых компонентов;
  • настройки, примененные на уровне всего workflow.

Кроме того, были найдены и более опасные паттерны: использование секретов на верхнем уровне, потенциально небезопасные условия запуска и рискованная обработка внешних данных. Но они, к счастью, встречались гораздо реже.

Как оставаться в безопасности

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

Поиск мисконфигураций в GitHub Actions.

Поиск мисконфигураций в GitHub Actions.

Вышеупомянутый набор правил, использовавшийся в этом исследовании, с последним обновлением стал доступен пользователям Kaspersky Container Security. С его помощью наше решение может выявлять мисконфигурации в GitHub Actions как методом сканирования репозитория, так и будучи встроенным непосредственно в CI/CD-пайплайны. Узнать больше о решении KSC можно на его официальной странице.

Советы

Как отключить слежку в iOS?

У вас есть iPhone, iPad или iPod? Потратьте несколько минут на настройку служб геолокации, чтобы сэкономить заряд батареи и сохранить конфиденциальность перемещений.