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, 云安全监控, 恶意软件分析, 沙箱, 网络信息收集, 请求拦截, 逆向工具, 静态分析