Automación de Navegador y Escritorio
ACCIÓN REQUERIDA (leer y ejecutar inmediatamente)
AHORA: Confirmar si la tarea actual se encuentra dentro del alcance de este skillAHORA: Leer../tool-index.mdpara verificar la disponibilidad y la ruta real de las herramientasSIGUIENTE: Si falta una herramienta, llamar al proceso de bootstrap; no adivinar la rutaACTUAR: Entrar en el primer paso del flujo de trabajo y ejecutarlo, no quedarse en estado de confirmación
Alcance
Usar este skill cuando la tarea corresponda a los siguientes escenarios:
Escenarios de navegador (Playwright / agent-browser)
- Abrir páginas web y manipular elementos (clic, rellenar formularios, enviar)
- Extraer contenido o tomar capturas de pantalla
- Automatizar flujos de inicio de sesión
- Interactuar con páginas web en pruebas de penetración (enviar payload, desencadenar XSS)
- Manejo automatizado de páginas con CAPTCHA
- Envío masivo de formularios
Escenarios de aplicación de escritorio (OpenReverse)
- Manipular aplicaciones de escritorio de Windows (IDA Pro, x64dbg, Wireshark, etc.)
- Interacciones basadas en visión (modo CUA)
- Operaciones estructuradas de interfaz de usuario (modo UIA)
- Observación del tráfico de red de aplicaciones de escritorio (integrado con mitmproxy)
- Automatización de la GUI de herramientas de ingeniería inversa
- Pruebas de caja negra en software de escritorio
División de trabajo con otras herramientas
| Escenario | Herramienta a usar |
|---|---|
| Manipular páginas web (dentro del navegador) | Playwright / agent-browser |
| Manipular aplicaciones de escritorio (GUI de Windows) | OpenReverse |
| Captura de paquetes, captura de solicitudes HTTP | anything-analyzer o OpenReverse network lane |
| Depuración con breakpoints JS, Hook, CDP | jshookmcp |
| Localizar algoritmos de firma, recrear entorno | js-reverse |
Regla simple:
- El objetivo es una página web → Playwright
- El objetivo es una aplicación de escritorio de Windows → OpenReverse
- Se necesitan ambas → Usar combinación
Parte 1: Automatización del navegador (Playwright / agent-browser)
Flujo de trabajo principal
# 1. Abrir página
agent-browser open <url>
# 2. Obtener elementos interactivos (devuelve referencias @e1, @e2...)
agent-browser snapshot -i
# 3. Usar la referencia para manipular el elemento
agent-browser click @e1
agent-browser fill @e2 "text"
# 4. Cerrar al finalizar
agent-browser close
Referencia de comandos
# Navegación
agent-browser open <url>
agent-browser close
# Instantánea de la página
agent-browser snapshot # Árbol de accesibilidad completo
agent-browser snapshot -i # Solo elementos interactivos (recomendado)
# Interacción
agent-browser click @e1
agent-browser fill @e2 "text"
agent-browser type @e2 "text"
agent-browser press Enter
agent-browser scroll down 500
# Obtener información
agent-browser get text @e1
agent-browser get title
agent-browser get url
# Esperar
agent-browser wait @e1
agent-browser wait 2000
agent-browser wait --load networkidle
Notas importantes
- Es obligatorio ejecutar
agent-browser close, de lo contrario hay fuga de procesos - Hacer snapshot antes de operar, no adivinar las referencias de los elementos
- Después de enviar un formulario, esperar con
wait --load networkidlepara que la página se estabilice
Parte 2: Automatización de aplicaciones de escritorio (OpenReverse)
Descripción general
OpenReverse es un framework de interacción con el escritorio y recolección de evidencia orientado a agentes de IA. Soporta:
- Modo UIA: Windows UI Automation, manipulación estructurada de controles de escritorio
- Modo CUA: Interacción basada en visión (Computer Use Agent), ideal para GUIs complejas
- Observación de red: Proxy mitmproxy integrado + captura local
Selección del modo de interacción
| Modo | Escenario adecuado | Tecnología subyacente |
|---|---|---|
| UIA | La aplicación objetivo tiene controles Windows estándar (botones, cuadros de texto, listas) | Windows UI Automation API |
| CUA | La interfaz de la aplicación es compleja o con controles no estándar (vista de desensamblado de IDA, interfaces de renderizado personalizadas) | Reconocimiento visual + teclado/ratón |
Modos de observación de red
| Modo | Escenario adecuado |
|---|---|
| Proxy Lane | La aplicación objetivo puede configurar un proxy (recomendado) |
| Local Lane | La aplicación objetivo no puede usar un proxy, necesita captura local |
Instalación y configuración
# 1. Clonar el proyecto
git clone https://github.com/zhexulong/openreverse.git
cd openreverse
# 2. Instalar dependencias
npm install
# 3. Conectar al host del agente (Claude Code / Codex / Zed)
npm run init:agents -- --target=all /path/to/project
# 4. Instalar el runtime CUA (si se necesita el modo visual)
npm run install:cua-runtime
npm run doctor:cua-runtime
# 5. Instalar dependencias de observación de red (si se necesita captura de paquetes)
npm run install:mitmproxy
npm run doctor:network
Combinaciones comunes
| Necesidad | Configuración |
|---|---|
| Solo manipular aplicación de escritorio | UIA o CUA, sin network lane |
| Manipular aplicación de escritorio + captura de paquetes | UIA/CUA + proxy lane |
| Manipular aplicación de escritorio + captura local | UIA/CUA + local lane |
Ejemplos de escenarios de ingeniería inversa
Escenario: Automatizar IDA Pro para análisis por lotes
1. Usar OpenReverse modo CUA para abrir IDA Pro
2. Cargar el binario objetivo automáticamente
3. Esperar a que finalice el análisis
4. Exportar la lista de funciones a través de la UI
5. Al mismo tiempo, usar network lane para observar el comportamiento de red de IDA (como solicitudes a Lumina)
Escenario: Automatizar la depuración con x64dbg
1. Usar OpenReverse modo UIA para iniciar x64dbg
2. Cargar el programa objetivo
3. Establecer puntos de interrupción
4. Ejecutar y observar los cambios en registros/memoria
5. Tomar una captura de pantalla como evidencia
Bootstrap bajo demanda
Límites de la capacidad de automatización
| Herramienta | Instalación automática | Método de instalación | Notas |
|---|---|---|---|
| Playwright | ✓ | npm + npx playwright install | Motor de automatización de navegadores |
| agent-browser CLI | ✓ | npm install -g agent-browser | CLI para operaciones del navegador |
| Node.js | ✓ | winget | Dependencia previa |
| OpenReverse | ✗ | Clonar manual + npm install | En fase experimental, dependencias pesadas |
| mitmproxy | ✗ | Instalación manual | Dependencia de observación de red de OpenReverse |
Activación del bootstrap
- Si falta Playwright para operaciones de navegador → bootstrap automático
- Si se necesita OpenReverse para operaciones de escritorio → guiar al usuario para instalación manual (proporcionar pasos completos)
Guía de instalación manual de OpenReverse
Si el agente detecta que se necesita automatización de aplicaciones de escritorio pero OpenReverse no está instalado:
⚠️ **Se necesita OpenReverse para la automatización de aplicaciones de escritorio**
**Pasos de instalación**:
1. `git clone https://github.com/zhexulong/openreverse.git`
2. `cd openreverse && npm install`
3. `npm run init:agents -- --target=all <ruta de tu proyecto>`
4. Si se necesita modo visual: `npm run install:cua-runtime`
5. Si se necesita observación de red: `npm run install:mitmproxy`
**Verificación**: `npm run doctor:cua-runtime` y `npm run doctor:network`
Contexto de enrutamiento
Entrada ascendente: skills/SKILL.md (controlador principal), routing.md
Escenarios aplicables: Cualquier tarea que requiera automatizar un navegador o una aplicación de escritorio
Salidas descendentes:
- Las solicitudes capturadas necesitan análisis →
anything-analyzerojs-reverse - Se necesita depuración JS/Hook →
jshookmcp - Se necesita reconstruir el algoritmo de firma →
js-reverse - La aplicación de escritorio es una herramienta de ingeniería inversa →
ida-reverse/
Módulos relacionados del mismo nivel: js-reverse (puede necesitar análisis JS después de operaciones del navegador), ida-reverse (OpenReverse puede automatizar la GUI de IDA)
Autoverificación de finalización (DEBE pasar antes de declarar finalizado)
- ¿Ejecuté cada paso del flujo de trabajo (en lugar de solo leerlo)?
- ¿Utilicé las rutas de herramientas reales basadas en
tool-index? - ¿Produje evidencia reproducible (comandos/scripts/capturas de pantalla/informes)?
- ¿Completé y actualicé los elementos de la Checklist requeridos por las REGLAS?