
Исследователи в области безопасности при тестировании нового поколения AI‑агентов для написания кода предупреждают, что мелкие проектные решения — например, порядок подтверждения команд, способ отображения markdown и реализация защитных механизмов — могут незаметно открывать пути для выполнения вредоносного кода и утечек данных. Риски сохраняются даже в инструментах, рассчитанных на участие человека в контроле.
IBM представила «Bob» — AI‑агента для разработчиков, который позиционируется как партнёр, понимающий намерения программиста, репозитории и стандарты безопасности. Анонсирован в октябре прошлого года и находящийся в закрытой бете, Bob доступен в виде интерфейса командной строки и интегрированной среды разработки, похожей на популярные редакторы с AI‑поддержкой.
До массового релиза специалисты из PromptArmor проверили защиту Bob и выявили уязвимости, позволяющие манипулировать системой через инъекции подсказок и использовать компонент IDE для извлечения данных. По их оценке, эти проблемы дают злоумышленникам дополнительные векторы атаки.
Проблемы, по словам исследователей, связаны не с одной единственной ошибкой, а с тем, как Bob интерпретирует и подтверждает последовательности команд при работе с ненадёжным содержимым, например открытыми репозиториями или документацией. Особое внимание вызвали механизмы автоматического утверждения команд и их контекстная обработка.
Один из описанных сценариев атаки касается использования команды echo в markdown‑файле README, где встречались последовательные вызовы этой команды. Первые два вызова срабатывали как ожидалось: Bob запрашивал подтверждение пользователя и предлагал опцию «всегда разрешать» для последующих запусков.
В третьем случае echo использовалась как оболочка для загрузки вредоносного скрипта. Если команда была ранее помечена как «всегда разрешать», вредоносная нагрузка могла быть скачана и выполнена без дополнительного согласия пользователя.
Исследователи также обнаружили, что агент не всегда распознаёт случаи, когда несколько подкоманд объединяются с помощью оператора перенаправления ‘>’, что позволяет запускать целые наборы инструкций под видом одной утверждённой команды. В результате злоумышленники могут запускать программы‑вымогатели, похищать учётные данные или получить контроль над машиной разработчика, действуя в рамках видимых правил разрешённых команд.
Кроме исполнения команд, был выявлен риск бескликовой утечки данных, связанный с IDE Bob. Среда рендерит изображения из markdown в выводе модели с политикой безопасности контента, допускающей исходящие сетевые запросы, что может позволять фиксировать сетевые конечные точки и извлекать данные через предварительно запрошенные JSON‑схемы без прямого взаимодействия пользователя.
Bob блокирует некоторые распространённые приёмы оболочки, например подстановку команд вида $(command), но, по данным исследователей, не учитывает подстановку процессов. Они связывают этот пробел с ошибкой в минифицированном JavaScript, лежащем в основе логики агента.
В документации IBM отмечается, что агенты с доступом к инструментам несут повышенные риски; компания рекомендует использовать явные списки разрешённых команд, избегать шаблонов‑джокеров и ожидать запросов подтверждения при потенциально опасных операциях. Тем не менее исследователи предупреждают, что эти рекомендации не всегда обеспечивают защиту на практике.
Шанкар Кришнан, управляющий директор PromptArmor, указал, что процесс «человек в петле» иногда подтверждает лишь поверхностно безопасную команду, в то время как под ней выполняются более чувствительные инструкции. По его словам, это подчёркивает необходимость более строгих механизмов проверки и проектирования AI‑агентов.


Комментариев