zhaoxuya520/reverse-skill

browser-automation

统一自动化入口。覆盖浏览器自动化(Playwright)和 Windows 桌面应用自动化(OpenReverse)。 浏览器场景:打开网页、点击、填表、爬取、截图、自动化登录、渗透页面交互。 桌面场景:操作 IDA/x64dbg 等 GUI 工具、Windows UI Automation、视觉驱动交互、桌面应用网络抓包。 触发关键词:浏览器自动化、桌面自动化、打开网页、填表、爬取、截图、自动化登录、Playwright、agent-browser、headless、OpenReverse、UIA、CUA、…

Vedi sorgente
Documento Skill originale

Contenuto dal repository con titoli, esempi, codice, tabelle, link e immagini preservati.

自动化操作 (Desktop & Browser Automation)

ACTION REQUIRED(读完后立刻执行)

  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)

核心工作流

bash
# 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

命令参考

bash
# 导航
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目标应用无法走代理,需要本地抓取

安装与配置

bash
# 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

逆向场景示例

text
场景:自动化操作 IDA Pro 进行批量分析

1. 用 OpenReverse CUA 模式打开 IDA Pro
2. 自动加载目标二进制
3. 等待分析完成
4. 通过 UI 操作导出函数列表
5. 同时用 network lane 观察 IDA 的网络行为(如 Lumina 请求)
text
场景:自动化操作 x64dbg 调试

1. 用 OpenReverse UIA 模式启动 x64dbg
2. 加载目标程序
3. 设置断点
4. 运行并观察寄存器/内存变化
5. 截图保存证据

按需自举(On-Demand Bootstrap)

自动化能力边界

工具可自动安装安装方式说明
Playwrightnpm + npx playwright install浏览器自动化引擎
agent-browser CLInpm install -g agent-browser浏览器操作 CLI
Node.jswinget前置依赖
OpenReverse手动 clone + npm install实验阶段,依赖较重
mitmproxy手动安装OpenReverse 网络观察依赖

自举触发

  • 浏览器操作缺 Playwright → 自动 bootstrap
  • 桌面操作需要 OpenReverse → 引导用户手动安装(给出完整步骤)

OpenReverse 手动安装引导

如果 AI 检测到需要桌面应用自动化但 OpenReverse 未安装:

markdown
⚠️ **需要 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-analyzerjs-reverse
  • 需要 JS 调试/Hook → jshookmcp
  • 需要还原签名算法 → js-reverse
  • 桌面应用是逆向工具 → ida-reverse/

同级关联模块: js-reverse(浏览器操作后可能需要分析 JS)、ida-reverse(OpenReverse 可以自动化操作 IDA GUI)

任务完成自检(声称完成前 MUST 通过)

  • [ ] 我是否执行了工作流中的每一步(而不是只阅读)?
  • [ ] 我是否基于 tool-index 使用了真实工具路径?
  • [ ] 我是否产出了可复现证据(命令/脚本/截图/报告)?
  • [ ] 我是否完成并回写了 RULES 要求的 Checklist 项?
dallo stesso repository

Altri Skills

Tutti gli Skills
zhaoxuya520
Community

reverse-skill-router

Routes reverse engineering, exploitation, penetration testing, malware, mobile, firmware, browser automation, documentation, and security tasks to the appropriate specialist skill. Use when a task spans modules or the correct reverse-skill entrypoint is unclear.

installazioni
2
GitHub Stars
34,1K
Aggiornato
31 ago
zhaoxuya520
Community

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.

installazioni
1
GitHub Stars
36,6K
Aggiornato
3 set
zhaoxuya520
Community

api-security

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

installazioni
1
GitHub Stars
36,3K
Aggiornato
3 set
zhaoxuya520
Community

binary-diff

跨版本符号迁移与二进制差分。当你有旧版本的符号/逆向结果,需要快速迁移到新版本时使用。 适用场景:内核缺 PDB 用旧版符号推导、程序更新后批量迁移函数名、应用更新后快速定位新偏移。 核心方法:用 LLM 做结构化差异比对,程序化输入输出,成本极低(200 函数 ~1 元)。 触发关键词:符号迁移、bindiff、跨版本、PDB 缺失、函数偏移迁移、symbol migration、binary diff、版本对比。

installazioni
1
GitHub Stars
36,3K
Aggiornato
3 set