Communitygithub.com

瀏覽器與桌面自動化

使用 Playwright / agent-browser 實現瀏覽器自動化,並透過 OpenReverse 框架操控 Windows 桌面應用,涵蓋網頁操作、逆向工程與網路流量觀察。

瀏覽器與桌面自動化 是什麼?

此技能專為 AI Agent 設計,提供瀏覽器與桌面應用自動化的完整工作流程。支援 Playwright 與 agent-browser CLI 進行瀏覽器操作(如點擊、填表、爬取、截圖),以及 OpenReverse 框架操作 Windows 桌面應用(如 IDA Pro、x64dbg)。桌面模式分為 UIA(結構化控件操作)與 CUA(視覺驅動互動),可搭配內建 mitmproxy 進行網路流量觀察。此外,技能包含按需自舉機制,能自動安裝瀏覽器依賴,並引導手動安裝 OpenReverse。適合用於滲透測試、自動化逆向、批量表單提交等場景,並可與 jshookmcp、js-reverse 等技能串接,形成完整的分析管線。

相容平台✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/zhaoxuya520/reverse-skill/tree/main/skills/browser-automation

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

自動化操作 (Desktop & Browser Automation)

操作要求(讀完後立刻執行)

  1. NOW:確認當前任務是否命中本 skill 的適用範圍
  2. NOW:讀取 ../tool-index.md,校驗工具可用性和實際路徑
  3. NEXT:缺工具時呼叫 bootstrap,不要猜路徑
  4. ACT:進入「工作流」第一步並執行,不要停在確認狀態

適用範圍

當任務屬於以下場景時使用本 skill:

瀏覽器場景(Playwright / agent-browser)

  • 開啟網頁並操作頁面元素(點擊、填表、提交)
  • 爬取頁面內容或截圖
  • 自動化登入流程
  • 滲透測試中與 Web 頁面互動(提交 payload、觸發 XSS)
  • 驗證碼頁面的自動化處理
  • 批量表單提交

桌面應用場景(OpenReverse)

  • 操作 Windows 桌面應用(IDA Pro、x64dbg、Wireshark 等)
  • 需要視覺驅動互動(CUA 模式)
  • 需要結構化 UI 操作(UIA 模式)
  • 桌面應用的網路流量觀察(內建 mitmproxy)
  • 自動化逆向工具的 GUI 操作
  • 黑盒測試桌面軟體

與其他工具的分工

場景用什麼
操作網頁(瀏覽器內)Playwright / agent-browser
操作桌面應用(Windows GUI)OpenReverse
抓包分析、HTTP 請求捕獲anything-analyzer 或 OpenReverse network lane
JS 斷點、Hook、CDP 偵錯jshookmcp
定位簽名演算法、補環境復現js-reverse

簡單判斷:

  • 目標是網頁 → Playwright
  • 目標是 Windows 桌面應用 → OpenReverse
  • 兩者都需要 → 組合使用

Part 1: 瀏覽器自動化(Playwright / agent-browser)

核心工作流

# 1. 開啟頁面
agent-browser open <url>

# 2. 取得可互動元素(回傳 @e1, @e2... 引用)
agent-browser snapshot -i

# 3. 用引用操作元素
agent-browser click @e1
agent-browser fill @e2 "text"

# 4. 完成後關閉
agent-browser close

命令參考

# 導航
agent-browser open <url>
agent-browser close

# 頁面快照
agent-browser snapshot        # 完整無障礙樹
agent-browser snapshot -i     # 僅可互動元素(推薦)

# 互動操作
agent-browser click @e1
agent-browser fill @e2 "text"
agent-browser type @e2 "text"
agent-browser press Enter
agent-browser scroll down 500

# 取得資訊
agent-browser get text @e1
agent-browser get title
agent-browser get url

# 等待
agent-browser wait @e1
agent-browser wait 2000
agent-browser wait --load networkidle

注意事項

  • 必須執行 agent-browser close,否則行程洩漏
  • 操作前先 snapshot,不要猜元素引用
  • 提交表單後用 wait --load networkidle 等頁面穩定

Part 2: 桌面應用自動化(OpenReverse)

概述

OpenReverse 是面向 AI Agent 的桌面互動與證據採集框架,支援:

  • UIA 模式:Windows UI Automation,結構化桌面控制項操作
  • CUA 模式:視覺驅動互動(Computer Use Agent),適合複雜 GUI
  • 網路觀察:內建 mitmproxy 代理 + 本機擷取

互動模式選擇

模式適合場景底層
UIA目標應用有標準 Windows 控制項(按鈕、文字方塊、清單)Windows UI Automation API
CUA目標應用 UI 複雜或非標準控制項(IDA 的反組譯檢視、自訂渲染介面)視覺識別 + 滑鼠鍵盤

網路觀察模式

模式適合場景
Proxy Lane目標應用可以設定代理(推薦)
Local Lane目標應用無法走代理,需要本機擷取

安裝與設定

# 1. Clone 專案
git clone https://github.com/zhexulong/openreverse.git
cd openreverse

# 2. 安裝依賴
npm install

# 3. 接入 Agent 宿主(Claude Code / Codex / Zed)
npm run init:agents -- --target=all /path/to/project

# 4. 安裝 CUA runtime(如果需要視覺驅動模式)
npm run install:cua-runtime
npm run doctor:cua-runtime

# 5. 安裝網路觀察依賴(如果需要抓包)
npm run install:mitmproxy
npm run doctor:network

常見組合

需求設定
只操作桌面應用UIA 或 CUA,不接網路 lane
操作桌面應用 + 抓包UIA/CUA + proxy lane
操作桌面應用 + 本機擷取UIA/CUA + local lane

反向工程場景範例

場景:自動化操作 IDA Pro 進行批量分析

1. 用 OpenReverse CUA 模式開啟 IDA Pro
2. 自動載入目標二進位檔
3. 等待分析完成
4. 透過 UI 操作匯出函式清單
5. 同時用 network lane 觀察 IDA 的網路行為(如 Lumina 請求)
場景:自動化操作 x64dbg 偵錯

1. 用 OpenReverse UIA 模式啟動 x64dbg
2. 載入目標程式
3. 設定中斷點
4. 執行並觀察暫存器/記憶體變化
5. 截圖儲存證據

按需自舉(On-Demand Bootstrap)

自動化能力邊界

工具可自動安裝安裝方式說明
Playwright✓npm + npx playwright install瀏覽器自動化引擎
agent-browser CLI✓npm install -g agent-browser瀏覽器操作 CLI
Node.js✓winget前置依賴
OpenReverse✗手動 clone + npm install實驗階段,依賴較重
mitmproxy✗手動安裝OpenReverse 網路觀察依賴

自舉觸發

  • 瀏覽器操作缺 Playwright → 自動 bootstrap
  • 桌面操作需要 OpenReverse → 引導使用者手動安裝(給出完整步驟)

OpenReverse 手動安裝引導

如果 AI 偵測到需要桌面應用自動化但 OpenReverse 未安裝:

⚠️ **需要 OpenReverse 進行桌面應用自動化**

**安裝步驟**:
1. `git clone https://github.com/zhexulong/openreverse.git`
2. `cd openreverse && npm install`
3. `npm run init:agents -- --target=all <你的專案路徑>`
4. 如需視覺模式:`npm run install:cua-runtime`
5. 如需網路觀察:`npm run install:mitmproxy`

**驗證**:`npm run doctor:cua-runtime` 和 `npm run doctor:network`

路由上下文

上游入口: skills/SKILL.md(總控)、routing.md 適用場景: 任何需要自動化操作瀏覽器或桌面應用的任務 下游出口:

  • 抓到的請求需要分析 → anything-analyzer 或 js-reverse
  • 需要 JS 偵錯/Hook → jshookmcp
  • 需要還原簽名演算法 → js-reverse
  • 桌面應用是逆向工具 → ida-reverse/

同級關聯模組: js-reverse(瀏覽器操作後可能需要分析 JS)、ida-reverse(OpenReverse 可以自動化操作 IDA GUI)

任務完成自檢(聲稱完成前 MUST 通過)

  • 我是否執行了工作流中的每一步(而不是只閱讀)?
  • 我是否基於 tool-index 使用了真實工具路徑?
  • 我是否產出了可複現證據(命令/腳本/截圖/報告)?
  • 我是否完成並回寫了 RULES 要求的 Checklist 項?

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

api-security

Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication, authorization, rate-limit, and CI/CD testing.

apk-reverse

在 CLI 环境下做 Android APK 逆向时使用。适用于 APK 解包、Java 反编译、smali 修改、重打包、Frida 动态 Hook,以及按需切换到 so/native 分析。优先使用本机已安装的 jadx、apktool、frida、adb、ida-reverse、radare2。

attack-chain

Use for authorized multi-stage attack-path planning and orchestration when a task spans reconnaissance, initial access, privilege escalation, lateral movement, or impact assessment. Route single-stage tasks directly to their specialist skill.

binary-diff

|

binary-ninja-reverse

Use for authorized binary analysis in Binary Ninja, including HLIL/MLIL/LLIL inspection, strings/imports/exports, cross-references, types, patch review, Python API automation, and optional Binary Ninja MCP or localhost HTTP integration.

browser-extension-reverse

Use for authorized reverse engineering of browser extensions (Chrome/Firefox) including manifest analysis, background workers, and extension-based credential or traffic logic recovery.

case-review

Reviews a reverse-skill case package for scope readiness, Evidence to Finding to Path traceability, work item coverage, timeline references, and optional artifact hash integrity before report handoff.

cloud-k8s

Use for authorized cloud, container, and Kubernetes security assessment including metadata SSRF, IAM misconfig, container escape paths, and cluster RBAC review.

code-audit

Use for authorized source-code security review and SAST workflows including Semgrep, CodeQL patterns, dangerous API hunting, and fix verification.

ctf-sandbox

Thin PRIMARY for CTF / AWD / 靶场 multi-type orchestration. Hands off to the sidecar CTF-Sandbox-Orchestrator. Use when the user says CTF, AWD, 靶场, or 比赛题 and no more specific pwn/APK/IDA route already won.

database-security

Use for authorized database security assessment covering PostgreSQL/MySQL/MSSQL/Mongo/Redis exposure, authz, UDF/command paths, and misconfiguration review.

diagram-generator

generate, refine, validate, and render diagrams from natural language, notes, code snippets, schemas, tables, or existing diagram source. use for flowcharts, swimlanes, sequence diagrams, state diagrams, er diagrams, class diagrams, architecture/c4-style diagrams, dependency graphs, gantt charts, mind maps, user journeys, sankey-style flows, org charts, network graphs, and other visual models. supports mermaid by default, graphviz dot for complex graph layout, plantuml for uml-heavy engineering diagrams, and svg output when direct markup is more reliable.

digital-forensics

Use for authorized digital forensics including memory dumps, disk timelines, PCAP investigation, artifact triage, and IR evidence preservation.

docs-generator

|

dotnet-reverse

.NET / C# 二进制逆向。当目标是 .NET assembly(PE 头含 CLR、.exe/.dll 托管程序)、C# 编译产物(含 NativeAOT)、红队 Sharp* 工具(Rubeus / SharpHound / SharpHound 等)、.NET 混淆程序(ConfuserEx / SmartAssembly / Babel / Eazfuscator)、.NET loader / info-stealer / 套壳 malware 时使用。优先用 dnSpyEx + de4dot,需要 AI 直接操作时联动 dnSpy MCP。不用于纯 native 二进制(走 reverse-engineering / ida-reverse)。

edr-bypass-re

|

email-security

Use for authorized email security review including phishing analysis, header authentication (SPF/DKIM/DMARC), BEC patterns, and mailbox token abuse research.

firmware-pentest

|

ghidra-reverse

Use for free/open reverse engineering with Ghidra (headless or GUI), including decompile, cross-refs, and optional Ghidra MCP workflows when IDA is unavailable.

go-rust-reverse

Use for reverse engineering stripped Go and Rust binaries including runtime recognition, pclntab/moduel data recovery, panic strings, and idiomatic decompilation recovery.

相關技能