面向 AI 代理的搜索优先、配置文件感知逆向工程工作区——一个 MCP 服务器中涵盖 36 个领域的 735 款工具。
一个为 AI 智能体打造的搜索优先、档位可调的前端逆向工程工作台。
English · 中文
有什么不同 · 能力概览 · 典型场景 · 亮点 · 传输与部署 · 注册表 · 架构 · 构建
赞助商:Swiftproxy
— 高质量纯净住宅 IP 提供商 · 九折码:PROXY90
大多数面向 JS 分析的 MCP 服务器只暴露少量手写工具,或者只封装一个浏览器引擎。jshook 更接近 面向前端逆向工程的操作系统——36 个自发现域、搜索优先的元工具控制 token 开销、以及能在页面崩溃和会话中断时恢复的运行时:
search 档加载约 3K token 的工具元数据;full 档一次性暴露全部 735 个工具,约 109K token(2026-10-10 实测——该值随工具总数增长,工具目录变大后需重新测量)。智能体按任务复杂度逐级提升:search → workflow → full,避免在第一轮就淹没在 schema 海洋里。wasm2wat / wasm-decompile / wasm-objdump)、Frida/Ghidra/IDA 桥接、原生 FFI 扫描、硬件断点、PE 内省、GraphQL/Burp Suite 代理桥接、AST 变换——而不是把单条正则塞进工具里。下面是开箱即用能力的快速扫描。每一行都链向下方的 能力概览。
| 能力域 | 亮点 |
|---|---|
| 工具档位 | search(约 3K token,BM25 + 混合向量排序)· workflow(复合脚本)· full(全部 735 工具) |
| 浏览器自动化 | Chromium 与 Camoufox · CDP 附着已有目标 · 反检测预设 · 显式输入 CAPTCHA 求解 · 弹窗、下载、权限、协议拦截器 |
| 网络拦截 | HTTP/1.1 + HTTP/2 帧级构造 · MITM 代理自动生成 CA · WebSocket 抓包 · GraphQL 自省辅助 · Burp Suite 桥接 |
| JS Hook 与分析 | LLM 驱动的反混淆 · 加密逻辑识别 · AST 深度理解 · Source Map 重建 · 脚本提取与回放 |
| WASM 逆向工程 | wabt 反汇编 / C 转译(wasm2wat / wasm-decompile / wasm-objdump / wasm2c)· Binaryen wasm-opt · 纯 TS section 解析 · 导入/导出列表 · 按 section 分组的字符串提取(含 name 段函数名恢复)· 函数级二进制 diff · 混淆检测 · 函数级与基本块级插桩 |
| 进程与内存取证 | 原生 FFI 扫描 · 交叉引用图谱 · 硬件断点 · PE 内省 · 活进程附着 · 带区域守卫的内存读写 |
| 二进制插桩 | Frida 桥接 · Ghidra 与 IDA 桥接 · 系统调用 hook · TLS keylog 与会话分析 · Mojo IPC 分析 |
| Android 与 APK 分析 | APK 静态分诊 · manifest 导出与查询 · apktool 反编译/回编 · jadx 反编译与代码检索 · DEX 扫描 · native 库列表 · APK 签名 · unidbg 模拟执行 · 运行时 DEX dump |
| 原生运行时 | 跨架构样本模拟器 · 平台内省 · Mojo IPC · Dart Inspector · ADB 桥接获取设备流量 |
| 编码与变换 | URL/Base64/Hex/JWT/Protobuf 编码器 · AST 变换 · 流式解码管线 |
| 协同 | 后台任务队列带进度、取消、异步模式 · 多智能体协同 · 覆盖率报告 |
| Schema 优先元工具 | describe_tool · 带参数校验的 call_tool · coverage_report · search_tools |
| 可插拔扩展注册表 | 热重载插件 · 声明式工作流 · 自发现域 |
| 场景 | 做法 | 涉及域 |
|---|---|---|
| 审阅一个压缩后的 bundle | 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 |
| Hook 活进程里的函数 | 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 宿主启动一份完整的 jshook。若要共享 embedding 模型、浏览器运行时和缓存,可以启动一个本地 Streamable HTTP daemon:
pnpm build
pnpm daemon
每客户端 stdio 进程默认关闭向量搜索;共享 HTTP daemon 默认按需开启。只需词法搜索时可设置 SEARCH_VECTOR_ENABLED=false。
然后在各 MCP 客户端的 HTTP/URL server 配置中统一指向 http://127.0.0.1:3000/mcp。每个客户端拥有独立的 MCP 会话和响应路由,重量级运行时资源只保留一份。建议保持默认的本机回环监听;如需对外暴露,必须先设置 MCP_AUTH_TOKEN。
{
"env": {
"MCP_TOOL_PROFILE": "search" // 从这里开始,约 3K token 元数据
}
}
开始组合复合脚本时把 MCP_TOOL_PROFILE 切到 workflow;需要所有工具时切到 full。coverage_report 可随时查询当前激活集。