olimposec.com
Radar / Bugs / OS-2026-474
risco altoBUG2026-09-21 · 3 min de leitura
0

"Loopjacking": pesquisa reproduz falha de aprovação humana em agentes de IA da Agno, LangGraph e OpenClaw

Resumo executivo

Um pesquisador demonstrou que, em vários frameworks de agentes de IA, a operação que o humano aprova pode não ser a operação realmente executada. O trabalho batiza essa classe de falha de "Loopjacking" e reproduz bypasses concretos no Agno AgentOS (até a versão 3.0.9), em composições do LangGraph Agent Server (até 0.14.0) e no OpenClaw 2026.2.23, enquanto o OpenAI Agents SDK resistiu aos mesmos testes.

O conceito de "human-in-the-loop" é vendido como a última barreira de segurança antes que um agente de IA execute uma ação sensível, como deletar um arquivo, mover dinheiro ou rodar um comando. O paper mostra que essa barreira só vale alguma coisa se a operação exibida para aprovação for, de fato, a operação executada depois — e que essa garantia falha na prática em produtos já em uso. O autor separa dois padrões de ataque: no primeiro, a operação maliciosa B já está codificada na requisição, mas fica escondida ou mal representada na tela de aprovação (o humano nunca vê o que realmente vai rodar); no segundo, o humano aprova corretamente a operação A, mas o estado mutável do fluxo de trabalho é trocado depois da aprovação, e o sistema executa B no lugar de A.

Tecnicamente, o problema nasce de como esses frameworks de orquestração de agentes desenham a etapa de aprovação: em vez de vincular criptograficamente (ou ao menos de forma íntegra) a decisão do humano ao payload exato que será executado, muitos deles tratam a aprovação como um sinal solto — um "ok" genérico associado a um ID de sessão ou de etapa, não ao conteúdo específico da ação. Isso abre espaço para que o estado da chamada seja modificado entre o momento do clique e o momento da execução, algo que se torna ainda mais provável em arquiteturas com estado compartilhado em memória, filas assíncronas ou múltiplos agentes cooperando. O autor testou sete releases do Agno AgentOS e doze versões de uma composição de LangGraph Agent Server com estado condicional em memória, conseguindo reproduzir a substituição pós-aprovação em todas elas; no OpenClaw, reproduziu o problema de representação enganosa na versão 2026.2.23, corrigida na 2026.2.24 seguinte. Como controle negativo, o OpenAI Agents SDK (0.22.0 e 0.22.2) preservou a vinculação exata entre aprovação e execução via continuação serializada, rejeitando a operação mutada — evidência de que o problema é de design e não uma limitação inerente à arquitetura de agentes.

Na prática, isso importa porque "aprovação humana" é hoje o principal argumento de segurança usado para liberar agentes de IA com permissões amplas (acesso a shell, a APIs financeiras, a sistemas de arquivos) em ambientes de produção. Se essa camada pode ser contornada sem alertar o operador, o risco real de deploys de agentes autônomos é maior do que os times de segurança costumam assumir ao aprovar esse tipo de arquitetura. O autor é explícito quanto ao escopo: os resultados não estimam a prevalência do problema em todo o ecossistema, mas mostram que, nos produtos testados, a falha é reproduzível e não teórica.

As mitigações propostas são objetivas e implementáveis: renderizar de forma canônica e completa a operação exata que será executada (sem abreviações, resumos ou truncamentos que escondam parâmetros) e comparar essa representação, no momento do uso, byte a byte com o que foi de fato aprovado; alternativamente, impedir qualquer mutação do estado pendente entre aprovação e execução. Equipes que já rodam Agno AgentOS ou LangGraph Agent Server em produção com aprovação humana no meio do fluxo deveriam tratar isso como um item de verificação imediato, já que as versões vulneráveis testadas chegam até releases recentes desses projetos.

Fonte ↗
0 comentários

Entre para comentar.

Nenhum comentário ainda — seja o primeiro.