Pesquisadores da Microsoft revelaram o AutoJack, uma cadeia de exploits que permite a uma única página web executar código arbitrário no computador de quem roda um agente de IA com navegação. A falha afeta o AutoGen Studio, interface do framework multiagente da própria Microsoft, e foi corrigida no código-fonte em 18 de junho de 2026.
O que é o AutoJack
O AutoJack é uma técnica de execução remota de código (RCE) descrita em detalhe pela equipa de investigação do Microsoft Defender em 18 de junho de 2026. O nome alude ao verbo inglês carjack (sequestrar carro): o atacante “sequestra” o agente de IA e usa-o como veículo de entrega para atravessar a fronteira de confiança do localhost e executar processos na máquina do desenvolvedor.
O alvo é o AutoGen Studio, a interface de prototipagem de código aberto do AutoGen, o framework multiagente criado pelo Microsoft Research. A ferramenta permite que desenvolvedores componham agentes, associem ferramentas — incluindo servidores baseados no Model Context Protocol (MCP) — e executem experimentos rápidos. A própria documentação do projeto alerta que se trata de um protótipo de pesquisa, com padrões ajustados para facilitar a iteração e não para implantação protegida.
A descoberta enquadra-se numa linha de investigação da Microsoft sobre riscos de execução em frameworks de agentes. Em posts anteriores, a empresa cobriu primitivas de RCE no Semantic Kernel, identificadas como CVE-2026-26030 e CVE-2026-25592. O AutoJack sobe um nível na pilha e foca-se na superfície de infraestrutura voltada ao desenvolvedor.
Como a cadeia de exploits funciona
A cadeia do AutoJack combina três fraquezas independentes na implementação do WebSocket MCP do AutoGen Studio, conforme documenta o blog de segurança da Microsoft. Nenhuma delas, isoladamente, consegue executar código; juntas, abrem um caminho completo de RCE.
A primeira fraqueza está na lista de permissão de origem (CWE-1385 — Validação de Origem Ausente em WebSockets). O socket MCP só aceita conexões cuja origem seja 127[.]0[.]0[.]1 ou localhost. Isso bloqueia um navegador comum apontado para um site malicioso externo. Mas um agente de navegação executado na mesma máquina — como o MultimodalWebSurfer — é, ele próprio, um processo do localhost. Qualquer JavaScript que ele renderize herda essa identidade e satisfaz a verificação de origem.
A segunda fraqueza reside no middleware de autenticação (CWE-306 — Autenticação Ausente para Função Crítica). O AutoGen Studio suporta vários modos de autenticação (nenhum, GitHub, MSAL, Firebase), mas o middleware exclui explicitamente os caminhos /api/mcp/* da verificação, assumindo que o handler do WebSocket faria a sua própria checagem. Essa checagem nunca foi implementada. O resultado: o socket MCP aceitava conexões sem autenticação, independentemente do modo configurado para o restante da aplicação.
A terceira fraqueza é a mais grave (CWE-78 — Neutralização Imprópria de Elementos Especiais em Comando do Sistema). O endpoint lia um parâmetro server_params na URL, decodificava um blob em base64, convertia para JSON em StdioServerParams e passava o comando e os argumentos diretamente para o stdio_client. Sem lista de permissão de executáveis, calc.exe, powershell.exe -enc … ou bash -c '…' eram todos aceitos como “servidores MCP”.
Para validar a cadeia, a Microsoft construiu um agente demonstração chamado “Web Content Summarizer”. Ao receber uma URL controlada pelo atacante, o MultimodalWebSurfer renderiza a página; O JavaScript dela abre um WebSocket para ws://localhost:8081/api/mcp/ws/ com o payload em base64; e o AutoGen Studio executa o comando sob a conta do desenvolvedor. Em segundos, o calc.exe aparece na tela — lançado pelo processo do AutoGen Studio, não pelo navegador.
Cronologia da descoberta e correção
O caso desenrolou-se num curto intervalo, com correção aplicada antes de qualquer lançamento público estável afetado:
- Pré-maio de 2026 — O plugin MCP com o WebSocket vulnerável entra no ramo main do repositório do AutoGen Studio no GitHub.
- Período de desenvolvimento — Dois pré-lançamentos no PyPI,
0.4.3.dev1e0.4.3.dev2, incluem a rota MCP vulnerável, conforme verificação independente do The Hacker News, que baixou e inspecionou ambos os pacotes. - Comunicação à MSRC — A equipa do Microsoft Defender reporta o comportamento ao Microsoft Security Response Center.
- Commit b047730 (PR #7362) — Os mantenedores corrigem o ramo main: o handler do WebSocket deixa de ler
server_paramsda URL; os parâmetros passam a ser armazenados no servidor, ligados a um UUID de sessão única; IDs desconhecidos são recusados com código de fechamento 4004; e as rotas MCP passam pelo caminho normal de autenticação. - 18 de junho de 2026 — A Microsoft publica a pesquisa completa no seu blog de segurança.
- 19 de junho de 2026 — The Hacker News e CSO Online publicam análises; nenhuma exploração ativa é reportada.
Versões afetadas e exposição real
A extensão do impacto depende de qual versão do AutoGen Studio está instalada. A tabela abaixo resume o estado de cada pacote:
| Pacote / Build | Rota MCP vulnerável? | Status |
|---|---|---|
| autogenstudio 0.4.2.2 (PyPI estável) | Não — não há rota MCP | Seguro |
| autogenstudio 0.4.3.dev1 (pré-lançamento) | Sim — handler presente, sem autenticação | Sem patch no PyPI |
| autogenstudio 0.4.3.dev2 (pré-lançamento) | Sim — handler presente, sem autenticação | Sem patch no PyPI |
| Ramo main (commit b047730 ou superior) | Não — corrigido | Seguro |
A Microsoft inspecionou diretamente a versão estável publicada (0.4.2.2): o pacote não inclui o ficheiro autogenstudio/web/routes/mcp.py, não monta um roteador /api/mcp e uma busca recursiva nos 55 ficheiros Python não encontrou menção a StdioServerParams ou /api/mcp. Em suma, quem instala via pip install autogenstudio sem a flag --pre nunca recebeu a superfície vulnerável. Mas quem instalou um dos pré-lançamentos ficou exposto — e, até o momento, não há pacote PyPI corrigido para eles.
Como se proteger agora
A correção definitiva está no ramo main do GitHub, a partir do commit b047730. Quem depende de um pré-lançamento vulnerável deve compilar a partir desse commit. Até que exista um lançamento PyPI com a correção, a recomendação da Microsoft é eliminar as condições que a cadeia precisa para funcionar.
A regra central: nunca execute o AutoGen Studio na mesma máquina que um agente de navegação ou de execução de código que toque conteúdo não confiável. A cadeia só funciona quando ambos compartilham o mesmo localhost. Se precisarem de coexistir, isole-os em contêineres ou máquinas virtuais separadas e execute o AutoGen Studio sob uma conta de baixo privilégio. Configure um proxy reverso autenticado que force autenticação em todos os caminhos, incluindo WebSocket e /api/*, e adicione uma regra de firewall que bloqueie todo o tráfego não loopback para a porta 8081 (padrão).
A Microsoft sublinha que o padrão é mais amplo do que um único bug. Qualquer framework de agente que combine um serviço local com poder excessivo, uma verificação de localhost tratada como segurança e um agente que abre páginas externas pode reproduzir o mesmo formato de ataque. A lição para defensores: autenticar o plano de controle, manter a execução de processos atrás de uma lista de permissão e dar ao agente uma identidade que não seja a sessão do próprio desenvolvedor.
Fontes
- Microsoft Security Blog — AutoJack: How a single page can RCE the host running your AI agent (18 jun. 2026)
- The Hacker News — AutoJack Attack Lets One Web Page Hijack AI Agent for Host Code Execution (19 jun. 2026)
- CSO Online — Microsoft says web-enabled AI agents can trigger host-level RCE (19 jun. 2026)