Експерти з кібербезпеки компанії Tracebit виявили критичну вразливість в інструменті Google Gemini CLI, яка дозволяла зловмисникам виконувати шкідливі команди на комп’ютерах розробників. Цей інцидент яскраво демонструє нові виклики безпеки, пов’язані з впровадженням штучного інтелекту в середовища розробки програмного забезпечення.
Архітектура загроз у Gemini CLI
Google представив Gemini CLI 25 червня 2025 року як революційний інструмент для взаємодії розробників з великою мовною моделлю через командний рядок. Основна функціональність утиліти полягає в автоматизації завдань програмування: вона завантажує файли проекту в контекст ШІ та забезпечує роботу з моделлю природною мовою.
Критична особливість інструменту – можливість виконання команд безпосередньо в локальній системі. Це відбувається після отримання дозволу користувача або автоматично, якщо команда входить до попередньо налаштованого списку дозволених операцій. Саме ця функціональність стала джерелом серйозних ризиків безпеки.
Техніка атаки через prompt injection
Дослідники виявили уразливість лише через два дні після релізу – 27 червня. Проблему було усунуто у версії 0.1.14, випущеній 25 липня, що свідчить про оперативну реакцію Google на загрозу.
Експлойт базувався на недоліках обробки контекстних файлів – документів типу README.md та GEMINI.md, які автоматично включаються в промпт для покращення розуміння коду ШІ-моделлю. Атакуючі могли впроваджувати шкідливі інструкції через техніку prompt injection у ці, здавалося б, безпечні файли.
Деталі реалізації атаки
У рамках proof-of-concept експерти створили репозиторій з простим Python-скриптом та спеціально підготовленим файлом README.md. При скануванні через Gemini CLI ШІ спочатку отримував інструкцію виконати безпечну команду grep ^Setup README.md
, а потім – приховану команду для викрадення даних.
Найнебезпечнішим аспектом цієї атаки є використання символу крапки з комою (;) для об’єднання команд. Хоча користувач дозволяв виконання нешкідливої команди grep, після роздільника приховувалася інструкція для передачі змінних середовища на віддалений сервер зловмисника.
Спектр потенційних загроз
Уразливість відкривала широкі можливості для кіберзлочинців. Окрім викрадення конфіденційної інформації, атакуючі могли:
- Розгорнути reverse shell для віддаленого керування системою
- Видалити критично важливі файли проекту
- Встановити додаткове шкідливе програмне забезпечення
- Отримати постійний доступ до робочого середовища розробника
Особливу небезпеку становила можливість візуального маскування шкідливого коду за допомогою пробілів та спеціальних символів, що робило атаку практично непомітною для користувача.
Порівняльний аналіз безпеки ШІ-інструментів
Дослідники Tracebit протестували аналогічні техніки атак на інших ШІ-інструментах розробки, включаючи OpenAI Codex та Claude від Anthropic. У цих системах експлойт виявився неефективним завдяки більш надійним механізмам управління дозволами та кращій ізоляції команд, що виконуються.
Стратегії захисту та мітигації ризиків
Користувачам Gemini CLI настійно рекомендується негайно оновитися до версії 0.1.14 або пізнішої. Додаткові заходи безпеки включають:
- Уникнення використання інструменту на невідомих або ненадійних кодових базах
- Запуск Gemini CLI виключно в ізольованих середовищах при роботі з зовнішніми проектами
- Регулярний аудит списку дозволених команд
- Ретельний аналіз усіх операцій перед наданням дозволів
Цей інцидент підкреслює критичну важливість комплексного підходу до безпеки при інтеграції ШІ-технологій в інструменти розробки. Розробникам слід з обережністю ставитися до автоматичного виконання команд ШІ-помічниками та завжди застосовувати принцип мінімальних привілеїв. Регулярне оновлення інструментів та дотримання рекомендацій виробників залишається фундаментальним для підтримки високого рівня кібербезпеки в сучасному середовищі розробки програмного забезпечення.