Ошибка ИИ в коде Snowflake

Использование GitHub Copilot Autofix привело к появлению критической уязвимости в репозитории snowflake-connector-net. 18 июня 2026 года ИИ-бот предложил исправление для GitHub Actions workflow, которое удалило защитный механизм обработки входных данных. Вместо безопасной передачи заголовка issue через переменные окружения и утилиту jq, предложенный код использовал прямую подстановку строк в shell-скрипт. Это позволило злоумышленникам внедрять произвольные команды через заголовок GitHub issue.

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

Эксплуатация автономным агентом

5 июля 2026 года автономный исследовательский агент Red Agent от компании Wiz Research обнаружил и успешно эксплуатировал эту брешь. Сначала попытка провалилась из-за синтаксической ошибки, но агент проанализировал вывод ошибки и самостоятельно переписал полезную нагрузку. В итоге агент смог извлечь из окружения runner-а переменные JIRA_API_TOKEN, JIRA_USER_EMAIL и JIRA_BASE_URL, отправив их на внешний сервер.

Полученный токен обеспечивал доступ к проектам Snowflake в Atlassian (Jira), включая разделы инженерии, безопасности и отслеживания багов. Исследование Wiz подтвердило, что уязвимость позволяла получить доступ к данным через публичный триггер создания issue.

Реакция и устранение последствий

Snowflake оперативно отреагировала на отчет Wiz, полученный через программу HackerOne. 23 июня 2026 года компания внедрила исправление, вернув безопасный метод обработки данных через jq. На следующий день был отозван и обновлен скомпрометированный токен Jira.

Согласно аудиту Snowflake, за пятидневный период существования уязвимости посторонние лица не заходили в системы. Компания подтвердила, что инцидент был локализован, а данные, полученные агентом Wiz в рамках proof-of-concept, были безопасно удалены.