Automation (navigateur & bureau)
ACTION REQUISE (à exécuter immédiatement après lecture)
MAINTENANT: Confirmer si la tâche actuelle correspond au périmètre de ce skill.MAINTENANT: Lire../tool-index.mdpour vérifier la disponibilité et le chemin réel des outils.SUIVANT: Si un outil manque, appeler le bootstrap – ne pas deviner le chemin.AGIR: Passer à la première étape du workflow et exécuter – ne pas rester en attente de confirmation.
Périmètre d'application
Utiliser ce skill lorsque la tâche correspond à l'un des scénarios suivants :
Scénarios navigateur (Playwright / agent-browser)
- Ouvrir une page web et interagir avec les éléments (clic, formulaire, soumission)
- Extraire le contenu d'une page ou réaliser une capture d'écran
- Automatiser un processus de connexion
- Interagir avec des pages web lors d'un test d'intrusion (soumettre un payload, déclencher une XSS)
- Traiter automatiquement des pages avec CAPTCHA
- Soumettre des formulaires en lot
Scénarios application de bureau (OpenReverse)
- Manipuler des applications Windows (IDA Pro, x64dbg, Wireshark, etc.)
- Interaction visuelle (mode CUA)
- Interaction structurée via UI Automation (mode UIA)
- Observer le trafic réseau de l'application (mitmproxy intégré)
- Automatiser l'interface graphique d'outils de reverse engineering
- Tester en boîte noire des logiciels bureau
Répartition avec les autres outils
| Scénario | Outil à utiliser |
|---|---|
| Manipuler une page web (dans le navigateur) | Playwright / agent-browser |
| Manipuler une application de bureau (GUI Windows) | OpenReverse |
| Analyse de paquets, capture de requêtes HTTP | anything-analyzer ou le réseau lane d'OpenReverse |
| Débogage JS, Hook, débogage CDP | jshookmcp |
| Localiser un algorithme de signature, reconstituer un environnement | js-reverse |
Règle simple :
- La cible est une page web → Playwright
- La cible est une application de bureau Windows → OpenReverse
- Les deux sont nécessaires → combinaison
Partie 1 : Automatisation navigateur (Playwright / agent-browser)
Workflow principal
# 1. Ouvrir la page
agent-browser open <url>
# 2. Obtenir les éléments interactifs (retourne les références @e1, @e2...)
agent-browser snapshot -i
# 3. Interagir à l'aide des références
agent-browser click @e1
agent-browser fill @e2 "text"
# 4. Fermer après utilisation
agent-browser close
Référence des commandes
# Navigation
agent-browser open <url>
agent-browser close
# Snapshots de page
agent-browser snapshot # Arbre complet d'accessibilité
agent-browser snapshot -i # Éléments interactifs uniquement (recommandé)
# Interactions
agent-browser click @e1
agent-browser fill @e2 "text"
agent-browser type @e2 "text"
agent-browser press Enter
agent-browser scroll down 500
# Récupération d'informations
agent-browser get text @e1
agent-browser get title
agent-browser get url
# Attentes
agent-browser wait @e1
agent-browser wait 2000
agent-browser wait --load networkidle
Remarques importantes
- Toujours exécuter
agent-browser closepour éviter les fuites de processus. - Faire un snapshot avant d'interagir, ne pas deviner les références d'éléments.
- Après la soumission d'un formulaire, attendre avec
wait --load networkidlepour la stabilité de la page.
Partie 2 : Automatisation d'applications de bureau (OpenReverse)
Présentation
OpenReverse est un framework d'interaction bureau et de collecte de preuves destiné aux agents IA, prenant en charge :
- Mode UIA : Windows UI Automation, manipulation structurée des contrôles de bureau.
- Mode CUA : Interaction visuelle (Computer Use Agent), adaptée aux interfaces complexes.
- Observation réseau : Proxy mitmproxy intégré + capture locale.
Choix du mode d'interaction
| Mode | Scénario approprié | Technologie sous-jacente |
|---|---|---|
| UIA | L'application cible a des contrôles Windows standard (boutons, champs de texte, listes) | API Windows UI Automation |
| CUA | L'interface de l'application cible est complexe ou utilise des contrôles non standard (vue désassemblage d'IDA, interface rendue de manière personnalisée) | Reconnaissance visuelle + clavier/souris |
Modes d'observation réseau
| Mode | Scénario approprié |
|---|---|
| Proxy Lane | L'application cible peut être configurée pour utiliser un proxy (recommandé) |
| Local Lane | L'application cible ne peut pas utiliser de proxy, nécessite une capture locale |
Installation et configuration
# 1. Cloner le projet
git clone https://github.com/zhexulong/openreverse.git
cd openreverse
# 2. Installer les dépendances
npm install
# 3. Intégrer l'agent hôte (Claude Code / Codex / Zed)
npm run init:agents -- --target=all /chemin/vers/projet
# 4. Installer le runtime CUA (si nécessaire pour le mode visuel)
npm run install:cua-runtime
npm run doctor:cua-runtime
# 5. Installer les dépendances d'observation réseau (si nécessaire pour la capture)
npm run install:mitmproxy
npm run doctor:network
Combinaisons courantes
| Besoin | Configuration |
|---|---|
| Uniquement manipuler une application de bureau | UIA ou CUA, sans lane réseau |
| Manipuler une application de bureau + capturer le trafic | UIA/CUA + proxy lane |
| Manipuler une application de bureau + capture locale | UIA/CUA + local lane |
Exemples de scénarios de reverse engineering
Scénario : Automatiser IDA Pro pour une analyse par lots
1. Ouvrir IDA Pro avec OpenReverse en mode CUA
2. Charger automatiquement le binaire cible
3. Attendre la fin de l'analyse
4. Exporter la liste des fonctions via l'interface
5. Observer simultanément le comportement réseau d'IDA (ex. requêtes Lumina) avec network lane
Scénario : Automatiser le débogage avec x64dbg
1. Lancer x64dbg avec OpenReverse en mode UIA
2. Charger le programme cible
3. Définir des points d'arrêt
4. Exécuter et observer les changements de registres/mémoire
5. Prendre une capture d'écran pour preuve
Bootstrap à la demande (On-Demand Bootstrap)
Limites de l'automatisation des capacités
| Outil | Installation automatique | Méthode d'installation | Description |
|---|---|---|---|
| Playwright | ✓ | npm + npx playwright install | Moteur d'automatisation de navigateur |
| agent-browser CLI | ✓ | npm install -g agent-browser | CLI d'opération du navigateur |
| Node.js | ✓ | winget | Dépendance préalable |
| OpenReverse | ✗ | Clone manuel + npm install | Phase expérimentale, dépendances lourdes |
| mitmproxy | ✗ | Installation manuelle | Dépendance d'observation réseau d'OpenReverse |
Déclenchement du bootstrap
- Si Playwright manque pour une opération navigateur → bootstrap automatique.
- Si OpenReverse est nécessaire pour une opération bureau → guider l'utilisateur vers une installation manuelle (fournir les étapes complètes).
Guide d'installation manuelle d'OpenReverse
Si l'IA détecte qu'OpenReverse est nécessaire pour une automatisation de bureau mais n'est pas installé :
⚠️ **OpenReverse est requis pour l'automatisation d'applications de bureau**
**Étapes d'installation :**
1. `git clone https://github.com/zhexulong/openreverse.git`
2. `cd openreverse && npm install`
3. `npm run init:agents -- --target=all <chemin de votre projet>`
4. Pour le mode visuel : `npm run install:cua-runtime`
5. Pour l'observation réseau : `npm run install:mitmproxy`
**Vérification :** `npm run doctor:cua-runtime` et `npm run doctor:network`
Contexte de routage
Entrée amont : skills/SKILL.md (contrôle principal), routing.md
Scénarios d'application : Toute tâche nécessitant l'automatisation d'un navigateur ou d'une application de bureau
Sortie aval :
- Les requêtes capturées doivent être analysées →
anything-analyzeroujs-reverse - Débogage/Hook JS nécessaire →
jshookmcp - Algorithme de signature à reconstituer →
js-reverse - L'application de bureau est un outil de reverse engineering →
ida-reverse/
Modules associés de même niveau : js-reverse (peut nécessiter une analyse JS après manipulation navigateur), ida-reverse (OpenReverse peut automatiser l'interface graphique d'IDA)
Auto-vérification avant déclaration de fin (DOIT passer avant de prétendre terminer)
- Ai-je exécuté chaque étape du workflow (pas seulement lu) ?
- Ai-je utilisé le véritable chemin des outils basé sur
tool-index? - Ai-je produit des preuves reproductibles (commandes/scripts/captures d'écran/rapports) ?
- Ai-je terminé et mis à jour les éléments de la checklist exigée par RULES ?