一款牛叉的JS逆向MCP工具"

admin 2026-10-24 03:05:43 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

一款牛叉的JS 逆向 MCP 工具

jenn619
jenn619

HACK之道

2026年6月23日 08:30
重庆

在小说阅读器读本章

去阅读

Chrome 浏览器 JS 逆向分析 MCP 工具 —— 专用于 CTF / Web 安全场景中登录框加密逻辑的动态分析与还原

一、项目简介

本项目是一个基于 MCP(Model Context Protocol) 协议的 JS 逆向分析工具集,通过 Chrome DevTools Protocol(CDP)动态分析目标网页中的 JavaScript 加密逻辑,自动识别加密算法、提取密钥,并生成可用的加密/解密脚本。

核心能力:

  • 基于 Puppeteer 控制 Chrome 浏览器,动态执行目标页面 JS
  • 利用 CDP 协议拦截网络请求、获取脚本源码、Hook 函数调用
  • 内置加密算法特征库,支持 AES/DES/RSA/MD5/SHA/SM2/SM4/Base64 等
  • 自动生成 Python 和 JavaScript 的加密/解密/暴力破解脚本
  • 通过 MCP 协议暴露 31 个标准化工具接口,支持与 AI 助手集成

二、技术栈

类别 技术 说明
语言 TypeScript 5.7 + Node.js ≥18 主开发语言
协议 @modelcontextprotocol/sdk v1.29 MCP 协议 SDK
浏览器 puppeteer-core v23 Chrome 自动化控制
AST 分析 acorn + acorn-walk JS 语法树解析与遍历
加密分析 crypto-js + node-forge 加密算法验证与还原
代码美化 js-beautify 混淆 JS 代码格式化
模板引擎 mustache 脚本生成模板
数据校验 zod v3.23 MCP 消息 Schema 校验

三、项目结构

js-reverse-mcp/├── src/                          # 源码目录│   ├── index.ts                  # 程序入口 - 注册所有工具模块,启动 stdio 传输│   ├── server.ts                 # MCP Server 创建与配置│   ││   ├── browser/│   │   └── manager.ts            # 浏览器单例管理器 - Puppeteer 生命周期管理│   ││   ├── tools/                    # MCP 工具模块(共 6 个模块,31 个工具)│   │   ├── navigation.ts         # 浏览器导航工具(5 个工具)│   │   ├── network.ts            # 网络拦截工具(6 个工具)│   │   ├── source-analysis.ts    # JS 源码分析工具(6 个工具)│   │   ├── runtime.ts            # 运行时分析工具(5 个工具)│   │   ├── crypto-detect.ts      # 加密检测工具(5 个工具)│   │   └── script-gen.ts         # 脚本生成工具(4 个工具)│   ││   ├── analysis/│   │   └── crypto-patterns.ts    # 加密算法特征库 - 静态模式匹配 + 密文格式识别│   ││   ├── generators/│   │   ├── python-template.ts    # Python 脚本模板生成器(AES/DES/RSA/MD5/自定义)│   │   └── javascript-template.ts # JavaScript 脚本模板生成器│   ││   ├── storage/│   │   └── request-store.ts      # 请求数据存储 - 内存 + 文件双层持久化│   ││   └── utils/│       └── logger.ts             # 日志工具(所有日志走 stderr,不破坏 MCP stdio)│├── build/                        # 编译输出目录(tsc 生成)├── output/                       # 生成的脚本输出目录├── mcp-config.json               # MCP 配置文件示例├── package.json                  # 项目依赖与脚本└── tsconfig.json                 # TypeScript 编译配置

四、工具清单

1 浏览器导航工具(navigation.ts)— 5 个

工具名 功能 关键参数
browser_launch 启动 Chrome 浏览器实例 headless , chromePath, proxy, wsEndpoint
browser_close 关闭浏览器,释放资源 无
page_navigate 导航到指定 URL url , waitUntil
page_screenshot 截取页面截图(base64 返回) selector , fullPage
page_get_content 获取页面 HTML 或元素内容 selector

2 网络拦截工具(network.ts)— 6 个

工具名 功能 关键参数
network_enable_intercept 开启网络请求拦截 urlPatterns (URL 过滤模式列表)
network_disable_intercept 关闭网络拦截 无
network_get_requests 获取已拦截的请求列表摘要 method , urlPattern, loginOnly
network_get_request_detail 获取单个请求完整详情 requestId
network_find_login_request 智能定位登录请求 keywords
network_compare_requests 对比多次请求参数差异 requestIds (至少 2 个)

3 JS 源码分析工具(source-analysis.ts)— 6 个

工具名 功能 关键参数
js_get_all_scripts 获取页面所有 JS 脚本列表 无
js_get_script_source 获取脚本源码(自动美化) scriptId , beautify, maxLength
js_search_in_scripts 在脚本中搜索关键词/正则 keyword , isRegex, contextLines
js_get_function_body 提取指定函数的完整实现 functionName , scriptId
js_trace_call_chain 追踪函数调用链 functionName , depth
js_get_encryption_context 获取加密函数及其依赖上下文 functionName

4 运行时分析工具(runtime.ts)— 5 个

工具名 功能 关键参数
runtime_evaluate 在页面中执行 JS 代码 expression , awaitPromise
runtime_call_function 调用页面全局函数 functionName , args
runtime_get_global_vars 获取加密相关全局变量 pattern (正则过滤)
runtime_hook_function Hook 函数,记录调用参数和返回值 functionName (支持链式如 CryptoJS.AES.encrypt)
runtime_get_hook_logs 获取 Hook 调用日志 functionName , clear

5 加密检测工具(crypto-detect.ts)— 5 个

工具名 功能 关键参数
crypto_auto_detect 自动扫描检测加密算法 无
crypto_analyze_param 分析参数加密方式 paramName , sampleValues
crypto_identify_library 识别页面使用的加密库 无
crypto_extract_key 提取密钥/IV/盐值 algorithm
crypto_verify_algorithm 本地验证加密算法是否正确 algorithm , plaintext, expected, key, iv

6 脚本生成工具(script-gen.ts)— 4 个

工具名 功能 关键参数
generate_decrypt_script 生成解密脚本(Python/JS) language , algorithm, key, iv, publicKey 等
generate_encrypt_script 生成加密脚本 同上
generate_brute_script 生成暴力破解脚本 同上 + loginUrl, paramName
script_test_run 测试运行 JS 脚本 code , testInput

支持的算法类型: AES-CBC、AES-ECB、DES、3DES、RSA、MD5、SHA256、Base64、Custom

五、环境要求与安装

1 环境要求

  • Node.js ≥ 18.0.0
  • Google Chrome 浏览器(需安装在本机)

2 安装步骤

# 1. 克隆项目git clone <repo-url>cd js-reverse-mcp
# 2. 安装依赖npm install
# 3. 编译 TypeScriptnpm run build

3 环境变量

变量名 说明 默认值
CHROME_PATH Chrome 可执行文件路径 C:\\Users\\fangz\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe
OUTPUT_DIR 脚本输出目录 ./output
DEBUG 设为任意值开启调试日志 未设置(关闭)

六、使用方法

1 启动命令

# 正式运行(需先 build)npm start# 等价于: node build/index.js
# 开发调试(直接运行 TS 源码,无需 build)npm run dev
# 构建项目npm run build
# 使用 MCP Inspector 调试npm run inspector

2 配置 MCP 客户端

在 AI 客户端(如 Cursor、Claude Desktop 等)的 MCP 配置文件中添加:

{  \"mcpServers\": {    \"js-reverse\": {      \"command\": \"node\",      \"args\": [\"e:\\\\Qwen\\\\build\\\\index.js\"],      \"env\": {        \"CHROME_PATH\": \"C:\\\\Users\\\\fangz\\\\AppData\\\\Local\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe\",        \"OUTPUT_DIR\": \"e:\\\\Qwen\\\\output\"      }    }  }}

配置完成后,AI 助手即可通过自然语言调用所有 31 个逆向工具。

七、项目地址

https://github.com/jenn619/JS-reverse-mcp


一款牛叉的JS逆向MCP工具" 网络安全文章

一款牛叉的JS逆向MCP工具"

该项目是一个基于MCP协议的JS逆向分析工具集,通过ChromeDevToolsProtocol动态分析网页JavaScript加密逻辑,支持自动识别AES/DES/RSA等算法并生成Python/JS脚本。工具包含31个标准化接口,涵盖浏览器导航、网络拦截、源码分析等功能,专用于CTF和Web安全场景的登录加密还原。
海口“十五五”(2026-2030)规划不只是城市常规发展规划," 网络安全文章

海口“十五五”(2026-2030)规划不只是城市常规发展规划,"

海口`十五五`规划依托海南自贸港封关运作,定位全球战略枢纽,目标2030年GDP突破3500亿元。构建四层产业矩阵:战略支撑型(医药、制造、数字)、自贸特色型(临空、免税、文旅)、未来新兴型(海洋、低空、生物)及赋能保障型(金融、专业服务)。提出企业落地四大赛道:先进制造保税维修、数字跨境数据服务、生物医药器械、文旅消费精品,推动从区域城市向全球枢纽跃迁。
装监控还在凭感觉?老网工带你盘透码流、帧率、全双工三个概念" 网络安全文章

装监控还在凭感觉?老网工带你盘透码流、帧率、全双工三个概念"

本文针对网络监控常见卡顿问题,用通俗语言解析视频码流、帧率、全双工和网口速率四个核心概念。码流决定画质清晰度但需平衡存储与带宽,帧率影响动作流畅度(推荐25-30FPS),全双工确保数据传输稳定性,网口速率需预留30%余量。文章提出具体配置建议:主辅码流分离使用、检查交换机端口协商状态、关键节点采用千兆设备等实操方案。
PromptInjection已经进入CI/CD:AICodeReviewBot会成为供应链入口吗?" 网络安全文章

PromptInjection已经进入CI/CD:AICodeReviewBot会成为供应链入口吗?"

本文深入分析了AICodeReviewBot在CI/CD流程中引入的新型安全风险,指出PromptInjection已从聊天机器人问题演变为供应链攻击入口。文章系统阐述了四种典型攻击路径:PR/Issue内容污染Prompt、AI配置文件篡改、Agent输出进入执行脚本、CI日志被恶意利用,并强调AIBot权限管理的重要性。最后针对GitHubActions提出具体防护建议,包括限制AIBot权限层级、隔离高低信任数据流、强化输出验证等实战措施。
评论:0   参与:  0