✔Уязвимость ИИ-помощника Gemini CLI позволяла выполнить произвольный код - «Новости»
Исследователи обнаружили уязвимость в ИИ-помощнике 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. В них эксплоит оказался невозможен, благодаря использованию более надежных механизмов разрешений.