
AIエージェント向けの検索優先・プロファイル対応リバースエンジニアリングワークスペース — 1つのMCPサーバーに36ドメイン・735ツールを収録。
AIエージェント向けの、検索ファーストでプロファイル対応のリバースエンジニアリングワークスペース。
ページをフックし、ネットワークをキャプチャし、バンドルを難読化解除し、WASMを逆アセンブルし、プロセスを計装する — そして1つのMCPサーバーが、モデルをスキーマの洪水で溺れさせることなく、攻撃対象領域全体を手の届く範囲に保つ。
English · 中文
何が違うのか · 機能 · ユースケース · ハイライト · トランスポート · レジストリ · アーキテクチャ · ビルド
ドキュメント · はじめに · 設定 · ツールリファレンス
Sponsored by Swiftproxy
— Web自動化向けプレミアムレジデンシャルプロキシ · 10%オフコード: PROXY90
JS解析向けのMCPサーバーの多くは、手作りのツールをいくつか公開するか、単一のブラウザエンジンをラップしているだけです。jshookはどちらかといえばフロントエンドリバースエンジニアリングのためのオペレーティングシステムに近い存在です — 自己発見型の36ドメイン、トークンコストを抑える検索ファーストのメタツール、そして壊れたページや切断されたセッションを生き延びるランタイムリカバリを備えています:
searchプロファイルは約3Kトークンのツールメタデータを読み込み、fullプロファイルは735個すべてのツールを約109Kトークンで公開します(計測日 2026-10-10 — この数値はツール数に比例して増えるため、カタログが拡大したら再計測してください)。エージェントはタスクの成長に合わせて search → workflow → full と切り替えられ、最初のターンからスキーマに溺れることはありません。wasm2wat / wasm-decompile / wasm-objdump)、Frida/Ghidra/IDAブリッジ、ネイティブFFIスキャン、ハードウェアブレークポイント、PEイントロスペクション、GraphQL/Burp Suiteプロキシブリッジ、AST変換 — 単一の正規表現呼び出しをツールとしてラップしたものではありません。同梱されているものの一覧です。各行は下記の詳細な機能概要にリンクしています。
| 領域 | ハイライト |
|---|---|
| ツールプロファイル | search(約3Kトークン、BM25 + ハイブリッドベクトルランキング) · workflow(複合スクリプト) · full(735ツールすべて) |
| ブラウザ自動化 | ChromiumとCamoufox · 既存ターゲットへのCDPアタッチ · アンチ検出プリセット · 明示的入力によるCAPTCHAソルバー · ポップアップ、ダウンロード、権限、プロトコルのインターセプタ |
| ネットワーク傍受 | HTTP/1.1 + HTTP/2フレーム構築 · 自動生成CA付きMITMプロキシ · WebSocketキャプチャ · GraphQLイントロスペクションヘルパー · Burp Suiteブリッジ |
| JSフックと解析 | LLM駆動の難読化解除 · 暗号ルーチン検出 · AST理解 · ソースマップ再構築 · スクリプト/スクリプトレットの抽出とリプレイ |
| WASMリバースエンジニアリング | wabt逆アセンブル / Cトランスパイル(wasm2wat / wasm-decompile / wasm-objdump / wasm2c) · Binaryen wasm-opt · 純TSセクションパーサー · import/export一覧 · 名前セクション復元付きのセクション別文字列抽出 · 関数レベルのバイナリ差分 · 難読化検出 · 関数および基本ブロックレベルの計装 |
| プロセスとメモリフォレンジック | ネイティブFFIスキャン · クロスリファレンスグラフ · ハードウェアブレークポイント · PEイントロスペクション · ライブプロセスアタッチ · リージョンガード付きメモリ読み書き |
| バイナリ計装 | Fridaブリッジ · GhidraとIDAブリッジ · syscallフッキング · TLSキーログとセッションツーリング · Mojo IPC解析 |
| AndroidとAPK解析 | APK静的トリアージ · マニフェストダンプとクエリ · apktoolデコード / ビルド · jadx逆コンパイルとコード検索 · DEXスキャン · ネイティブライブラリ一覧 · APK署名 · unidbgエミュレーション · ランタイムDEXダンプ |
| ネイティブランタイム | 異種アーキテクチャサンプル向けネイティブエミュレータ · プラットフォームイントロスペクション · Mojo IPC · Dart Inspector · オンデバイストラフィック向けADBブリッジ |
| エンコードと変換 | URL/Base64/Hex/JWT/Protobufエンコーダ · AST変換 · ストリーミングデコードパイプライン |
| コーディネーション | 進捗、キャンセル、非同期モード付きバックグラウンドタスクキュー · マルチエージェントコーディネーション · カバレッジレポート |
| スキーマファーストのメタツール | describe_tool · 引数検証付きcall_tool · coverage_report · search_tools |
| プラグイン可能な拡張レジストリ | ホットリロードプラグイン · 宣言的ワークフロー · 自動発見ドメイン |
| シナリオ | やること | 関与するドメイン |
|---|---|---|
| ミニファイされたバンドルをざっと読む | search_tools → deobfuscate → search_in_scripts → understand_code | core |
| CAPTCHAチャレンジをリバースする | Camoufoxページを操作 → スクリーンショット → 明示的入力で解く → リプレイ | browser, canvas |
| OAuthフローをキャプチャしてリプレイする | proxy_start(自動CA) → network_get_requests → graphql_introspect → graphql_replay | proxy, network, graphql |
| WASM暗号ルーチンをリバースする | wasm_dump → wasm_disassemble → generate_hooks → memory_breakpoint | wasm, binary-instrument, memory |
| 疑わしいAPKをトリアージする | apk_static_triage → apk_manifest_dump → jadx_decompile → dex_scan_file | binary-instrument |
| 切断されたブラウザセッションを復元する | Streamable HTTPに再接続 → 有効化されたドメインとブラウザ状態を復元 | browser, coordination |
| Nodeプロセスの認証情報を監査する | process_list → memory_scan_filtered → binary_strings_extract | process, memory, binary-instrument |
| カスタムワークフローを構築する | list_extension_workflows → run_extension_workflow | workflow, extension-registry |
| ライブプロセス内の関数をフックする | frida_spawn → frida_attach_interceptor → frida_run_script → frida_enumerate_functions | binary-instrument |
グローバルインストールは不要です — MCPクライアントの設定に追加すれば準備完了です。
Claude Desktop / Cursor (claude_desktop_config.json):
{
"mcpServers": {
"jshook": {
"command": "npx",
"args": ["-y", "@jshookmcp/jshook@latest"],
"env": {
"MCP_TOOL_PROFILE": "search",
"npm_config_omit": "optional"
}
}
}
}
(Windows: npxが見つからない場合はnpx.cmdの絶対パスを使用してください。)
この軽量構成では、オプションのONNX、Z3、Binaryen、Camoufox、Playwrightパッケージをスキップします。これらのフルプロファイルランタイムが必要な場合はnpm_config_omitを削除してください。
デフォルトのstdio構成では、MCPホストごとに1つの完全なjshookプロセスが起動します。埋め込みモデル、ブラウザランタイム、キャッシュを共有するには、ローカルのStreamable HTTPデーモンを1つ起動します:
pnpm build
pnpm daemon