Skip to main content
Glama
WhiteNightShadow

camoufox-reverse-mcp

camoufox-reverse-mcp

中文 | English

MCP-сервер на базе антифингерпринт-браузера, специально разработанный для реверс-инжиниринга JavaScript.

MCP-сервер (Model Context Protocol), позволяющий ИИ-ассистентам (Claude Code, Cursor, Cline и др.) использовать антифингерпринт-браузер Camoufox для проведения операций реверс-инжиниринга на целевых сайтах: анализ параметров API, статический анализ JS-файлов, динамическая отладка с точками останова, отслеживание через перехват функций (Hook), перехват сетевого трафика, анализ байт-кода JSVMP, управление Cookie/хранилищем и многое другое.

Почему стоит выбрать 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: Прямая установка через диалог с ИИ (рекомендуется)

Введите в диалоговом окне вашего инструмента для кодинга (Cursor / Claude Code / Codex и т.д.):

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

ИИ автоматически выполнит все процессы: клонирование, установку зависимостей и настройку 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

Hook или отслеживание функций: 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_hooks, hook_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

Отслеживание доступа к свойствам DOM на уровне движка C++ (необнаружимо для JSVMP). Поддерживает четыре вида: summary/timeline/sequence/search. duration=0 считывает все события с момента запуска, duration>0 открывает новое окно отслеживания. collect_values=True автоматически считывает реальные значения всех свойств из браузера (большие значения сохраняются в файл)

list_trace_files

Список всех локальных файлов трассировки (для последующего анализа)

query_trace_file

Запрос указанного исторического файла трассировки, поддерживает фильтрацию по объекту/ключевому слову


Примеры сценариев использования

Сценарий 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) результаты трассировки определяют, «какие свойства нужно дополнить», чтобы избежать утечек из-за избыточных дополнений.


Техническая архитектура

┌─────────────────────────────────────────────────┐
│           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_browser добавлен параметр enable_trace.

Новые инструменты

  • trace_property_access — отслеживание доступа к свойствам DOM на уровне движка C++ (необнаружимо для JSVMP), поддерживает четыре вида: summary/timeline/sequence/search

  • list_trace_files — список локальных файлов трассировки

  • query_trace_file — запрос исторических файлов трассировки

Изменения

  • В launch_browser добавлен параметр enable_trace, при включении автоматически внедряются CAMOU_CONFIG и MOZ_DISABLE_CONTENT_SANDBOX

  • В check_environment добавлено поле camoufox_reverse для проверки состояния установки кастомного браузера

Зависимости

  • Требуется кастомная версия браузера camoufox-reverse (опционально, если не установлена, не влияет на остальные 32 инструмента)

v1.0.0 (2026-04-18) — Оптимизация инструментов + возвращение к набору инструментов для чистого JS-реверса

Мажорная версия: 80 → 32 инструмента, количество токенов схемы сокращено вдвое. Удалены системы архивов сессий/утверждений, возвращение к позиционированию как инструмента для чистого 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_request: параметр max_body_size управляет обрезкой тела (по умолчанию 5000)

  • launch_browser: диагностика остаточного состояния при already_running

Удаленная зависимость: tldextract (использовалась только для сессий)

Философия дизайна: MCP — это чистый набор инструментов (stateless), он не занимается управлением рабочими процессами. Память/накопление аналитических проектов относятся к уровню навыков и рабочей области пользователя.

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 по умолчанию переписывает AST на стороне MCP

  • В hook_jsvmp_interpreter добавлен mode="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 ID: han8888v8888

При добавлении в друзья, пожалуйста, укажите «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