Nicholas-Kloster/RXVM

GitHub: Nicholas-Kloster/RXVM

对Amazon客户端机器人检测系统RXVM进行完整逆向工程,提供字节码反汇编器、cookie解密器和神经网络提取工具。

Stars: 0 | Forks: 0

# RXVM — Amazon 客户端机器人检测(逆向工程 POC) 对 Amazon 的 RXVM 字节码虚拟机及其客户端机器人检测 / 行为遥测系统进行逆向工程。 ## 文件 | 文件 | 描述 | |---|---| | `RXVM_Paper.pdf` | 完整的学术研究论文(12页,同行评审格式) | | `A10_Report.pdf` | 可视化技术报告 — 架构图、特征重要性、模型分析 | | `ANALYSIS.md` | 完整技术文档 — 架构、全部 15 个 payload、数据流 | | `rxvm_disasm.py` | RXVM 字节码反汇编器 (v4) — XOR 密钥重置,闭包发现 | | `rxc_decrypt.py` | Amazon `rxc=` cookie 解密器 — RC4 解密,指标流解析 | | `a10_model.py` | A10 神经网络重新实现 — 推理、特征重要性、仿真 | | `a10_model_weights.json` | 提取的模型权重 — norms、dense、batchnorm、所有层 | | `extract_rx_runtime.py` | 用于从 Amazon 页面 HTML 提取 rx.M 矩阵模块的实用工具 | | `rx_M_extracted.js` | 反混淆的 rx.M 源码 — 确认为直通模式,无权重重缩放 | | `payload0_crypto_analysis.txt` | 带有 JS 等效代码的加密 payload 注释反汇编 | | `rxvm_crypto_layer_analysis.docx` | 详细的加密层分析文档 | | `rxvm_full_disasm.txt` | 来自真实 Amazon 页面的全部 15 个 payload 的完整反汇编 | ## 快速开始 ### 从 Amazon 页面反汇编 RXVM payload ``` python3 rxvm_disasm.py page.html ``` ### 反汇编单个 base64 payload ``` python3 rxvm_disasm.py -b64 "UlgB..." ``` ### 解密 rxc cookie ``` python3 rxc_decrypt.py "AGVoY2hlY2..." ``` ### 分析神经网络 ``` python3 a10_model.py ``` ### 对自定义特征向量进行评分 ``` python3 a10_model.py --score 450 500 60 300 310 45 80 90 40 18 48 3 \ 0.4 0.4 0.4 0.02 0.11 0.11 0.4 0.02 \ 160 160 520 520 240 240 620 620 100 120 7 ``` ## 已知限制:神经网络评分 A10 模型的重新实现提取了正确的架构、特征和权重,但目前所有配置文件的评分都约为 1.0。字节码中的 Dense 层构造函数通过 `rx.M()` 传递权重,这是 RXVM 核心 JS 运行时(而非字节码 payload)中的一个矩阵模块。该模块可能在实例化时对 8 位微型浮点权重进行了重缩放。缺少此模块,BatchNorm betas 会主导 pre-sigmoid 值,导致输出饱和。 修复方法:从 Amazon 页面上 RXVM 解释器的明文 JavaScript 中提取 `rx.M`。 ## 无外部依赖 所有工具均为纯 Python 3 实现,仅使用标准库。无需 pip install。 ## 系统概览 ``` Amazon Page HTML └── rx.ex64("base64...") × 15 payloads │ ├── [0] Crypto layer (AES-128-CBC + RC4 fallback) ├── [1] Statistics library (sum, mean, stddev, float16 codec) ├── [2] Cookie fingerprint (hash(UA + SID) → fnpb key) ├── [3] State persistence (EMA tracking via encrypted localStorage) ├── [4] Bot fingerprinting (Playwright, WebDriver, ChromeDriver, │ Puppeteer, PhantomJS, SwiftShader, headless dimension checks) ├── [5] Mouse click timing (mousedown/mouseup duration) ├── [6] Mouse movement (velocity + angular acceleration) ├── [7] Scroll behavior (scroll velocity) ├── [8] Navigation timing (visit count, session duration) ├── [9] Viewport / screen dimensions ├── [10] ML runtime (Dense, BatchNorm, ReLU, Sigmoid layers) ├── [11] ML scoring (31→16→16→1 neural net, weights inline) ├── [12] Strong interaction detection (mouse/scroll threshold gate) ├── [13] Cookie action tracking (highest interaction tier) └── [14] AI agent detection (Perplexity browser agent regex scanning) ``` ## 负责任的漏洞披露 已向 Amazon 进行负责任的漏洞披露。已获 Amazon 确认。 | 日期 | 事件 | |------|-------| | 2026年3月12日 | 在对 A10 算法的消费者研究过程中初步发现 | | 2026年3月14日 | 逆向工程完成,所有工具已在多个页面上完成验证 | | 2026年3月14日 | 向 Amazon Security 提交负责任的漏洞披露 | | 2026年3月16日 | 已获 Amazon 确认 | ## 关于 由 Nicholas Kloster (NuClide / ExileKingdom) 进行的研究。工具由与 Claude (Anthropic) 协作构建。 所有分析均在研究人员自己的浏览器中对公开提供的 JavaScript 执行。未涉及任何漏洞利用、规避或对 Amazon 服务器端系统的访问。 ## 许可证 MIT
标签:A10模型, AI代理检测, Cookie解密, DNS 反向解析, IP 地址批量处理, MAT模型, PoC, Python, RC4解密, Web安全, 二进制分析, 云安全运维, 云资产清单, 亚马逊, 代码混淆, 反机器人, 反混淆, 字节码虚拟机, 学术研究, 客户端安全, 密钥泄露防护, 无后门, 无线安全, 暴力破解, 机器人检测, 机器学习安全, 漏洞披露, 特征提取, 神经网络提取, 蓝队分析, 虚拟机脱壳, 行为遥测, 逆向工程, 风控对抗