Google выпустила исправления для Gemini CLI и GitHub Action run-gemini-cli после критической уязвимости с оценкой 10 из 10 по CVSS. Проблема получила идентификатор GHSA-wpqr-6v78-jr5g, CVE для неё пока не назначен. Под удар попадали сценарии, где Gemini CLI запускался в автоматическом режиме внутри CI/CD, например при проверке pull request.
Суть бага — в доверии к рабочей папке. Старые версии Gemini CLI в headless-режиме автоматически считали текущий каталог безопасным и могли загружать локальные настройки из .gemini/, включая переменные окружения. Если злоумышленник мог добавить файлы в рабочую директорию через pull request или другой недоверенный ввод, это открывало путь к удалённому выполнению команд на хосте CI/CD.
Отдельно исправили поведение режима --yolo: раньше при его использовании Gemini CLI мог игнорировать детальный список разрешённых инструментов. При наличии run_shell_command это создавало риск выполнения лишних команд через prompt injection в workflow, работающих с недоверенным содержимым.
Исправления вышли в @google/gemini-cli 0.39.1, 0.40.0-preview.3 и google-github-actions/run-gemini-cli 0.1.22. Версии ниже этих релизов считаются уязвимыми. Пользователям, которые закрепляли конкретную версию Gemini CLI через gemini_cli_version, нужно обновить её вручную и проверить настройки workflow.
Gemini CLI GitHub Actions используется для автоматической проверки pull request, сортировки issues и задач по команде @gemini-cli в репозитории. Инструмент работает с контекстом проекта и может вызывать внешние CLI, включая GitHub CLI, поэтому ошибка в модели доверия сразу становится риском для цепочки поставки кода.
При успешной эксплуатации атакующий получает доступ к секретам CI/CD (tokens, credentials); приватному исходному коду; инфраструктуре сборки; возможностям изменения билдов и артефактов. Такие атаки опасны тем, что распространяются дальше — через зависимости, пакеты и обновления.
Рекомендации для команд: обновить пакеты, проверить workflow с Gemini CLI, включить явное доверие только для проверенных источников, не запускать агента с правами шире нужных, хранить ключи в GitHub Secrets, использовать Workload Identity Federation там, где это возможно, и закреплять версии Action. Эти меры уже есть в официальных рекомендациях проекта по безопасной эксплуатации.
Gemini CLI — не первый случай. Ранее исследователи демонстрировали как AI-CLI-агенты могут выполнять команды через prompt injection, читать локальные файлы и переменные, выполнять скрытые инструкции из README или конфигураций. Новая уязвимость показывает следующий этап — атаки уже идут через CI/CD и цепочки поставок.
ИИ-агенты в CI/CD нужно защищать как полноценные исполняемые компоненты, а не как «умные комментарии к коду». Агент, который читает pull request и может запускать команды, фактически становится частью сборочного контура.
Уязвимость касается:
-
@google/gemini-cliдо версии 0.39.1 -
GitHub Action run-gemini-cliдо версии 0.1.22
Риск максимален в автоматизированных средах без ручного контроля — GitHub Actions, CI runners, build-серверы.
Есть новость? Станьте автором.
Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.