Уязвимость в GitHub Actions обнажила серьёзный риск для Snowflake: недобросовестные пользователи могли использовать специально подготовленные GitHub-мероприятия для выполнения команд в системах, содержащих внутренние данные аккаунта Jira.
Предыстория уязвимости
Баг был обнаружен в репозитории snowflakedb/snowflake-connector-net, который относится к открытым проектам компании Snowflake. Уязвимость заключалась в восприятии открытых GitHub-опросов как валидных, с последующим включением внутренних учётных данных Jira в рабочие процессы. Так, если пользователь создавал публичную проблему, то внутренние креды JIRA_BASE_URL, JIRA_USER_EMAIL и JIRA_API_TOKEN становились доступны для выполнения команд в workflow, что создавало риск несанкционированного доступа.
Используя свою технологию Red Agent, исследователи кибербезопасности Wiz смогли повторно использовать уязвимость, получив сам токен Jira — qa@snowflake.net, который предоставлял права доступа к проектам Jira, связанным с инженерными задачами и безопасностью.
Влияние на компанию
В ходе расследования Snowflake не обнаружил фактов несанкционированного доступа. Однако, уязвимость была закрыта в тот же день, когда её сообщили через HackerOne. Исправление, внесённое в pull request #1402, заменило уязвимые выдачи на среду переменных. Уязвимый workflow попал в основную ветку репозитория всего за пять дней до исправления, что ставит под сомнение безопасность процессов CI/CD.
Это также демонстрирует, как уровень автоматизации в современных GitHub Actions может стать лазейкой для злоумышленников, если не соблюдать осторожность при работе с внешними данными и переменными окружения.
Актуальность для разработчиков
Для разработчиков из России и СНГ этот инцидент служит важным сигналом о необходимости более строгого контроля безопасности, прежде всего в CI/CD процессах. Учитывая растущую популярность GitHub Actions среди разработчиков, важно обучать команды методам защиты от подобного рода уязвимостей и следовать рекомендациям по безопасному исполняемому коду, чтобы минимизировать риски утечек.
Будущее же зависит от регулярных аудитов и проверок кода, чтобы устранить возможные проблемы до того, как они смогут быть использованы злоумышленниками.