У рамках програми розкриття вразливостей Snowflake на платформі HackerOne, інструмент безпеки Wiz Research під назвою "Red Agent" виявив критичну уразливість у GitHub Actions workflow одного з публічних репозиторіїв Snowflake.
Цей інцидент підкреслює нову реальність у розробці програмного забезпечення: критичні вразливості можуть бути введені та схвалені в рамках робочих процесів, що залучають AI, а автономні AI-агенти безпеки можуть швидко їх виявляти та експлуатувати.
23 червня 2026 року Wiz відповідально повідомив про вразливість, а Snowflake оперативно усунув проблему в той же день, змінивши уразливі облікові дані та перевіривши за допомогою детальних журналів, що Wiz був єдиним учасником під час вікна експозиції. Wiz підтвердив, що всі дані, доступ до яких отримали під час тестування, були безпечно видалені.
Оновлення 17 серпня 2026 року: цей блог уточнює, що Copilot був співавтором, який перевірив зміни коду та не помітив критичних вразливостей. Невідомо, чи була зміна коду підтримана AI.
Короткий підсумок
Wiz Red Agent виявив вразливість ін'єкції скриптів у snowflakedb/snowflake-connector-net. Ця проблема дозволяла неавторизованому користувачу виконувати довільні команди у GitHub Actions runner шляхом відкриття GitHub-issue з ретельно створеним заголовком.
Вразливість стала активною 18 червня 2026 року, всього за п'ять днів до її виявлення, коли PR #1218 був злитий. Останній коміт вказує на “Copilot Autofix powered by AI” як на співавтора. Злитий PR замінив санітизований шаблон введення репозиторію прямою експансією рядків, але AI-огляд безпеки GitHub не виявив критичну вразливість.
Поетапний аналіз експлуатації
Виявлення
CI/CD можливості Wiz Red Agent просканували GitHub Snowflake і вказали на jira_issue.yml як вразливий до ін'єкції скриптів через ненадійне введення у блоках run:.
Зміна коду
Цей робочий процес спрацьовував при issues: opened, тобто будь-який користувач GitHub міг його активувати, відкривши issue, і вставляв заголовок контрольованого зловмисником issue прямо в shell-скрипт.
Експлуатація вразливості виявилася можливою, коли зловмисник вказав заголовок, що, після розширення шаблону, виводився з echo-рядка, дозволяючи виконувати довільні команди.
За кілька секунд наш слухач отримав зворотний виклик від GitHub Actions runner, що містив закодовані у base64 облікові дані.
Виправлення та аудит
Того ж дня виправлення: Snowflake усунув вразливість 23 червня 2026 року, повністю відновивши надійний шаблон env: та парсинг jq --arg.
Відкликання облікових даних: Токен JIRA було відкликано та замінено.
Форенсичний аудит: Комплексний аналіз журналів підтвердив, що сторонні особи не отримували доступу до системи під час 5-денної експозиції.
Ключові висновки
Вимоги до нагляду за генерацією коду AI: Інструменти кодування AI можуть випадково відновлювати застарілі або небезпечні шаблони коду. PR, генеровані AI, повинні проходити таку ж статичну перевірку безпеки, як і код від людей.
Стиснення вікон виявлення: Вразливість була активною лише п'ять днів до її виявлення автоматизованим агентом.
Snowflake висловив вдячність Wiz за відповідальне повідомлення про вразливість і підкреслив, що захист їхніх систем залишається пріоритетом.
Коментарі 0
Коментувати можуть лише зареєстровані користувачі. Приєднуйтесь, щоб залишити коментар.
Увійти або зареєструватись