Исследователи обнаружили уязвимость в ИИ-помощнике Gemini CLI компании Google, которая позволяла незаметно выполнять вредоносные команды и похищать данные с компьютеров разработчиков с помощью программ из списка разрешенных.

Gemini CLI, запущенный Google 25 июня 2025 года, представляет собой инструмент командной строки и позволяет разработчикам напрямую взаимодействовать с Gemini через терминал. Утилита предназначена для помощи в задачах, связанных с программированием: загружает проектные файлы в «контекст» и позволяет работать с LLM на естественном языке.

Этот инструмент может давать рекомендации и предлагать решения, писать код и даже выполнять команды локально — либо после получения разрешения пользователя, либо автоматически, если команда есть в списке разрешенных.

27 июня специалисты из компании Tracebit уведомили Google об уязвимости в Gemini CLI. Проблему устранили в версии 0.1.14, которая вышла на прошлой неделе, 25 июля.

Исследователи рассказывают, что начали изучать инструмент сразу после его релиза и выяснили, что он может выполнить вредоносные команды. В сочетании с UX-проблемами, это могло привести к скрытым атакам на выполнение кода.

Эксплойт экспертов был основан на том, как Gemini CLI обрабатывает «контекстные» файлы (такие как README.md и GEMINI.md), которые подставляются в промпт для лучшего понимания кода.

В Tracebit продемонстрировали, что в такие файлы можно незаметно внедрить вредоносные инструкции через инъекцию промптов, а плохо реализованный синтаксический анализ команд и обработка списков разрешений в итоге создают возможность для выполнения вредоносного кода.

В рамках демонстрации атаки исследователи создали репозиторий с безобидным скриптом на Python и вредоносным файлом README.md, после чего запустили сканирование через Gemini CLI. Сначала ИИ получил инструкцию на выполнение команды grep ^Setup README.md (безопасная), а затем — команду для эксфильтрации данных, которую Gemini CLI считал доверенной и выполнял без запроса на подтверждение.

Хотя команда выглядела как grep, после точки с запятой (;) содержалась отдельная инструкция — на передачу переменных окружения пользователя (возможно, с токенами и секретами) на удаленный сервер. Но поскольку пользователь разрешил grep, вся команда считалась безопасной для автоматического выполнения.

«Gemini считает это командой grep и выполняет ее без повторного запроса у пользователя, — пояснили в Tracebit. — Но на деле это grep, а затем — команда на скрытую эксфильтрацию всех переменных окружения пользователя (возможно, содержащих секреты)».

Исследователи отметили, что злоумышленник мог использовать любую вредоносную команду: от развертывания реверс-шелла до удаления файлов. Кроме того, вывод Gemini можно визуально замаскировать пробелами, чтобы скрыть вредоносную часть и не вызвать подозрений у пользователя.

Хотя эксплойт требует, чтобы пользователь предварительно добавил команды в allow-list, настойчивые злоумышленники все равно могли добиться успеха, подчеркивают эксперты.

Пользователям Gemini CLI рекомендуется как можно скорее обновиться до версии 0.1.14 и избегать запуска инструмента на незнакомых или ненадежных кодовых базах, либо делать это только в изолированной среде.

Также исследователи Tracebit протестировали эту технику атак на других похожих инструментах, включая OpenAI Codex и Claude от Anthropic. В них эксплоит оказался невозможен, благодаря использованию более надежных механизмов разрешений.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии