Communitygithub.com

browser-automation

デスクトップとブラウザの自動化を行うスキルです。Playwright/agent-browser による Web 操作と、OpenReverse による Windows デスクトップアプリ操作を提供します。

browser-automation とは?

このスキルは、AI エージェント(Claude Code、Codex など)がブラウザとデスクトップアプリケーションを自動操作するための統一インターフェースを提供します。ブラウザ操作は Playwright と agent-browser CLI を使い、ページの開閉、要素のクリック、フォーム入力、スクリーンショット取得、ネットワーク待機などをコマンドベースで実行できます。デスクトップアプリ操作は OpenReverse フレームワークを介し、UIA(構造化 UI)モードと CUA(ビジュアル駆動)モードの2つの方式をサポート。さらに、mitmproxy を内蔵したネットワーク観測機能により、アプリの通信内容も同時に取得可能です。ツールが不足している場合は自動 bootstrap を試み、OpenReverse のように手動インストールが必要なものはユーザーにガイドを提示する設計になっています。このスキルは主にリバースエンジニアリング、ペネトレーションテスト、自動化テストの現場で活用されます。

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

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

デスクトップ & ブラウザ自動化 (Desktop & Browser Automation)

ACTION REQUIRED(読了後すぐに実行)

  1. NOW:現在のタスクがこのスキルの適用範囲に該当するか確認
  2. NOW:../tool-index.md を読み、ツールの可用性と実際のパスを検証
  3. NEXT:ツール不足時は bootstrap を呼び出し、パスを推測しない
  4. ACT:「ワークフロー」の最初のステップに進んで実行し、確認状態で止まらない

適用範囲

以下のシナリオに該当するタスクで本スキルを使用します。

ブラウザシナリオ(Playwright / agent-browser)

  • ウェブページを開き、ページ要素を操作する(クリック、フォーム入力、送信)
  • ページコンテンツのスクレイピングまたはスクリーンショット
  • ログインフローの自動化
  • ペネトレーションテストにおける Web ページとの連携(ペイロード送信、XSS トリガー)
  • CAPTCHA ページの自動処理
  • バッチフォーム送信

デスクトップアプリケーションシナリオ(OpenReverse)

  • Windows デスクトップアプリケーションの操作(IDA Pro、x64dbg、Wireshark 等)
  • ビジュアル駆動のインタラクションが必要(CUA モード)
  • 構造化 UI 操作が必要(UIA モード)
  • デスクトップアプリケーションのネットワークトラフィック監視(mitmproxy 内蔵)
  • リバースエンジニアリングツールの GUI 操作の自動化
  • ブラックボックステスト(デスクトップソフトウェア)

他のツールとの役割分担

シナリオ使用ツール
ウェブページ操作(ブラウザ内)Playwright / agent-browser
デスクトップアプリ操作(Windows GUI)OpenReverse
パケットキャプチャ、HTTP リクエスト取得anything-analyzer または OpenReverse network lane
JS ブレークポイント、フック、CDP デバッグjshookmcp
署名アルゴリズムの特定、環境再現js-reverse

簡単な判断基準:

  • ターゲットがウェブページ → Playwright
  • ターゲットが Windows デスクトップアプリ → OpenReverse
  • 両方必要な場合 → 組み合わせて使用

パート 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 でページが安定するのを待つこと。

パート 2: デスクトップアプリ自動化(OpenReverse)

概要

OpenReverse は AI エージェント向けのデスクトップインタラクション&証拠収集フレームワークです。対応機能:

  • UIA モード:Windows UI Automation、構造化デスクトップコントロール操作
  • CUA モード:ビジュアル駆動インタラクション(Computer Use Agent)、複雑な GUI 向け
  • ネットワーク監視:mitmproxy プロキシ内蔵 + ローカルキャプチャ

インタラクションモードの選択

モード適したシナリオ基盤技術
UIAターゲットアプリに標準 Windows コントロールあり(ボタン、テキストボックス、リスト)Windows UI Automation API
CUAターゲットアプリの UI が複雑または非標準コントロール(IDA の逆アセンブリビュー、カスタムレンダリング UI)ビジュアル認識 + マウス/キーボード

ネットワーク監視モード

モード適したシナリオ
Proxy Laneターゲットアプリがプロキシを設定できる場合(推奨)
Local Laneターゲットアプリがプロキシ経由不可、ローカルキャプチャが必要な場合

インストールと設定

# 1. プロジェクトをクローン
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 ランタイムをインストール(ビジュアル駆動モードが必要な場合)
npm run install:cua-runtime
npm run doctor:cua-runtime

# 5. ネットワーク監視の依存関係をインストール(キャプチャが必要な場合)
npm run install:mitmproxy
npm run doctor:network

よくある組み合わせ

要件設定
デスクトップアプリのみ操作UIA または CUA、network 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 デバッグ/フックが必要 → 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.

関連スキル