【AI赋能】MCP+Skill能力下的前端JS逆向自动化落地(附工具)

【AI赋能】MCP+Skill能力下的前端JS逆向自动化落地(附工具)

项目地址

https://github.com/Fausto-404/js-reverse-automation--skill

js-reverse-automation--skill

结合chrome-devtools-mcp的能力并加上Skill的规范,实现JSRPC+Flask+autoDecoder方案的前端JS逆向自动化分析,提升JS逆向的效率

适用场景

  • 需要快速落地前端签名/加密参数逆向
  • 需要将js逆向逻辑封装为可复用的代码
  • 需要与 Burp 配合进行抓包、改包

流程设计思路

针对js逆向中常用的远程调用法进行js逆向(如JSRPC+Mitmproxy、JSRPC+Flask等)中,初始配置阶段中面对的定位加密函数、编写注册代码、编写python代码等繁琐操作,通过引入AI的MCP和Skill技术进行赋能,让AI自动完成函数发现与注册代码生成,最终实现从“半自动”到“高自动”的跨越,人员全程只需下方指令,并最终配置一下burp即可完成JS逆向的全流程。

核心能力

  • 基于 MCP 连接真实浏览器,触发并跟踪js加密/签名链路
  • 自动定位 sign / enc / token 等关键参数生成入口
  • 自动生成 JSRPC 注入与注册代码
  • 自动生成 Python Flask 代理代码
  • 输出 Burp autoDecoder 对接说明,支持端到端联调
  • 支持AntiDebug_Breaker的11项反调试能力

项目结构

js-reverse-automation--skill/ ├── README.md # 项目说明、使用方式、更新说明和结构说明。 ├── SKILL.md # Skill 主控文件。只负责定义任务如何被触发、必须输入什么、流程怎么分阶段、输出和验收怎么要求。 ├── agents/ │ └── openai.yaml # Skill 的 agent 入口配置。负责定义默认提示词、默认输入格式和执行约束。 ├── artifacts/ # 运行期目录,用来承接流程中间产物和最终校验报告。预期会出现的文件如下: │ ├── artifacts/phase0_input.json # 规范化后的输入 │ ├── artifacts/phase1_trace.json # 浏览器链路复现结果 │ ├── artifacts/phase2_entrypoints.json # 参数入口识别结果 │ ├── artifacts/phase3_dependencies.json # 依赖、上下文和调用方式提取结果 │ └── artifacts/validation_report.json # 最终校验报告 ├── references/ │ ├── references/workflow-recon.md # 阶段流程说明书。 │ ├── references/output-contract.md # 输入输出契约说明书。 │ ├── references/failure-recovery.md # 失败恢复和诊断格式说明书。 │ ├── references/validation-checklist.md # 验收标准说明书。 │ └── references/antidebug/ │ ├── references/antidebug/debugger-loop.md # 处理无限 debugger、eval、Function 类问题。 │ ├── references/antidebug/console-detect.md # 处理控制台检测、日志篡改、清屏等问题。 │ ├── references/antidebug/timer-check.md # 处理时间差、性能计时、Promise 时序检测。 │ ├── references/antidebug/env-detect.md # 处理窗口大小、webdriver、UA、DevTools 检测等环境识别问题。 │ ├── references/antidebug/proxy-guard.md # 处理跳转、关闭页面、history、代理拦截等链路阻断问题。 │ └── references/antidebug/dynamic-alias.md # 处理动态别名、wrapper、resolver 型入口和不稳定路径。 └── scripts/ ├── scripts/check_inputs.py # 输入校验器。 ├── scripts/emit_analysis_result.py # 统一分析产物生成器。 ├── scripts/emit_jsrpc_stub.py # JSRPC 代码生成器。 ├── scripts/emit_flask_proxy.py # Flask 代理生成器。 ├── scripts/emit_burp_doc.py # Burp autoDecoder 文档生成器。 └── scripts/validate_artifacts.py # 全链路校验器。

使用示意

这边演示使用的是codex5.3(其他平台同理)

1、下载skills放置在codex的skills目录中,mac端的路径为/Users/用户名/.codex/skills/

2、将chrome-devtools-mcp服务写进 Codex 的配置

codex mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest

3、修改 Codex 的配置文件MAC的在~/.codex/config.toml,添加如下字段

[mcp_servers.chrome-devtools] command = "npx" args = ["-y", "chrome-devtools-mcp@latest"]

4、检测是否生效

5、启动mcp服务,当看到打开浏览器后MCP服务就配置好了。

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \ --remote-debugging-port=9222 \ --remote-debugging-address=0.0.0.0

6、在codex客户端中使用该skills

7、输入所需要的信息

1、目标网址(完整 URL): 2、需要分析的加密参数名(如 sign / enc / token): 3、可复现请求示例(优先给 fetch/抓包原始请求): 4、环境限制(浏览器版本、是否需要代理/插件、是否允许注入):

8、等待程序运行完成即可

效果检验

1、启动JSRPC

2、在浏览器开发者工具的Console中,执行JSRpc项目中的 JsEnv_Dev.js文件内容。

3、在控制台注入AI生成的jsrpc_inject_hr_ncu_password.js。

4、测试jsrpc调用函数是否正常,可以看到是没问题的。

http://127.0.0.1:12080/go?group=fausto&action=generate_password_md5&param=111111

5、运行flask_proxy_hr_ncu.py

6、测试Flask是否可以正常加密,可以看到也是没问题的。

curl -X POST http://127.0.0.1:8888/encode \ -H "Content-Type: application/x-www-form-urlencoded" \ --data-urlencode "dataBody=username=111111&password=111111&code=1234&role=000002"

7、最后根据Burp autoDecoder 配置说明配置burp的autoDecoder插件,也成功加密了参数,整体成功运行完成

引用工具

首发地址

【AI赋能】MCP+Skill能力下的前端JS逆向自动化落地

作者:Fausto

https://xz.aliyun.com/news/91527

文章转载自 先知社区

Read more

Flutter for OpenHarmony:Flutter 三方库 very_good_cli 打造企业级鸿蒙工程规范(标准化开发利器)

Flutter for OpenHarmony:Flutter 三方库 very_good_cli 打造企业级鸿蒙工程规范(标准化开发利器)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行大中型 OpenHarmony 项目开发时,如何保证团队代码风格统一?如何快速搭建一个包含测试、Lint 规范、多环境配置的工程底座?官方的 flutter create 虽然好用,但它生成的只是一个“毛坯房”。 very_good_cli 是由知名的 Very Good Ventures 团队推出的命令行工具。它能一键生成“精装修”的 Flutter 项目模板,内置了严格的 Lint 规则、100% 测试覆盖率要求以及清晰的架构分层。对于追求高可靠性的鸿蒙应用,它是建立开发标准的最佳起点。 一、核心价值体系 very_good_cli 不仅仅是一个脚手架,它代表了一套工程哲学。 very_good create

By Ne0inhk
向日葵连接Ubuntu22.04黑屏

向日葵连接Ubuntu22.04黑屏

向日葵连接Ubuntu22.04黑屏 问题:这个工具在服务器或者工控机不连接显示器的时候向日葵无法正常显示桌面。 原因分析 1. Xorg 依赖物理显示器 Xorg 设计时通常依赖物理显示器来初始化和正常运行。没有连接显示器,Xorg 可能无法正确初始化图形输出,进而导致向日葵远程桌面无法获取有效的图形数据来进行远程显示。 解决办法 1. 使用虚拟显示设备 可以通过安装和配置虚拟显示设备,让 Xorg 以为有显示器连接。以 xrandr 和 xserver-xorg-video-dummy 为例: * 安装 xserver-xorg-video-dummy sudoapt-getinstall xserver-xorg-video-dummy 2. 使用 lspci 命令(查看真实显示器所连接的显卡具体信息) lspci 命令可以列出系统中所有的 PCI 设备,包括显卡。打开终端,输入以下命令: lspci |grep -i vga 输出示例 tyz@tyz-desktop:~$ lspci

By Ne0inhk
Linux 进程间通信之管道基础解析 —— 匿名管道的原理与实现

Linux 进程间通信之管道基础解析 —— 匿名管道的原理与实现

🔥草莓熊Lotso:个人主页 ❄️个人专栏: 《C++知识分享》《Linux 入门到实践:零基础也能懂》 ✨生活是默默的坚持,毅力是永久的享受! 🎬 博主简介: 文章目录 * 前言: * 一. 进程间通信基础认知 * 1.1 进程间通信的核心目的 * 1.2 进程间通信的发展与分类 * 二. 管道的基础概念 * 2.1 管道的定义 * 2.2 管道的核心特性(最后总结部分的图片里更全点,可以着重看那个) * 三. 匿名管道的创建与 API * 3.1 匿名管道的创建函数 * 3.2 匿名管道的简单使用示例 * 四. 基于 fork 的匿名管道跨进程通信 * 4.1 fork 共享管道的核心原理 * 4.2

By Ne0inhk
Flutter 组件 ignorium 的适配 鸿蒙Harmony 深度进阶 - 驾驭 CI 质量门禁、实现鸿蒙端构建产物安全性审计与动态忽略词库方案

Flutter 组件 ignorium 的适配 鸿蒙Harmony 深度进阶 - 驾驭 CI 质量门禁、实现鸿蒙端构建产物安全性审计与动态忽略词库方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 ignorium 的适配 鸿蒙Harmony 深度进阶 - 驾驭 CI 质量门禁、实现鸿蒙端构建产物安全性审计与动态忽略词库方案 前言 在前文中,我们利用 ignorium 实现了基础的代码生成路径忽略。但在真正的“企业级 CI/CD 流水线”、“多仓库协同监控(Monorepo Audit)”以及“自动化交付审计”场景中。简单的静态忽略配置仅仅是起点。面对需要在 Jenkins 或是 GitHub Actions 运行时动态注入针对“特定批次(如 0307)”生成的临时忽略规则;面对需要分析为何某个核心类被错误地标记为了 ignored 导致构建失败;面对需要在发布 HAP 前强制验证没有任何“泄密文件”

By Ne0inhk