Google Безопасность Данные и безопасность
GitHub оспаривает заявление компании Wiz о том, что Copilot Autofix допустила уязвимость в Snowflake
В понедельник компания, занимающаяся вопросами безопасности, заявила, что искусственный интеллект внедрил критическую уязвимость в код компании Snowflake, а другой ИИ обнаружил ее и совершил взлом. Вторая часть подтвердилась. Первая же рассыпалась примерно через восемь часов.
То, что осталось, все равно заслуживает вашего внимания. Просто это совсем не та история, которая облетела весь мир.
Что на самом деле сделал агент
Wiz Research управляет автономным инструментом, который они называют Red Agent. Он просканировал организацию Snowflake на GitHub в рамках программы раскрытия уязвимостей HackerOne компании и обнаружил файл рабочего процесса (workflow) в публичном репозитории .NET-коннектора Snowflake.
Этот рабочий процесс запускался каждый раз, когда кто-то открывал тикет (issue). Он подставлял заголовок тикета прямо в командную строку (shell-скрипт). Любой аккаунт из интернета мог получить к нему доступ.
Экранирование было настроено в неправильном порядке. Шаблонизатор GitHub сначала подставлял заголовок, а команды, предназначенные для его очистки, выполнялись уже после этого. В результате одиночная кавычка в заголовке позволяла выйти за пределы строки оболочки.
Условие защиты выглядело надежным. Оно сравнивало свойство pull request с именем бота, но для событий тикетов такого свойства просто не существует. GitHub оценивает отсутствующее свойство как пустую строку, поэтому сравнение всегда возвращалось как истинное, и любой пользователь беспрепятственно проходил дальше.
А теперь самая важная часть. Первый полезный нагрузочный блок (payload) Red Agent использовал символ решетки, чтобы закомментировать остаток строки, и средство запуска выдало синтаксическую ошибку. Агент прочитал ошибку, понял, что комментарий «проглотил» закрывающую скобку, переписал нагрузку и попытался снова. Обратный вызов поступил за считанные секунды. Никто не притронулся к клавиатуре.
Полученный им токен предоставлял права на чтение для всех инженерных проектов Snowflake, проектов по обеспечению безопасности и соблюдению нормативных требований, а также программ выплаты вознаграждений за найденные ошибки.
Snowflake отреагировала в тот же день
Wiz сообщила об уязвимости 23 июня. Snowflake устранила ее в тот же день, восстановила безопасный шаблон и перевыпустила Jira-токен 24 июня.
Журналы аудита сопоставили каждый аномальный запрос с собственными тестовыми адресами Wiz. Компания Wiz утверждает, что удалила все, что успела захватить.
«Информация об уязвимости была получена 23 июня 2026 года, мы немедленно провели расследование и устранили проблему. Наше расследование не выявило никаких доказательств несанкционированного доступа», — заявили в Snowflake.
Строка соавтора — результат сжатия коммитов
Вот где произошла ошибка.
В коммите, привнесшем уязвимость в основную ветку, среди соавторов указан «Copilot Autofix при поддержке ИИ». Компания Wiz истолковала это так, будто уязвимый код написал искусственный интеллект. В их собственном посте говорилось, что вектор инъекции был создан коммитом автоисправления ИИ. Большинство новостных изданий повторили эту версию.
The Hacker News изучили коммиты, находящиеся глубже. Коммит, созданный в соавторстве с Copilot, изменял совершенно другой файл. Небезопасный рефакторинг находится в отдельном коммите от 25 августа 2025 года, который GitHub связывает с конкретным инженером Snowflake.
Процедура сжатия (squash) объединяет все коммиты в pull request в один. Строка соавтора попала туда автоматически. Она фиксирует участие в оформлении pull request, а не авторство строк, в которых содержалась ошибка. Репортер Свати Хандельвал выразилась предельно ясно: история подтверждает, что Copilot принимал участие, но не доказывает, что именно он написал уязвимость.
Ответ GitHub
GitHub провела внутреннее расследование и отвергла такую трактовку событий. По ее заявлению, вклад, приведший к уязвимости, был написан человеком, а Copilot Autofix этот код ни проверял, ни писал.
Компания Wiz смягчила тон своего поста тем же вечером. В обновление, датированное 19:57 по всемирному координированному времени (UTC), теперь добавлено утверждение, что Copilot был соавтором, который проверил слияние pull request и одобрил его, не заметив уязвимости. Затем следует фраза, которая полностью перечеркивает броский заголовок: «Неясно, создавался ли измененный код с помощью ИИ».
The Register к тому моменту уже опубликовала материал. К полуночи издание изменило свой заголовок с «ИИ взломал код» на «ИИ не смог обнаружить ошибку», а также добавило исправление. Редактор отдела кибербезопасности Джессика Лайонс завершила статью фразой, которую редко встретишь в публикациях о крупных вендорах.
«The Register сожалеет об этой ошибке, обновил данный материал с учетом уточненной информации и еще очень долго не будет доверять Wiz».
Два владельца, которых стоит назвать
Компания Google владеет Wiz. Корпорация Microsoft владеет GitHub, а вместе с ним и Copilot.
Это не делает данное исследование ошибочным. Но это означает, что компания, принадлежащая Google, опубликовала утверждение о том, что продукт Microsoft содержит критическую уязвимость, а затем удалила ключевую часть своего заявления, как только эксперты перепроверили факты.
Что остается в сухом остатке (и это немало)
Если отбросить спорную половину, реальная находка все же остается.
Автономный агент просканировал публичный репозиторий, обнаружил активную инъекцию, написал эксплойт, столкнулся с ошибкой, диагностировал ее, исправил себя и завладел рабочими учетными данными. Уязвимость была активна в течение пяти дней. Это было все доступное окно.
Мы следим за этой тенденцией. Исследователи взломали рабочие процессы Copilot в июле, а другой агент GitHub днем ранее допустил утечку частных репозиториев.
С тех пор обнаруженные искусственным интеллектом уязвимости перешли <реальная эксплуатация>в разряд реальных кибератакреальная эксплуатация> в разряд реальных кибератак. Вчера мы сообщали, что агент создал рабочий эксплойт для уязвимости в macOS всего за четыре часа.
Грег Брокман признал в воскресенье, что OpenAI недооценила возможности собственных моделей именно в этом аспекте. Общее направление развития событий не вызывает сомнений.
Чего факты не показывают
Некоторые аспекты остаются невыясненными, и этот пробел имеет решающее значение, учитывая то, как распространялось первоначальное заявление.
Не существует никакого CVE. Нет оценки по шкале CVSS и нет записи в американском каталоге эксплуатируемых уязвимостей. Проблема крылась в средствах автоматизации репозитория, поэтому ни один релиз коннектора ее не содержал, и нет никаких свидетельств того, что кто-то еще ее использовал.
Журналы аудита Snowflake не являются публичными. То же самое касается разрешений в Jira и выполнения рабочих процессов. Все данные о масштабах инцидента основаны исключительно на заявлениях Snowflake и Wiz.
Еще одна деталь заслуживает упоминания. В июле 2025 года GitHub опубликовала руководство с предупреждением ровно против такого паттерна поведения — за месяц до коммита, который его породил.
Что могло бы поставить точку в споре
Главный полезный вопрос заключается вовсе не в том, какой именно ИИ следует обвинить. Вопрос в том, проверял ли этот фрагмент кода искусственный интеллект от GitHub и пропустил ли он его.
Wiz утверждает, что проверял. GitHub настаивает, что Copilot Autofix вообще не изучал этот код. Оба утверждения не могут быть истинными одновременно, и только у одной из компаний есть логи, которые могли бы это доказать.



