tinywifi/jarsec

GitHub: tinywifi/jarsec

一个 Claude Code 技能,结合静态与动态分析方法检测 Minecraft 模组中的恶意软件行为。

Stars: 2 | Forks: 0

# Jarsec 一个用于分析 Minecraft 模组恶意软件的 Claude Code 技能。它同时执行静态分析(阅读代码)和动态分析(在沙盒中实际运行模组),以检测信息窃取程序、RAT、混淆、C2 基础设施以及其他恶意行为。 ## 安装 ``` npx skills add https://github.com/tinywifi/jarsec ``` ## 前置条件 - **Docker**(必需 - 模组绝不会在你的实际机器上运行) - **Java**(反编译必需 - `openjdk-21-jdk` 或任何 JDK 17+) - 可选附加项:`unzip`、`tcpdump`、`tshark`、`strace`、`python3-pip` 反编译工具(Vineflower + CFR 后备)会在首次运行时自动下载。Docker 沙盒镜像可以预先构建或在本地构建。 Jarsec 会检查你已安装的内容,并准确告诉你缺少什么。 ## 使用说明 ### 分析当前文件夹中的源代码 ``` claude /jarsec ``` ### 分析本地 JAR 文件 ``` claude /jarsec /path/to/mod.jar ``` ### 从 URL 下载并分析 JAR 文件 ``` claude /jarsec https://cdn.modrinth.com/data/.../mod.jar ``` ## 实际检查内容 **静态分析(4 个 agent 并行运行):** - 通过 Vineflower 将 JAR 字节码反编译为可读的 Java 源代码(后备使用 CFR) - 检查构建配置中是否存在恶意仓库、shadow jar 或混淆 - 信息窃取程序特征(Discord webhook、token 抓取器、会话窃取) - 已知的 Weedhack/majanito 恶意软件 IOC - 恶意 API(Runtime.exec、ProcessBuilder、剪贴板劫持等) - 持久化机制(启动注入、注册表项、计划任务) - 第二阶段 dropper(OS 指纹识别、临时文件写入、URLClassLoader) - 病毒式传播(JAR/zip 文件遍历、自我复制) - 网络 C2(硬编码 URL、Telegram bot、区块链/Ethereum C2) - Mixin 审查(检查 mixin 是否无故拦截敏感数据包) - 不安全的反序列化(BleedingPipe 向量) - 反射滥用、反沙盒检查、JVM instrumentation、隐写术 - **MITRE ATT&CK 技术映射** — 使用 MITRE ID 自动标记发现的问题 - **YARA 规则生成** — 根据唯一的字符串/字节码创建追踪规则 - **STIX/MISP IOC 导出** — 机器可读的威胁情报包 **动态分析(Docker 沙盒):** - 实际运行加载了该模组的 Minecraft 客户端 - 植入伪造的 Discord token 和 Minecraft 会话文件作为蜜罐 - 使用 tcpdump 捕获所有网络流量 - 使用 `inotifywait`、`strace` 和 `lsof` 监控文件系统访问 - **禁用 SSL 证书验证**,以便恶意软件的 C2 连接能够成功 - 导出 Java 堆以提取运行时解密的字符串 - 比较分析前后的容器状态,以查找被释放的文件 - **自动下载并分析第二阶段 payload**(如果发现) **字符串提取:** - 针对常见混淆方案的静态 XOR 暴力解密器 - 针对调用者上下文混淆的动态反射提取器(基于 StackWalker) - 通过特征和调用频率查找解密器方法的字节码扫描器 ## 脚本 | 脚本 | 用途 | |--------|---------| | `jarsec-decrypt.py` | 静态 XOR 暴力字符串解密器 | | `jarsec-discover.py` | 字节码扫描器 — 查找候选解密器方法 | | `jarsec-extract.py` | 动态反射提取器 — 加载类以获取解密后的字符串 | | `jarsec-ioc.py` | STIX 2.1 + MISP JSON IOC 导出 | | `jarsec-yara.py` | 根据分析结果自动生成 YARA 规则 | | `jarsec-mitre.py` | 将发现的问题映射到 MITRE ATT&CK 技术 | ## Docker 沙盒 该技能可以使用**预构建镜像**(`ghcr.io/tinywifi/jarsec-sandbox:latest`)实现快速启动,或者在不可用时在本地构建。该镜像包含: - Eclipse Temurin JDK 21 - Vineflower + CFR 反编译器 - `tcpdump`、`tshark`、`strace`、`lsof`、`inotify-tools` - 用于无头渲染的 `xvfb` - 用于启动 Minecraft 的 `portablemc` - `python3` + `pip3` ## 工作原理 1. 识别你提供的输入内容(URL、文件路径或当前目录) 2. 检查是否安装了 Docker 3. 创建一个隔离的临时工作区(运行之间无交叉污染) 4. 使用 Vineflower 将 JAR 反编译为 Java 源代码(后备使用 CFR) 5. 运行静态解密器和动态提取器以处理混淆字符串 6. 并行生成 4 个静态分析 agent 7. 如果是源代码,则首先构建模组 8. 启动一个一次性的 Docker 容器并在其中运行模组 9. 监控文件系统事件、网络流量、堆转储和进程变化 10. 如果发现第二阶段 dropper,则递归下载并分析它们 11. 生成 STIX/MISP IOC、YARA 规则和 MITRE 映射 12. 为你提供包含单词结论的报告:**CLEAN**、**SUSPICIOUS** 或 **MALICIOUS** ## 安全性 模组永远不会接触你的主机。所有动态操作都在 Docker 容器内进行,该容器在分析后会被销毁。即使模组完全是恶意的,你的机器也是安全的。 ## 许可证 MIT
标签:Claude Code 插件, DAST, DNS 反向解析, JS文件枚举, Minecraft, 云安全监控, 恶意软件分析, 沙箱, 网络信息收集, 请求拦截, 逆向工具, 静态分析