olimposec.com
Radar / Bugs / OS-2026-060
risco altoPROMPT2026-07-21 · 2 min de leitura
0

Agentes de IA para Android de código aberto podem ser sequestrados por texto invisível na tela e executar código no PC do operador

Resumo executivo

Pesquisadores demonstraram sete técnicas de ataque contra cinco frameworks populares de agentes móveis de código aberto (AppAgent, AppAgentX, Mobile-Agent-v3, Open-AutoGLM e MobA), com cada framework vulnerável a pelo menos seis delas. A cadeia mais grave usa texto com opacidade quase nula, invisível ao olho humano mas perfeitamente legível pelo modelo de visão do agente, para injetar um comando shell que é concatenado sem sanitização e executado no computador que controla o telefone via ADB, lançando uma calculadora no PC hospedeiro em 20 de 20 tentativas.

O ataque começa com um aplicativo Android malicioso capaz de desenhar sobre outras janelas e escrever em armazenamento compartilhado, sem precisar de nenhuma permissão incomum. Esse app escreve texto com opacidade quase zero em um arquivo PNG na área compartilhada do dispositivo. Quando o agente de IA captura a tela para decidir sua próxima ação, o modelo de visão lê esse texto sub-liminar como se fosse parte legítima da interface, mesmo que nenhum humano jamais o veja.

O texto injetado contém um comando shell (por exemplo, algo equivalente a `test;pwd>rce_success`). O problema técnico central é que os frameworks testados concatenam a saída do modelo diretamente em um comando de sistema sem qualquer sanitização, então metacaracteres como `;` e `&` simplesmente dividem o comando em dois: a primeira parte é o que o agente pretendia fazer, e a segunda é o comando do atacante, que acaba executando no PC host através de `adb shell input text`. Os pesquisadores documentam mais seis vetores relacionados, incluindo condição de corrida entre a captura de tela e sua leitura, sobreposição de interface falsa, injeção de pixels ocultos sob o recorte da câmera (notch), spoofing de tela de login e broadcasts do ADB Keyboard aceitos de qualquer aplicativo sem autenticação.

A lição central do estudo, resumida pelos próprios autores como "seu LLM não é um limite de segurança" (ecoando pesquisa da Microsoft sobre o Semantic Kernel), é que o problema não é um bug isolado em um produto, mas um padrão de arquitetura repetido em praticamente todo o ecossistema de agentes móveis: confiar diretamente na saída de um modelo para montar comandos de sistema. Isso é agravado pelo fato de que alguns vetores, como a injeção em cantos e recortes da tela, não têm correção puramente via software, por serem uma limitação de hardware do próprio dispositivo.

As mitigações sugeridas são conhecidas de segurança de aplicações tradicionais, mas ainda ausentes desses frameworks: eliminar `shell=True` e usar listas de argumentos em vez de concatenação de string, transmitir screenshots diretamente em vez de gravá-los em arquivo compartilhado, exigir permissão signature-level para broadcasts sensíveis, validar que a atividade em primeiro plano é a esperada antes de agir sobre ela, e exigir confirmação humana explícita para operações de risco.

Fonte ↗
0 comentários

Entre para comentar.

Nenhum comentário ainda — seja o primeiro.