Desktop- & Browser-Automation
AKTION ERFORDERLICH (Sofort nach dem Lesen ausführen)
JETZT: Prüfen, ob die aktuelle Aufgabe in den Anwendungsbereich dieser Skill fälltJETZT:../tool-index.mdlesen, um Tool-Verfügbarkeit und tatsächliche Pfade zu validierenNÄCHSTER SCHRITT: Fehlende Tools per Bootstrap installieren, keine Pfade ratenAKTION: In den ersten Schritt des Workflows eintreten und ausführen, nicht im Bestätigungsstatus verharren
Anwendungsbereich
Diese Skill wird verwendet, wenn Aufgaben in folgende Szenarien fallen:
Browser-Szenarien (Playwright / agent-browser)
- Webseiten öffnen und Seitenelemente bedienen (Klicken, Ausfüllen, Absenden)
- Seiteninhalte crawlen oder Screenshots erstellen
- Anmeldevorgänge automatisieren
- Bei Penetrationstests mit Webseiten interagieren (Payloads übermitteln, XSS auslösen)
- Automatisierte Captcha-Verarbeitung
- Massenhafte Formularübermittlung
Desktop-Anwendungsszenarien (OpenReverse)
- Windows-Desktop-Apps bedienen (IDA Pro, x64dbg, Wireshark usw.)
- Visuell gesteuerte Interaktion (CUA-Modus)
- Strukturierte UI-Bedienung (UIA-Modus)
- Netzwerkverkehr von Desktop-Apps beobachten (integriertes mitmproxy)
- GUI-Bedienung von Reverse-Engineering-Tools automatisieren
- Desktop-Software im Black-Box-Test prüfen
Aufgabenverteilung mit anderen Tools
| Szenario | Welches Tool |
|---|---|
| Webseiten bedienen (im Browser) | Playwright / agent-browser |
| Desktop-Apps bedienen (Windows GUI) | OpenReverse |
| Paketanalyse, HTTP-Anfragen erfassen | anything-analyzer oder OpenReverse network lane |
| JS Breakpoints, Hooks, CDP-Debugging | jshookmcp |
| Signaturalgorithmen finden, Umgebung rekonstruieren | js-reverse |
Einfache Entscheidung:
- Ziel ist eine Webseite → Playwright
- Ziel ist eine Windows-Desktop-Anwendung → OpenReverse
- Beides nötig → Kombination
Teil 1: Browser-Automation (Playwright / agent-browser)
Kern-Workflow
# 1. Seite öffnen
agent-browser open <url>
# 2. Interaktive Elemente abrufen (gibt @e1, @e2... Referenzen zurück)
agent-browser snapshot -i
# 3. Mit Referenzen Elemente bedienen
agent-browser click @e1
agent-browser fill @e2 "text"
# 4. Nach Fertigstellung schließen
agent-browser close
Befehlsreferenz
# Navigation
agent-browser open <url>
agent-browser close
# Seiten-Snapshot
agent-browser snapshot # vollständiger Accessibility-Baum
agent-browser snapshot -i # nur interaktive Elemente (empfohlen)
# Interaktion
agent-browser click @e1
agent-browser fill @e2 "text"
agent-browser type @e2 "text"
agent-browser press Enter
agent-browser scroll down 500
# Informationen abrufen
agent-browser get text @e1
agent-browser get title
agent-browser get url
# Warten
agent-browser wait @e1
agent-browser wait 2000
agent-browser wait --load networkidle
Hinweise
agent-browser closemuss ausgeführt werden, sonst gibt es Prozesslecks- Vor der Bedienung immer einen Snapshot erstellen, keine Elementreferenzen raten
- Nach dem Absenden eines Formulars mit
wait --load networkidleauf Seitenstabilität warten
Teil 2: Desktop-Anwendungsautomation (OpenReverse)
Überblick
OpenReverse ist ein Framework für KI-Agenten zur Desktop-Interaktion und Beweiserfassung. Es unterstützt:
- UIA-Modus: Windows UI Automation, strukturierte Desktop-Steuerelement-Bedienung
- CUA-Modus: Visuelle Interaktion (Computer Use Agent), geeignet für komplexe GUIs
- Netzwerkbeobachtung: Integrierter mitmproxy-Proxy + lokales Mitschneiden
Interaktionsmodus-Auswahl
| Modus | Geeignet für | Grundlage |
|---|---|---|
| UIA | Ziel-App hat Standard-Windows-Steuerelemente (Buttons, Textfelder, Listen) | Windows UI Automation API |
| CUA | Ziel-App hat komplexe oder nicht standardisierte Steuerelemente (IDAs Disassembler-Ansicht, benutzerdefinierte Renderings) | Bilderkennung + Maus/Tastatur |
Netzwerkbeobachtungsmodi
| Modus | Geeignet für |
|---|---|
| Proxy Lane | Ziel-App kann einen Proxy verwenden (empfohlen) |
| Local Lane | Ziel-App kann keinen Proxy verwenden, lokales Mitschneiden nötig |
Installation und Konfiguration
# 1. Projekt klonen
git clone https://github.com/zhexulong/openreverse.git
cd openreverse
# 2. Abhängigkeiten installieren
npm install
# 3. In Agent-Host einbinden (Claude Code / Codex / Zed)
npm run init:agents -- --target=all /path/to/project
# 4. CUA-Runtime installieren (falls visueller Modus nötig)
npm run install:cua-runtime
npm run doctor:cua-runtime
# 5. Netzwerkbeobachtungs-Abhängigkeiten installieren (falls Paketmitschnitt nötig)
npm run install:mitmproxy
npm run doctor:network
Häufige Kombinationen
| Anforderung | Konfiguration |
|---|---|
| Nur Desktop-App bedienen | UIA oder CUA, ohne network lane |
| Desktop-App bedienen + Pakete mitschneiden | UIA/CUA + proxy lane |
| Desktop-App bedienen + lokales Mitschneiden | UIA/CUA + local lane |
Reverse-Engineering-Beispiele
Szenario: IDA Pro automatisiert für Batch-Analysen
1. OpenReverse CUA-Modus verwenden, um IDA Pro zu öffnen
2. Ziel-Binärdatei automatisch laden
3. Warten, bis die Analyse abgeschlossen ist
4. Über die UI die Funktionsliste exportieren
5. Gleichzeitig mit der network lane IDAs Netzwerkverhalten beobachten (z. B. Lumina-Anfragen)
Szenario: x64dbg automatisiert debuggen
1. OpenReverse UIA-Modus verwenden, um x64dbg zu starten
2. Zielprogramm laden
3. Breakpoints setzen
4. Ausführen und Register-/Speicheränderungen beobachten
5. Screenshot als Beweis speichern
Bedarfsgesteuerter Bootstrap
Automatisierungsfähigkeiten-Grenzen
| Tool | Automatisch installierbar | Installationsmethode | Hinweis |
|---|---|---|---|
| Playwright | ✓ | npm + npx playwright install | Browser-Automations-Engine |
| agent-browser CLI | ✓ | npm install -g agent-browser | CLI für Browser-Bedienung |
| Node.js | ✓ | winget | Voraussetzung |
| OpenReverse | ✗ | Manuell klonen + npm install | Experimentell, große Abhängigkeiten |
| mitmproxy | ✗ | Manuell installieren | Abhängigkeit für OpenReverse-Netzwerkbeobachtung |
Bootstrap-Auslöser
- Fehlendes Playwright für Browser-Bedienung → automatischer Bootstrap
- Fehlendes OpenReverse für Desktop-Bedienung → Benutzer zur manuellen Installation führen (vollständige Schritte angeben)
OpenReverse-Manuelle-Installationsanleitung
Wenn der KI-Agent erkennt, dass Desktop-Anwendungsautomation nötig ist, aber OpenReverse nicht installiert wurde:
⚠️ **OpenReverse wird für Desktop-Anwendungsautomation benötigt**
**Installationsschritte**:
1. `git clone https://github.com/zhexulong/openreverse.git`
2. `cd openreverse && npm install`
3. `npm run init:agents -- --target=all <Ihr-Projektpfad>`
4. Für visuellen Modus: `npm run install:cua-runtime`
5. Für Netzwerkbeobachtung: `npm run install:mitmproxy`
**Verifikation**: `npm run doctor:cua-runtime` und `npm run doctor:network`
Routing-Kontext
Eingänge: skills/SKILL.md (Hauptsteuerung), routing.md
Anwendungsbereich: Alle Aufgaben, die eine automatisierte Bedienung von Browsern oder Desktop-Anwendungen erfordern
Ausgänge:
- Erfasste Requests müssen analysiert werden →
anything-analyzeroderjs-reverse - JS-Debugging/Hooks nötig →
jshookmcp - Signaturalgorithmus rekonstruieren →
js-reverse - Desktop-Anwendung ist ein Reverse-Engineering-Tool →
ida-reverse/
Verknüpfte Module auf gleicher Ebene: js-reverse (nach Browser-Bedienung möglicherweise JS-Analyse nötig), ida-reverse (OpenReverse kann IDA GUI automatisieren)
Selbstprüfung vor Abschluss (MUSS vor der Behauptung der Fertigstellung bestanden werden)
- Habe ich jeden Schritt des Workflows ausgeführt (nicht nur gelesen)?
- Habe ich basierend auf
tool-indexdie tatsächlichen Tool-Pfade verwendet? - Habe ich reproduzierbare Beweise erstellt (Befehle/Skripte/Screenshots/Berichte)?
- Habe ich die von den RULES geforderten Checklisten-Punkte abgearbeitet und zurückgeschrieben?