O que Automação (Desktop & Browser Automation) faz?
AÇÃO REQUERIDA (leia e execute imediatamente)
AGORA: Confirme se a tarefa atual se enquadra no escopo deste skillAGORA: Leia../tool-index.mde valide a disponibilidade e caminhos reais das ferramentasPRÓXIMO: Se faltar ferramentas, execute o bootstrap – não adivinhe caminhosAJA: Entre no primeiro passo do fluxo de trabalho e execute, não pare no estado de confirmação
Escopo de Aplicação
Use este skill quando a tarefa se enquadrar nos cenários abaixo:
Cenários de Navegador (Playwright / agent-browser)
- Abrir páginas web e interagir com elementos (cliques, preenchimento de formulários, envio)
- Extrair conteúdo de páginas ou tirar screenshots
- Automatizar fluxos de login
- Interagir com páginas web durante testes de penetração (enviar payloads, disparar XSS)
- Processamento automatizado de páginas com CAPTCHA
- Envio em lote de formulários
Cenários de Aplicação Desktop (OpenReverse)
- Operar aplicações Windows (IDA Pro, x64dbg, Wireshark, etc.)
- Interação orientada por visão (modo CUA)
- Operações estruturadas de UI (modo UIA)
- Observação de tráfego de rede de aplicações desktop (mitmproxy integrado)
- Automação de GUI de ferramentas de engenharia reversa
- Teste de caixa preta em softwares desktop
Divisão de Responsabilidades com Outras Ferramentas
| Cenário | Ferramenta |
|---|---|
| Operar páginas web (dentro do navegador) | Playwright / agent-browser |
| Operar aplicações desktop (GUI Windows) | OpenReverse |
| Capturar pacotes, análise de requisições HTTP | anything-analyzer ou network lane do OpenReverse |
| Debug de JS, Hook, CDP | jshookmcp |
| Localizar algoritmos de assinatura, recriar ambiente | js-reverse |
Regra simples:
- Alvo é página web → Playwright
- Alvo é aplicação desktop Windows → OpenReverse
- Ambos → Combinação dos dois
Parte 1: Automação de Navegador (Playwright / agent-browser)
Fluxo de Trabalho Principal
# 1. Abrir página
agent-browser open <url>
# 2. Obter elementos interativos (retorna referências @e1, @e2...)
agent-browser snapshot -i
# 3. Operar elementos usando referências
agent-browser click @e1
agent-browser fill @e2 "texto"
# 4. Fechar ao finalizar
agent-browser close
Referência de Comandos
# Navegação
agent-browser open <url>
agent-browser close
# Snapshot da página
agent-browser snapshot # Árvore de acessibilidade completa
agent-browser snapshot -i # Apenas elementos interativos (recomendado)
# Interações
agent-browser click @e1
agent-browser fill @e2 "texto"
agent-browser type @e2 "texto"
agent-browser press Enter
agent-browser scroll down 500
# Obter informações
agent-browser get text @e1
agent-browser get title
agent-browser get url
# Aguardar
agent-browser wait @e1
agent-browser wait 2000
agent-browser wait --load networkidle
Observações
- Obrigatório executar
agent-browser close, senão há vazamento de processo - Tire snapshot antes de operar – não adivinhe referências de elementos
- Após submeter formulários, use
wait --load networkidlepara aguardar estabilização
Parte 2: Automação de Aplicação Desktop (OpenReverse)
Visão Geral
OpenReverse é um framework de interação desktop e coleta de evidências voltado para Agentes de IA, com suporte a:
- Modo UIA: Windows UI Automation – operação estruturada de controles desktop
- Modo CUA: Interação baseada em visão (Computer Use Agent), ideal para GUIs complexas
- Observação de Rede: Proxy mitmproxy integrado + captura local
Escolha do Modo de Interação
| Modo | Cenário Adequado | Base |
|---|---|---|
| UIA | Aplicações com controles Windows padrão (botões, caixas de texto, listas) | Windows UI Automation API |
| CUA | Aplicações com UI complexa ou controles não padrão (exibição de desmontagem do IDA, interfaces customizadas) | Reconhecimento visual + teclado/mouse |
Modos de Observação de Rede
| Modo | Cenário Adequado |
|---|---|
| Proxy Lane | Aplicação pode configurar proxy (recomendado) |
| Local Lane | Aplicação não pode usar proxy – captura local |
Instalação e Configuração
# 1. Clone o projeto
git clone https://github.com/zhexulong/openreverse.git
cd openreverse
# 2. Instale dependências
npm install
# 3. Conecte ao host do agente (Claude Code / Codex / Zed)
npm run init:agents -- --target=all /caminho/para/projeto
# 4. Instale o runtime CUA (se precisar do modo visual)
npm run install:cua-runtime
npm run doctor:cua-runtime
# 5. Instale dependências de observação de rede (se precisar capturar pacotes)
npm run install:mitmproxy
npm run doctor:network
Combinações Comuns
| Requisito | Configuração |
|---|---|
| Apenas operar aplicação desktop | UIA ou CUA, sem network lane |
| Operar aplicação desktop + capturar pacotes | UIA/CUA + proxy lane |
| Operar aplicação desktop + captura local | UIA/CUA + local lane |
Exemplos para Engenharia Reversa
Cenário: Automatizar IDA Pro para análise em lote
1. Use OpenReverse modo CUA para abrir IDA Pro
2. Carregue automaticamente o binário alvo
3. Aguarde a conclusão da análise
4. Exporte a lista de funções via UI
5. Simultaneamente, use network lane para observar o comportamento de rede do IDA (ex.: requisições Lumina)
Cenário: Automatizar x64dbg para debug
1. Use OpenReverse modo UIA para iniciar x64dbg
2. Carregue o programa alvo
3. Defina breakpoints
4. Execute e observe alterações em registradores/memória
5. Tire screenshot para evidências
Bootstrap Sob Demanda (On-Demand Bootstrap)
Limites de Automação
| Ferramenta | Instalação Automática | Método de Instalação | Observação |
|---|---|---|---|
| Playwright | ✓ | npm + npx playwright install | Motor de automação de navegador |
| agent-browser CLI | ✓ | npm install -g agent-browser | CLI para operações no navegador |
| Node.js | ✓ | winget | Dependência prévia |
| OpenReverse | ✗ | Clone manual + npm install | Em fase experimental, dependências pesadas |
| mitmproxy | ✗ | Instalação manual | Dependência da observação de rede do OpenReverse |
Gatilho de Bootstrap
- Operações com navegador sem Playwright → bootstrap automático
- Operações desktop sem OpenReverse → guiar usuário na instalação manual (fornecer passos completos)
Guia de Instalação Manual do OpenReverse
Se o AI detectar necessidade de automação desktop mas o OpenReverse não estiver instalado:
⚠️ **OpenReverse necessário para automação desktop**
**Passos de instalação**:
1. `git clone https://github.com/zhexulong/openreverse.git`
2. `cd openreverse && npm install`
3. `npm run init:agents -- --target=all <caminho/do/seu/projeto>`
4. Para modo visual: `npm run install:cua-runtime`
5. Para observação de rede: `npm run install:mitmproxy`
**Verificação**: `npm run doctor:cua-runtime` e `npm run doctor:network`
Contexto de Roteamento
Entrada upstream: skills/SKILL.md (controle geral), routing.md
Cenários de aplicação: Qualquer tarefa que exija automação de navegador ou aplicação desktop
Saída downstream:
- Requisições capturadas precisam de análise →
anything-analyzeroujs-reverse - Necessidade de debug/Hook em JS →
jshookmcp - Necessidade de reconstruir algoritmo de assinatura →
js-reverse - Aplicação desktop é ferramenta de engenharia reversa →
ida-reverse/
Módulos associados no mesmo nível: js-reverse (após operações no navegador pode ser necessário analisar JS), ida-reverse (OpenReverse pode automatizar GUI do IDA)
Auto-verificação de Conclusão (MUST passar antes de declarar conclusão)
- Eu executei cada passo do fluxo de trabalho (não apenas li)?
- Eu usei caminhos reais de ferramentas com base no
tool-index? - Eu produzi evidências reproduzíveis (comandos/scripts/screenshots/relatórios)?
- Eu completei e registrei os itens do Checklist exigido pelas REGRAS?