Sikkerhetsselskapet Varonis fant feilen, som rammet organisasjoner som bygde agenter med Dialogflows Playbooks og egne Code Blocks, der utviklere legger inn sin egen Python. Dette var ikke et fjernangrep uten innlogging: det krevde dialogflow.playbooks.update-rettighet på én agent, noe som i praksis begrenser angriperen til en ondsinnet innsider eller en kapret utviklerkonto. Men fra det ene fotfestet nådde angrepet hver eneste agent i prosjektet.
Kjernen er at alle agenter som bruker Code Blocks i samme prosjekt deler én Cloud Run-instans, uten reell isolasjon mellom dem ifølge Varonis. Koden din blir føyd til intern oppsettskode og kjørt gjennom Pythons exec(). Varonis fant at filen som pakker dette, code_execution_env.py, lå i det delte miljøet med skrivetilgang. En enkelt Code Block kunne dermed laste ned en endret versjon fra en angriperstyrt server og overskrive originalen i den kjørende containeren. Fra da av kjørte angriperens versjon for hver Code Block, med samme tilgang til samtalehistorikk, sesjonsdata og respond()-funksjonen som svarer brukeren.
I praksis kunne det lese samtaler, sende dem videre i det stille og få boten til å poste angriperens meldinger, for eksempel en phishing-melding som ber brukeren bekrefte innloggingen på nytt. Varonis rapporterte også at miljøet hadde ubegrenset utgående internett-tilgang. Både Google og Varonis sier det ikke finnes tegn til at feilen ble utnyttet i praksis. Bygger du på Dialogflow CX med Code Blocks: sjekk at feilen er lukket, og behandle utviklerkontoer med redigeringsrett som en reell angrepsflate.