Критична уязвимост в платформата Dialogflow CX на Google Cloud Platform позволява на атакуващи да внедряват постоянен зловреден код в тръбопровода за разработка на AI чатботове на дадена организация.
Уязвимостта, наречена „Rogue Agent“ и разкрита от Varonis Threat Labs, може тихомълком да източва разговори и да дава възможност за мащабни фишинг кампании, като изисква само единично разрешение за редактиране, за да бъде задействана.
Експлойтът злоупотребява с функцията Playbook Code Blocks в Dialogflow CX, която позволява на разработчиците да вграждат собствена Python логика за обработка на потребителски вход и извикване на външни API в управлявана от Google среда за изпълнение. Всички агенти, използващи Code Blocks в един и същ GCP проект, споделят обща Cloud Run среда. Изследователите установяват, че ключов файл (code_execution_env.py), който изпълнява логиката на кодовите блокове чрез функцията exec() на Python, е бил достъпен за запис и е нямал ограничения за кода.
Чрез презаписване на този файл атакуващият получава достъп до споделени променливи на сесията, като история на разговорите, и може да компрометира обхвата на изпълнение на всеки агент в проекта. За конфигуриране на Code Blocks и изпълнение на произволен Python е необходимо единствено разрешението dialogflow.playbooks.update, което може да бъде ограничено до единичен агент.
Атакуващите могат да извличат данни от разговори към външни сървъри, да подправят легитимните отговори на агента чрез вътрешни функции като respond() и да внедряват фишинг съобщения, маскирани като заявки за повторна автентификация с цел кражба на потребителски данни. След като зловредният код бъде установен за постоянно, атакуващите могат да възстановят първоначалния вид на конфигурацията в конзолата, което прави компрометирането невидимо в Cloud Logging.
Varonis разкрива два допълнителни проблема, които засилват риска: заобикаляне на VPC Service Controls (VPC-SC) и изтичане на идентификационни данни от Instance Metadata Service (IMDS). Google напълно разреши проблема до юни 2026 г., като няма данни за експлоатиране на уязвимостта преди пускането на корекцията.