Copilot Autofix открыл путь в Jira Snowflake: ошибку нашёл автономный ИИ-агент
В одном из публичных репозиториев Snowflake изменение с участием GitHub Copilot Autofix открыло путь к выполнению команд в GitHub Actions. Исследовательский агент Wiz обнаружил проблему через пять дней после появления кода, подтвердил доступ к внутренней Jira и передал отчёт компании. Snowflake заявила, что закрыла уязвимость в день сообщения, отозвала токен и не нашла признаков постороннего доступа.
Ошибка была в workflow, который создавал задачу в Jira при открытии GitHub Issue. В коммите от 18 июня безопасная схема обработки заголовка — через переменную окружения и jq — исчезла. Вместо неё в shell-скрипт напрямую подставлялся заголовок Issue. Достаточно было специального символа в этом заголовке, чтобы выйти из строки и выполнить произвольную команду на runner.
Защитный фильтр оказался пустой формальностью
Workflow был доступен любому пользователю GitHub, который открывает Issue. В нём также стояло условие, призванное отсечь бота, но оно проверяло поле pull request в событии Issue. Это поле там всегда пустое, поэтому условие фактически пропускало всех.
Wiz пишет, что его агент сначала получил синтаксическую ошибку при проверке гипотезы, разобрал её и самостоятельно изменил полезную нагрузку. После этого он получил токен, дававший доступ на чтение к проектам Snowflake в Jira. В исходном коммите GitHub прямо указан соавтор: Copilot Autofix powered by AI.
Где ломается удобная история про «автоисправление»
Сама по себе отметка ИИ в коммите не доказывает, что человек не просмотрел код: авторы изменения тоже несут ответственность за него. Но этот случай хорошо показывает риск в другом месте. Генератор кода может убрать старую, на первый взгляд громоздкую защиту, не зная, зачем она была нужна.
Для команд, которые поручают агентам правки CI/CD, полезное правило очень приземлённое: данные из Issue, pull request и других внешних событий нельзя подставлять в shell как текст. Проверки шаблонов, статический анализ и обязательное ревью workflow нужны не после инцидента, а до слияния. Когда уязвимости ищут тоже агенты, пятидневное окно уже нельзя считать комфортным.
- wiz.ioRed Agent Exploits Snowflake Vuln Created by Copilot Autofix | Wiz Blog
- github.comSNOW-2069227 : Update jira workflows (#1218) · snowflakedb/snowflake-connector-net@4a1b8ce
- github.comNO-SNOW adjust jira yml files (#1402) · snowflakedb/snowflake-connector-net@1dc7766
- news.ycombinator.comAI-Generated GitHub Copilot “Autofix” Allowed Compromise of Snowflake’s Jira | Hacker News













