Исследователи в области безопасности обнаружили уязвимость внедрения подсказок (prompt injection) в среде разработки (IDE) Antigravity от Google, которую можно использовать для обхода защиты песочницы и достижения удаленного выполнения кода (RCE).
Проблема возникла из-за того, что Antigravity позволяла ИИ-агентам вызывать нативные функции, например, поиск файлов, от имени пользователя. Эта функция, призванная снизить сложность, могла позволить злоумышленникам внедрять вредоносный ввод в параметр инструмента.
По данным исследователей из Pillar Security, уязвимость могла обойти «самую строгую конфигурацию безопасности» Antigravity — Безопасный режим (Secure Mode).
Об уязвимости сообщили в Google в январе; компания признала проблему и устранила ее внутренними силами, выплатив Pillar Security вознаграждение в рамках Программы поощрения за обнаружение уязвимостей (VRP) для категорий, связанных с ИИ. Google не предоставила немедленных комментариев CSO.
Поиск файлов можно было превратить в выполнение кода
Вектор внедрения подсказок, использованный Pillar, опирался на инструмент Antigravity «find_my_name» и встроенную в него утилиту «fd». find_my_name — один из встроенных инструментов агента Antigravity, который позволяет ИИ искать файлы и каталоги в рабочем пространстве проекта с помощью команды fd.
Любая строка, начинающаяся с «-», интерпретировалась утилитой fd как флаг, а не как шаблон поиска, что позволяло выполнять бинарные файлы внутри файлов, соответствующих шаблону «-Xsh». «Этот метод использует недостаточность очистки входных данных в параметре Pattern инструмента find_by_name, позволяя злоумышленникам внедрять флаги командной строки во встроенную утилиту fd, превращая операцию поиска файлов в произвольное выполнение кода», — заявили исследователи в посте в блоге.
По сути, вместо простого нахождения файлов, «fd» можно было обманом заставить выполнять бинарные файлы, предоставленные злоумышленником, в этих файлах с помощью специально сформированной подсказки, манипулирующей параметром «Pattern». Исследователи продемонстрировали это, создав файл в локальном каталоге с вредоносной подсказкой для эксплуатации внедренного «pattern». Antigravity обнаружил файл, выполнил запланированные задачи (например, запуск Калькулятора), а также запустил инструмент поиска, настроенный на выполнение шаблонов «-Xsh».
Это также можно было превратить в удаленное выполнение кода посредством косвенного внедрения подсказок. «Пользователь загружает безобидно выглядящий исходный файл из ненадежного источника, например, из публичного репозитория, содержащий комментарии, контролируемые злоумышленником, которые предписывают агенту подготовить и запустить эксплойт», — пояснили исследователи.
Самое неприятное заключалось в том, что существующая защита не могла это остановить.
Песочница Google не сработала
Безопасный режим Antigravity, предназначенный для ограничения сетевого доступа, предотвращения записи за пределы рабочего пространства и обеспечения того, чтобы все командные операции выполнялись строго в контексте песочницы, не смог обнаружить или изолировать эту технику. Это связано с тем, что вызов инструмента find_my_name происходит задолго до оценки ограничений Безопасного режима.
«Агент рассматривает это как вызов нативного инструмента, а не как команду оболочки, поэтому он никогда не достигает границы безопасности, которую обеспечивает Безопасный режим», — отметили исследователи.
Проблема свелась к двум основным причинам. «Отсутствие проверки входных данных» в параметре Pattern, который принимает произвольные строки без проверки на допустимые символы шаблона поиска. Вторая причина — «отсутствие терминации аргументов», что означает неспособность fd различать флаги и поисковые термины. Google уже устранила уязвимость внутренне, и пользователям Antigravity не нужно предпринимать никаких дополнительных действий для защиты. Однако исследователи Pillar подчеркивают, что способность уязвимости обходить Безопасный режим свидетельствует о недостаточности мер безопасности, ориентированных на команды оболочки. «Индустрии необходимо перейти от мер, основанных на очистке, к изоляции выполнения», — заявили они. «Каждый параметр нативного инструмента, достигающий команды оболочки, является потенциальной точкой внедрения».
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Shweta Sharma




