Хотели как лучше, а получился RCE. Что не так с новым амбициозным проектом IBM

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


cb5o1me5d81vz7hy2f4ej7j4kz31q5us.jpg

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

Речь про инструмент Bob , который IBM анонсировала в октябре и тестирует в двух форматах: как командную строку и как IDE, то есть отдельный агентный режим для терминала и интеграцию внутри среды разработки. Исследователи из PromptArmor изучили Bob до публичного релиза и заявили, что CLI можно провести через prompt injection так, что в итоге на машине жертвы выполнится произвольная нагрузка. А IDE, по их словам, уязвима к типичным для ИИ-приложений сценариям утечки данных, когда информацию можно увести через особенности рендеринга и сетевые запросы.

Проблема здесь не только в одном продукте IBM. Агентные ИИ-системы , которым дают доступ к инструментам и разрешают действовать шаг за шагом, давно считаются рискованными. Исследователи вроде Иоганна Ребергера не раз показывали , как такие агенты можно ломать через подмену инструкций, джейлбрейки или вполне классические уязвимости, приводящие к выполнению кода. На практике многие вендоры признают это косвенно, предлагая простую страховку: человек должен подтверждать опасные действия вручную.

IBM, судя по документации, тоже на это рассчитывает. В материалах компании есть предупреждение: если разрешить агенту автоматически выполнять команды из списка рискованных, это может привести к вредоносным операциям. В качестве меры предлагается использовать allow-list и избегать шаблонов с wildcard, ожидая, что в спорных случаях агент спросит у пользователя, можно ли запускать команду.