Skip to main content
Glama
WhiteNightShadow

camoufox-reverse-mcp

camoufox-reverse-mcp

中文 | English

反指紋ブラウザベースのMCPサーバー。JavaScriptリバースエンジニアリング専用に設計されています。

AIコーディングアシスタント(Claude Code、Cursor、Clineなど)が、Camoufox反指紋ブラウザを通じて、ターゲットサイトに対してインターフェースパラメータ分析、JSファイルの静的分析、動的ブレークポイントデバッグ、関数フック追跡、ネットワークトラフィックインターセプト、JSVMPバイトコード分析、Cookie/ストレージ管理などのリバースエンジニアリング操作を実行できるようにするMCP(Model Context Protocol)サーバーです。

なぜCamoufoxを選ぶのか?

特徴

chrome-devtools-mcp

camoufox-reverse-mcp

ブラウザエンジン

Chrome (Puppeteer)

Firefox (Camoufox)

検知回避策

なし

C++エンジンレベルの指紋偽装

デバッグ能力

限定的(ブレークポイントなし)

Playwright + JS Hook

JSVMP分析

なし

インタプリタのインストルメンテーション + ソースコードレベルの書き換え

Hookの永続化

非対応

コンテキストレベルの永続化、ナビゲーション後の自動再注入

核心的な利点:

  • CamoufoxはC++レベルで指紋情報を変更するため、JS層のパッチではなく、根本的に検知不可能

  • Jugglerプロトコルのサンドボックス分離により、Playwrightがページ上のJSから完全に検知不可能

  • BrowserForgeが実世界のトラフィック統計分布に基づいて指紋を生成するため、ランダムな寄せ集めではない

  • RS、AK、JY、CFなどの強力なアンチスクレイピングサイトで正常に動作

  • HookはObject.definePropertyによる上書き防止保護を使用しており、ページスクリプトは元のメソッドを復元できない


クイックスタート

方法1:AIダイアログから直接インストール(推奨)

AIコーディングツール(Cursor / Claude Code / Codexなど)のダイアログに以下を入力してください:

帮我安装下这个mcp工具:camoufox-reverse-mcp
项目地址:https://github.com/WhiteNightShadow/camoufox-reverse-mcp

AIがクローン、依存関係のインストール、MCPサーバーの設定という全プロセスを自動的に完了します。

方法2:手動インストール

git clone https://github.com/WhiteNightShadow/camoufox-reverse-mcp.git
cd camoufox-reverse-mcp
pip install -e .

クライアント設定

{
  "mcpServers": {
    "camoufox-reverse": {
      "command": "python",
      "args": ["-m", "camoufox_reverse_mcp"]
    }
  }
}
{
  "mcpServers": {
    "camoufox-reverse": {
      "command": "python",
      "args": ["-m", "camoufox_reverse_mcp", "--headless"]
    }
  }
}
{
  "mcpServers": {
    "camoufox-reverse": {
      "command": "python",
      "args": [
        "-m", "camoufox_reverse_mcp",
        "--proxy", "http://127.0.0.1:7890",
        "--geoip",
        "--humanize"
      ]
    }
  }
}

利用可能なツール一覧(35個)

ブラウザ制御

ツール

説明

launch_browser

Camoufox反指紋ブラウザを起動

close_browser

ブラウザを閉じ、リソースを解放

navigate

指定URLへナビゲート(pre_inject_hooks、redirect_chain追跡をサポート)

reload

ページをリロード

take_screenshot

スクリーンショット(全ページ、指定要素をサポート)

take_snapshot

ページのアクセシビリティツリーを取得(トークン効率的)

click / type_text

要素をクリック / テキストを入力

wait_for

要素の出現またはURLの一致を待機

get_page_info

現在のページのURL、タイトル、ビューポートサイズを取得

JS実行とデバッグ

ツール

説明

evaluate_js

ページコンテキストで任意のJS式を実行(マルチ戦略JSON解析)

スクリプト分析

ツール

説明

scripts(action)

スクリプト管理:list 一覧表示 / get ソース取得 / save ローカル保存

search_code

キーワード検索(script_url=None で全量検索、URL指定で単一スクリプト検索、圧縮ファイルは自動的に文字レベルのコンテキストで検出)

Hookと追跡

ツール

説明

hook_function

関数のフックまたは追跡:mode="intercept" コード注入 / mode="trace" 非侵入型追跡

inject_hook_preset

プリセットHookの一括注入(xhr / fetch / crypto / websocket / debugger_bypass / cookie / runtime_probe)

remove_hooks

すべてのHookを削除し、元のオブジェクトを復元

get_console_logs

ページのconsole出力を取得

ネットワーク分析

ツール

説明

network_capture(action)

ネットワークキャプチャ制御:start / stop / clear / status

list_network_requests

キャプチャされたリクエストの一覧表示(URL / ドメイン / メソッド / タイプ / ステータスコードによるフィルタリングをサポート)

get_network_request

リクエストの詳細を取得(max_body_size でボディの切り捨てを制御)

get_request_initiator

リクエストを開始したJSコールスタックを取得

intercept_request

リクエストのインターセプト:log / block / modify / mock / stop

JSVMPリバース分析

アンチスクレイピングタイプ → ツールパス対照表

アンチスクレイピングタイプ

代表例

✅ 推奨パス

❌ 禁止

署名型(環境=署名)

RS 5/6、AK sensor_data

instrumentation(action="install")

pre_inject_hookshook_jsvmp_interpreter(mode="proxy")

行動型(パラメータ署名)

TK JSVMP、JY gt4

hook_jsvmp_interpreter(mode="proxy")

純粋な難読化

一般的なJS難読化ツール

任意の組み合わせ

ツール

説明

hook_jsvmp_interpreter

JSVMPランタイムプローブ(mode="proxy" 全カバー / mode="transparent" 署名安全)

instrumentation(action)

ソースレベルのインストルメンテーション:install 書き換え登録 / log ログ取得 / stop 停止 / reload リロード / status 状態確認

compare_env

ブラウザ環境指紋の収集(Node.js/jsdomとの比較用)

ツール

説明

cookies(action)

Cookie管理:get / set / delete

get_storage

localStorage / sessionStorageを取得

export_state / import_state

ブラウザ状態の完全エクスポート / インポート

検証と環境

ツール

説明

verify_signer_offline

署名関数のオフライン検証:サンプルリストを渡し、サンプルごとに文字レベルで比較し、最初の差異点を特定

check_environment

ワンストップ自己診断:MCPバージョン、依存関係、ブラウザ状態、camoufox-reverseカスタム版の検出

reset_browser_state

残留物(hooks / capture / routes)のクリーンアップ(ブラウザは閉じない)

エンジン層のプロパティ追跡(v1.1.0で追加)

camoufox-reverse カスタム版ブラウザが必要です。インストールされていない場合はエラーメッセージが返されますが、他のツールの使用には影響しません。

ツール

説明

trace_property_access

C++エンジン層のDOMプロパティアクセス追跡(JSVMPで検知不可)。summary/timeline/sequence/searchの4つのビューをサポート。duration=0 で起動時からの全イベントを読み取り、duration>0 で新しい追跡ウィンドウを開始。collect_values=True でブラウザから全プロパティの真の値を自動読み取り(大きな値はファイルに保存)

list_trace_files

ローカルの全traceファイルを一覧表示(事後分析用)

query_trace_file

指定した過去のtraceファイルをクエリ(オブジェクト/キーワードによるフィルタリングをサポート)


使用シナリオ例

シナリオ1:ログインインターフェースの署名パラメータのリバースエンジニアリング

1. launch_browser()
2. inject_hook_preset("xhr")
3. inject_hook_preset("crypto")
4. navigate("https://example.com/login")
5. type_text("#username", "test") → click("#login-btn")
6. list_network_requests(method="POST")
7. get_request_initiator(request_id=3)     ← 定位签名函数
8. search_code("sign")                     ← 搜索签名代码
9. hook_function("window.getSign", mode="trace")
10. reload() → get_console_logs()          ← 收集追踪数据

シナリオ2:汎用JSVMPリバースエンジニアリング(RS / AK / 自社開発VMP)

1. launch_browser()
2. network_capture(action="start")
3. navigate("https://target-site.com/")
4. list_network_requests(resource_type="script")  ← 找到 VMP 脚本
5. instrumentation(action="install", url_pattern="**/vmp_target*.js", mode="ast")
6. inject_hook_preset("cookie", persistent=True)
7. instrumentation(action="reload")               ← 让插桩生效
8. instrumentation(action="log", type_filter="tap_get")  ← 看 VMP 读了什么环境
9. instrumentation(action="log", type_filter="tap_method") ← 看 VMP 调了什么 API
10. compare_env()                                  ← 收集环境用于 Node.js 补齐

シナリオ3:プロトコルコードの検証

1. launch_browser() → navigate("https://target.com")
2. network_capture(action="start")
3. # 触发目标操作,收集带签名的请求
4. reqs = list_network_requests(url_filter="api/search")
5. # 提取样本
6. verify_signer_offline(
     signer_code="(s) => ({'X-Bogus': mySign(s.url)})",
     samples=[{"id": "r1", "input": {...}, "expected": {"X-Bogus": "..."}}]
   )

👉 完全なアンチスクレイピングタイプ識別とワークフローについては docs/JSVMP_PLAYBOOK.md を参照

シナリオ4:エンジン層によるJSVMP環境指紋の追跡(v1.1.0で追加)

camoufox-reverse カスタム版ブラウザ が必要

1. launch_browser(enable_trace=True)           ← 启动带 C++ 追踪的浏览器
2. navigate("https://www.douyin.com/video/xxx") ← JSVMP 执行,事件自动记录
3. trace_property_access(duration=0, mode="summary", collect_values=True)
   → 返回 JSVMP 实际读取的 42 个 DOM 属性、访问频次、以及真实值
   → 小值内联返回,大值(Canvas/WebGL/Cookie 等)自动保存到
     ~/.cache/camoufox-reverse/values/ 目录

# 按时间线查看属性访问节奏
4. trace_property_access(duration=0, mode="timeline", bucket_ms=500)

# 按对象过滤
5. trace_property_access(duration=0, filter_object="webgl")

# 搜索特定属性
6. trace_property_access(duration=0, mode="search", search_query="cookie")

compare_envとの違い

  • trace_property_access:JSVMPが実際に読み取ったプロパティを追跡(正確、C++層、検知不可)

  • compare_env:ブラウザのすべての環境プロパティを収集(全量、JS層)

  • パスBの環境偽装時、trace結果に基づいて「どのプロパティを補完するか」を決定し、補完しすぎによる新たな漏洩ポイントの発生を防ぐ


技術アーキテクチャ

┌─────────────────────────────────────────────────┐
│           AI 编码助手 (Cursor / Claude)          │
│                    ↕ MCP (stdio)                 │
├─────────────────────────────────────────────────┤
│           camoufox-reverse-mcp (35 tools)        │
│  ┌──────────┬──────────┬──────────┬──────────┐  │
│  │Navigation│ Script   │Debugging │ Hooking  │  │
│  │          │ Analysis │          │          │  │
│  ├──────────┼──────────┼──────────┼──────────┤  │
│  │ Network  │ JSVMP    │  Cookie  │  Verify  │  │
│  │ Capture  │ Analysis │ Storage  │  Signer  │  │
│  ├──────────┴──────────┴──────────┴──────────┤  │
│  │ ★ PropertyTracer (trace_property_access)  │  │
│  │   C++ 引擎层 DOM 属性追踪(JSVMP 不可检测)  │  │
│  └───────────────────────────────────────────┘  │
│                    ↕ Playwright API               │
├─────────────────────────────────────────────────┤
│      Camoufox (反指纹 Firefox, Juggler 协议)      │
│  C++ 引擎级指纹伪造 · BrowserForge 真实指纹分布     │
└─────────────────────────────────────────────────┘

更新履歴

v1.1.0(2026-04-22)— エンジン層のプロパティ追跡

3つのツールを追加、launch_browserenable_trace パラメータを追加。

追加ツール

  • trace_property_access — C++エンジン層のDOMプロパティアクセス追跡(JSVMPで検知不可)、summary/timeline/sequence/searchの4つのビューをサポート

  • list_trace_files — ローカルのtraceファイルを一覧表示

  • query_trace_file — 過去のtraceファイルをクエリ

変更点

  • launch_browserenable_trace パラメータを追加。有効にすると CAMOU_CONFIGMOZ_DISABLE_CONTENT_SANDBOX が自動注入される

  • check_environmentcamoufox_reverse フィールドを追加し、カスタム版ブラウザのインストール状態を検出

依存関係

  • camoufox-reverse カスタム版ブラウザが必要(オプション、インストールしなくても他の32個のツールには影響なし)

v1.0.0(2026-04-18)— ツール精査 + 純粋なJSリバースツールセットへの回帰

メジャーバージョン:80 → 32ツール、schemaトークンを半減。セッションアーカイブ/アサーションシステムを削除し、純粋なJSリバースツールとしての位置付けに回帰。

ツールの統合(v0.9.0)

  • network_capture(action=start/stop/clear/status) ← start/stop_network_capture

  • scripts(action=list/get/save) ← list_scripts / get_script_source / save_script

  • search_code(keyword, script_url=None) ← search_code / search_code_in_script

  • hook_function(path, mode=intercept/trace) ← hook_function / trace_function

  • instrumentation(action=install/log/stop/reload/status) ← instrument_jsvmp_source / get_instrumentation_log / stop_instrumentation / reload_with_hooks / get_instrumentation_status

  • cookies(action=get/set/delete) ← get_cookies / set_cookies / delete_cookies

削除されたツール

  • セッションアーカイブシステム(7個):start/stop_reverse_session、list_sessions、get_session_snapshot、attach_domain_readonly、export/import_session

  • アサーションシステム(4個):add/verify/list/remove_assertion

  • 使用頻度の低いツール(37個):trace_property_access、freeze_prototype、find_dispatch_loops、get_page_content、bypass_debugger_trap、check_detection、get_fingerprint_info、dump_jsvmp_strings、evaluate_js_handle、add_init_script、set_breakpoint_via_hook、get_breakpoint_dataなど

追加

  • verify_signer_offline — ステートレスな署名関数検証(verify_against_sessionの代替)

バグ修正(v0.8.1)

  • evaluate_js:マルチ戦略JSON解析(制御文字のクリーンアップ、二重エンコーディングのアンパック)

  • navigate:デフォルトでネットワークキャッシュをクリアし、ナビゲーションをまたぐリクエストの汚染を防止

  • get_network_requestmax_body_size パラメータでボディの切り捨てを制御(デフォルト5000)

  • launch_browser:already_running時に残留状態の診断を返す

削除された依存関係tldextract(セッションのみで使用)

設計理念:MCPは純粋なツールセット(ステートレス)であり、ワークフロー管理は行わない。分析プロジェクトの記憶/蓄積はスキル層とユーザーワークスペースに属する。

v0.6.0 — 実戦バグ修正

  • hook_jsvmp_interpreter(mode="proxy"):Proxy再帰による too much recursion を修正

  • remove_hooks:Proxyオブジェクトを真に復元

  • evaluate_js:BOM / lone surrogate / whitespace の自動クリーンアップ

  • instrument_jsvmp_source:CSPプリチェック

  • navigate:タイムアウト時の優雅なダウングレード

v0.5.0 — 署名型アンチスクレイピング互換性

  • instrument_jsvmp_source のデフォルトMCP側AST書き換え

  • hook_jsvmp_interpretermode="transparent" を追加

  • アンチスクレイピングタイプ決定表 + JSVMP Playbook

v0.4.0 — 汎用JSVMP適応

  • ソースレベルのインストルメンテーション、Cookie帰属、ランタイムプローブ

  • hook_jsvmp_interpreterのマルチパスオーバーライド書き換え

v0.3.0 — 安定性修正

v0.2.0 — Hookの永続化 + JSVMP分析

v0.1.0 — 初期バージョン(44ツール)


フィードバック / 交流

使用中にバグに遭遇した場合、新しいHookプリセットが欲しい場合、またはJSリバースエンジニアリングのアイデアを交流したい場合は、WeChatまでご連絡ください:

  • WeChat IDhan8888v8888

友達申請の際は「camoufox-reverse」とメモしていただけると、迅速に承認できます。

ライセンス

MIT

Install Server
F
license - not found
A
quality
-
maintenance - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/WhiteNightShadow/camoufox-reverse-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server