Skip to content

Dest1ny-Sec/Des-java-auto-skill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Des-java-auto-skill

一行命令,挖完整个 Java Web 项目。基于 java-audit-skills 深度二次开发。

License Claude Code Platform


这是什么

一个 Claude Code 技能包。输入一个 Java Web 项目路径,自动跑完 7 阶段流水线——识别路由、追踪调用链、检测漏洞、编排利用链——最终产出一份完整的审计报告。

不需要你懂安全。 启动之后去喝杯咖啡,回来看报告就行。

它能挖到什么

漏洞类型 能发现什么 示例
🔴 SQL 注入 ORDER BY 拼接、MyBatis ${}、HQL 注入 sql + " ORDER BY " + page.getOrderBy()
🔴 反序列化 ObjectInputStream、Fastjson、Jackson、Hessian、JNDI JSON.parse(userInput) + classpath 含 CC1 链
🔴 SSRF RestTemplate、HttpClient、OkHttp 等 12 种 sink restTemplate.getForObject(userUrl) → 打云元数据
🔴 表达式注入 OGNL、SpEL、MVEL、FreeMarker、Velocity 等 10+ 引擎 Struts2 S2-045 Content-Type 注入
🟠 XXE 5 种 XML 解析器外部实体注入 SAXReader 未禁用 DOCTYPE
🟠 文件上传 任意文件上传、路径穿越、Web 目录写入 getOriginalFilename() 直接拼路径
🟠 文件读取 任意文件读取、路径遍历 new FileInputStream(userPath) 无校验
🟠 鉴权绕过 Shiro/Spring Security 绕过、越权、Actuator 暴露 /admin;.js 绕过 Filter

组件漏洞:通过 OSV.dev API 实时查询 3000+ CVE,覆盖 Log4j、Fastjson、Spring、Shiro、Struts2、Jackson、XStream 等。

利用链编排:自动把零散的"中危"漏洞串起来。比如「文件读取 → Shiro 密钥 → RememberMe RCE」→ 从 Medium 升级到 Critical。

5 分钟快速体验

1. 安装

# 克隆到 Claude Code skills 目录
git clone https://github.com/Dest1ny-Sec/Des-java-auto-skill.git ~/.claude/skills/Des-java-auto-skill

# 安装 Python 依赖(三平台通用)
pip3 install -r ~/.claude/skills/Des-java-auto-skill/requirements.txt

启用 Agent Teams(必须,按你的系统选一个):

# macOS / Linux — 加到 shell 配置文件
echo 'export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1' >> ~/.zshrc  # zsh
echo 'export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1' >> ~/.bashrc # bash

# Windows PowerShell
[Environment]::SetEnvironmentVariable('CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS','1','User')

# Windows CMD
setx CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS 1

2. 跑起来

# 进入 Claude Code,对一个 Java 项目执行:
/java-audit-pipeline --quick /path/to/your-java-project

3-5 分钟后,打开 {项目名}_audit/quality_report.md 看结果。

3. 三种模式

# 🚀 快速模式 — 小项目、首次体验、快速排查(3-5 分钟)
/java-audit-pipeline --quick /path/to/project

# 🏗️ 标准模式 — 正式审计、中大型项目(10-60 分钟)
/java-audit-pipeline /path/to/project

# 🔄 增量模式 — 只审计 git diff 变更的文件
/java-audit-pipeline --incremental /path/to/project
🚀 快速 🏗️ 标准 🔄 增量
适用 < 50 路由的小项目 正式审计交付 日常迭代
并发 1 agent 串行 5-10 agent 并行 同标准
质检 自检 独立 QA 池 同标准
耗时 3-5 分钟 10-60 分钟 按变更量

不确定用哪个?--quick 看概况,满意了再跑标准模式深挖。

流水线做了什么

你的 Java 项目
      │
      ▼
┌─────────────────────────────────────────────────┐
│ 阶段 0 · 快速匹配(秒级)                        │
│ 8 条 grep 规则扫描 Runtime.exec / JNDI / 反序列化 │
│ 命中立即报告,不等待后续阶段                      │
├─────────────────────────────────────────────────┤
│ 阶段 1 · 信息收集(并行)                        │
│ ├─ 路由提取:识别所有 HTTP 端点 + 参数结构       │
│ ├─ 鉴权审计:每条路由的鉴权状态 + 绕过检测        │
│ └─ 组件扫描:OSV.dev 3000+ CVE + 130 条本地规则  │
├─────────────────────────────────────────────────┤
│ 阶段 2 · 交叉筛选                               │
│ ├─ 路由分级:P0(无鉴权) / P1(可绕过) / P2     │
│ └─ 漏洞汇总:组件漏洞 + 鉴权绕过合并去重          │
├─────────────────────────────────────────────────┤
│ 阶段 3 · 调用链追踪(分批并行)                  │
│ Controller → Service → DAO 完整链路              │
│ 标注参数是否真正到达 Sink(消除误报)             │
├─────────────────────────────────────────────────┤
│ 阶段 4 · 漏洞深度检测(按 Sink 类型并行)         │
│ SQL / XXE / Upload / FileRead / Deserialize       │
│ SSRF / ExprInject — 只启动有对应 Sink 的检测      │
├─────────────────────────────────────────────────┤
│ 阶段 5 · 利用链编排                              │
│ 匹配 8 种利用链模板,中危漏洞组合升级为 RCE       │
├─────────────────────────────────────────────────┤
│ 阶段 6 · 汇总报告                                │
│ quality_report.md 一键可读                       │
└─────────────────────────────────────────────────┘

为什么用它

vs 手工审计

  • 一个中型项目(300+ 路由),手工看完所有 Controller → Service → DAO 至少要 2-3 天
  • 这个工具标准模式 10-60 分钟跑完,还不漏

vs 商用 SAST(Fortify/Checkmarx)

  • 商用工具动辄六位数/年,部署配置复杂
  • 这个是免费的,而且能理解业务逻辑——不是简单的模式匹配
  • 商用工具漏报的 ORDER BY 注入、鉴权绕过、利用链组合,这个能抓到

vs 原版 java-audit-skills

维度 原版 Des-java-auto-skill
漏洞类型 5 种 8 种 (+反序列化/SSRF/表达式注入)
CVE 覆盖 130 条硬编码 3000+ 条 OSV.dev 实时查询
利用链 8 种模板,中危自动升级 RCE
增量审计 git diff,只扫变更
快速匹配 秒级 grep 先出 P0 高危
快速模式 --quick,3 分钟看概况

输出报告

{项目名}_audit/
├── quality_report.md          ← 📄 从这里开始看(最终汇总)
├── PARTIAL_RESULTS.md         ← ⚠️ 如果流水线中断会生成这个
├── quick_hits/                ← ⚡ 秒级高危命中
├── route_mapper/              ← 🗺️ 所有 HTTP 路由 + 参数
├── auth_audit/                ← 🔐 鉴权分析 + 绕过 PoC
├── vuln_report/               ← 📦 组件 CVE 清单
├── route_tracer/              ← 🔗 调用链追踪
├── sql_audit/                 ← 💉 SQL 注入详情
├── xxe_audit/                 ← 📋 XXE 详情
├── file_upload_audit/         ← 📤 文件上传详情
├── file_read_audit/           ← 📥 文件读取详情
├── deserialization_audit/     ← ⛓️ 反序列化 + gadget 链
├── ssrf_audit/                ← 🌐 SSRF + 云元数据利用链
├── expr_inject_audit/         ← 🧩 表达式注入 + 沙箱绕过
├── cross_analysis/            ← 📊 交叉分析(P0/P1 路由分级)
└── decompiled/                ← 🔧 CFR 反编译产物

拿到报告看哪里? 打开 quality_report.md,顶部是漏洞总览面板。每个漏洞都有位置、PoC、修复建议。

单独使用某个 Skill

不用流水线也可以单独跑某个检测:

# 只提取路由
/java-route-mapper /path/to/project

# 只做 SQL 注入审计
/java-sql-audit /path/to/project

# 只扫描组件漏洞
/java-vuln-scanner /path/to/project

# 只分析鉴权
/java-auth-audit /path/to/project

所有 skill 独立可用,输出格式一致。

环境要求

依赖 用途 检查命令
Claude Code ≥ 2.1.32 运行平台 claude --version
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 Agent 并发(必须) echo $CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
Java CFR 反编译 .class/.jar java -version
Python 3 漏洞扫描脚本 python3 --version
pip 依赖 PyYAML + requests pip3 install -r requirements.txt

平台支持

平台 状态
macOS ✅ 完整支持
Linux ✅ 完整支持
Windows (WSL2) ✅ 完整支持
Windows (原生) ⚠️ Python 脚本可用;shell 命令(grep/find)需 Git Bash

常见问题

Q: 对大型项目(1000+ 路由)效果如何? 标准模式会自动分片——recon 侦查 → N 个 worker 并行提取路由 → 合并索引。单个 agent 硬上界 200 路由,大项目会自动拆成多个 agent。

Q: 只有 .class / .jar 没有源码能跑吗? 能。内置 CFR 反编译器,会自动反编译后分析。不过源码审计结果会更精确。

Q: 流水线跑到一半断了怎么办? 会自动生成 PARTIAL_RESULTS.md,列出已完成和未完成的阶段,已产出的结果不会丢。用 --incremental 可以跳过已完成的阶段续跑。

Q: 会不会有误报? 调用链追踪阶段会检查参数是否真正到达 Sink 点。如果参数被硬编码覆盖、被安全函数白名单过滤,会被排除。比单纯的 grep 匹配准确得多。

Q: 跑一次要多少 token? 快速模式约 50-100k token。标准模式下中型项目(300 路由)约 300-800k token,大型项目(1000+ 路由)可能上百万。

技能清单

Skill 干什么的 状态
java-route-mapper 提取所有 HTTP 路由 + 参数结构 增强
java-route-tracer Controller→DAO 调用链追踪 增强
java-auth-audit 鉴权机制分析 + 绕过检测 增强
java-vuln-scanner 组件 CVE 扫描(OSV.dev) 增强
java-sql-audit SQL 注入检测
java-xxe-audit XXE 外部实体注入检测
java-file-upload-audit 文件上传漏洞检测
java-file-read-audit 任意文件读取检测
java-deserialization-audit 反序列化 + gadget 链分析 🆕
java-ssrf-audit SSRF + 云元数据利用链 🆕
java-expression-inject-audit 表达式/模板注入 + 沙箱绕过 🆕
java-audit-pipeline 全链路自动化编排 🆕 重写

目录结构

Des-java-auto-skill/
├── README.md
├── requirements.txt
├── .gitignore
├── .claude/
│   └── settings.local.json          # 权限预设(减少弹窗)
└── skills/
    ├── java-shared/                  # 共享规范(评级标准/输出模板/反编译策略)
    ├── java-audit-pipeline/          # 流水线编排(7 阶段 + agent team)
    ├── java-route-mapper/            # 路由提取
    ├── java-route-tracer/            # 调用链追踪
    ├── java-sql-audit/               # SQL 注入
    ├── java-auth-audit/              # 鉴权审计
    ├── java-file-upload-audit/       # 文件上传
    ├── java-file-read-audit/         # 文件读取
    ├── java-xxe-audit/               # XXE
    ├── java-deserialization-audit/   # 🆕 反序列化
    ├── java-ssrf-audit/              # 🆕 SSRF
    ├── java-expression-inject-audit/ # 🆕 表达式注入
    └── java-vuln-scanner/            # 组件 CVE 扫描

致谢 & 许可

本项目基于 java-audit-skills 二次开发,在此基础上新增 3 种漏洞类型(反序列化/SSRF/表达式注入)、OSV.dev 3000+ CVE 覆盖、利用链编排、增量审计、快速模式等能力。

仅供学习和授权安全研究使用。

About

Java Web 全链路自动化安全审计系统。基于 Claude Code Agent Teams,一行命令完成路由识别→调用链追踪→8种漏洞检测→利用链编排→审计报告。覆盖 SQL 注入/反序列化/SSRF/表达式注入/XXE/文件上传/文件读取/鉴权绕过 + OSV.dev 3000+ CVE。支持快速模式、增量审计、CFR 反编译。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages