Repository files navigation

Des-java-auto-skill — Java Web 全链路自动化审计

stacks
stacks

基于 Claude Code · JavaParser AST 解析 · OSV.dev CVE API

⚠️仅供学术交流与安全研究使用 · 禁止用于任何非法或盈利行为 · 请确保所有测试目标均已获得授权


它不是简单的正则匹配,而是一个 7 阶段流水线的智能审计

传统 Java 审计靠人肉 grep + 反编译 + 经验,效率低。Des-java-auto-skill 跑 7 阶段流水线(路由识别 → 控制器分析 → 调用链追踪 → sink 匹配 → 利用链编排 → 报告 → 快速模式),把"中危"串成"Critical",还实时查 OSV.dev 3000+ CVE 补组件漏洞。

  • 路由识别 → 控制器分析 → 调用链追踪 → sink 匹配 → 利用链编排 → 报告生成 → 快速模式
  • 8 漏洞类型 / 12 sink / 10+ 表达式引擎(OGNL / SpEL / MVEL / FreeMarker / Velocity)
  • OSV.dev 实时查 3000+ CVE(Log4j / Fastjson / Spring / Shiro / Struts2 / Jackson / XStream)

Des-java-auto-skill

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

LicenseStarsCIClaude CodePlatform




这是什么

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

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

它能挖到什么

漏洞类型能发现什么示例
🔴 SQL 注入ORDER BY 拼接、MyBatis ${}、HQL 注入sql + " ORDER BY " + page.getOrderBy()
🔴 反序列化ObjectInputStream、Fastjson、Jackson、Hessian、JNDIJSON.parse(userInput) + classpath 含 CC1 链
🔴 SSRFRestTemplate、HttpClient、OkHttp 等 12 种 sinkrestTemplate.getForObject(userUrl) → 打云元数据
🔴 表达式注入OGNL、SpEL、MVEL、FreeMarker、Velocity 等 10+ 引擎Struts2 S2-045 Content-Type 注入
🟠 XXE5 种 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 # zshecho'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=1Agent 并发(必须)echo $CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
JavaCFR 反编译 .class/.jarjava -version
Python 3漏洞扫描脚本python3 --version
pip 依赖PyYAML + requestspip3 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-tracerController→DAO 调用链追踪增强
java-auth-audit鉴权机制分析 + 绕过检测增强
java-vuln-scanner组件 CVE 扫描(OSV.dev)增强
java-sql-auditSQL 注入检测
java-xxe-auditXXE 外部实体注入检测
java-file-upload-audit文件上传漏洞检测
java-file-read-audit任意文件读取检测
java-deserialization-audit反序列化 + gadget 链分析🆕
java-ssrf-auditSSRF + 云元数据利用链🆕
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 覆盖、利用链编排、增量审计、快速模式等能力。

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

⚠️ 免责声明

本工具仅供学术交流与安全研究使用。 严禁用于任何非法活动、未授权测试或盈利行为。使用者需自行确保所有测试目标已获得明确授权,并对自身行为及其后果承担全部责任。

📜 License

MIT — 基于 java-audit-skills 深度二次开发。

About

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

Topics

Resources

Stars

31 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Des-java-auto-skill — Java Web 全链路自动化审计

stacks
stacks

基于 Claude Code · JavaParser AST 解析 · OSV.dev CVE API

⚠️仅供学术交流与安全研究使用 · 禁止用于任何非法或盈利行为 · 请确保所有测试目标均已获得授权


它不是简单的正则匹配,而是一个 7 阶段流水线的智能审计

传统 Java 审计靠人肉 grep + 反编译 + 经验,效率低。Des-java-auto-skill 跑 7 阶段流水线(路由识别 → 控制器分析 → 调用链追踪 → sink 匹配 → 利用链编排 → 报告 → 快速模式),把"中危"串成"Critical",还实时查 OSV.dev 3000+ CVE 补组件漏洞。

  • 路由识别 → 控制器分析 → 调用链追踪 → sink 匹配 → 利用链编排 → 报告生成 → 快速模式
  • 8 漏洞类型 / 12 sink / 10+ 表达式引擎(OGNL / SpEL / MVEL / FreeMarker / Velocity)
  • OSV.dev 实时查 3000+ CVE(Log4j / Fastjson / Spring / Shiro / Struts2 / Jackson / XStream)

Des-java-auto-skill

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

LicenseStarsCIClaude CodePlatform




这是什么

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

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

它能挖到什么

漏洞类型能发现什么示例
🔴 SQL 注入ORDER BY 拼接、MyBatis ${}、HQL 注入sql + " ORDER BY " + page.getOrderBy()
🔴 反序列化ObjectInputStream、Fastjson、Jackson、Hessian、JNDIJSON.parse(userInput) + classpath 含 CC1 链
🔴 SSRFRestTemplate、HttpClient、OkHttp 等 12 种 sinkrestTemplate.getForObject(userUrl) → 打云元数据
🔴 表达式注入OGNL、SpEL、MVEL、FreeMarker、Velocity 等 10+ 引擎Struts2 S2-045 Content-Type 注入
🟠 XXE5 种 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 # zshecho'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=1Agent 并发(必须)echo $CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
JavaCFR 反编译 .class/.jarjava -version
Python 3漏洞扫描脚本python3 --version
pip 依赖PyYAML + requestspip3 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-tracerController→DAO 调用链追踪增强
java-auth-audit鉴权机制分析 + 绕过检测增强
java-vuln-scanner组件 CVE 扫描(OSV.dev)增强
java-sql-auditSQL 注入检测
java-xxe-auditXXE 外部实体注入检测
java-file-upload-audit文件上传漏洞检测
java-file-read-audit任意文件读取检测
java-deserialization-audit反序列化 + gadget 链分析🆕
java-ssrf-auditSSRF + 云元数据利用链🆕
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 覆盖、利用链编排、增量审计、快速模式等能力。

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

⚠️ 免责声明

本工具仅供学术交流与安全研究使用。 严禁用于任何非法活动、未授权测试或盈利行为。使用者需自行确保所有测试目标已获得明确授权,并对自身行为及其后果承担全部责任。

📜 License

MIT — 基于 java-audit-skills 深度二次开发。

About

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

Topics

Resources

Stars

31 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Des-java-auto-skill — Java Web 全链路自动化审计

stacks
stacks

基于 Claude Code · JavaParser AST 解析 · OSV.dev CVE API

⚠️仅供学术交流与安全研究使用 · 禁止用于任何非法或盈利行为 · 请确保所有测试目标均已获得授权


它不是简单的正则匹配,而是一个 7 阶段流水线的智能审计

传统 Java 审计靠人肉 grep + 反编译 + 经验,效率低。Des-java-auto-skill 跑 7 阶段流水线(路由识别 → 控制器分析 → 调用链追踪 → sink 匹配 → 利用链编排 → 报告 → 快速模式),把"中危"串成"Critical",还实时查 OSV.dev 3000+ CVE 补组件漏洞。

  • 路由识别 → 控制器分析 → 调用链追踪 → sink 匹配 → 利用链编排 → 报告生成 → 快速模式
  • 8 漏洞类型 / 12 sink / 10+ 表达式引擎(OGNL / SpEL / MVEL / FreeMarker / Velocity)
  • OSV.dev 实时查 3000+ CVE(Log4j / Fastjson / Spring / Shiro / Struts2 / Jackson / XStream)

Des-java-auto-skill

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

LicenseStarsCIClaude CodePlatform




这是什么

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

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

它能挖到什么

漏洞类型能发现什么示例
🔴 SQL 注入ORDER BY 拼接、MyBatis ${}、HQL 注入sql + " ORDER BY " + page.getOrderBy()
🔴 反序列化ObjectInputStream、Fastjson、Jackson、Hessian、JNDIJSON.parse(userInput) + classpath 含 CC1 链
🔴 SSRFRestTemplate、HttpClient、OkHttp 等 12 种 sinkrestTemplate.getForObject(userUrl) → 打云元数据
🔴 表达式注入OGNL、SpEL、MVEL、FreeMarker、Velocity 等 10+ 引擎Struts2 S2-045 Content-Type 注入
🟠 XXE5 种 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 # zshecho'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=1Agent 并发(必须)echo $CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
JavaCFR 反编译 .class/.jarjava -version
Python 3漏洞扫描脚本python3 --version
pip 依赖PyYAML + requestspip3 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-tracerController→DAO 调用链追踪增强
java-auth-audit鉴权机制分析 + 绕过检测增强
java-vuln-scanner组件 CVE 扫描(OSV.dev)增强
java-sql-auditSQL 注入检测
java-xxe-auditXXE 外部实体注入检测
java-file-upload-audit文件上传漏洞检测
java-file-read-audit任意文件读取检测
java-deserialization-audit反序列化 + gadget 链分析🆕
java-ssrf-auditSSRF + 云元数据利用链🆕
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 覆盖、利用链编排、增量审计、快速模式等能力。

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

⚠️ 免责声明

本工具仅供学术交流与安全研究使用。 严禁用于任何非法活动、未授权测试或盈利行为。使用者需自行确保所有测试目标已获得明确授权,并对自身行为及其后果承担全部责任。

📜 License

MIT — 基于 java-audit-skills 深度二次开发。

About

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

Topics

Resources

Stars

31 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Des-java-auto-skill — Java Web 全链路自动化审计

stacks
stacks

基于 Claude Code · JavaParser AST 解析 · OSV.dev CVE API

⚠️仅供学术交流与安全研究使用 · 禁止用于任何非法或盈利行为 · 请确保所有测试目标均已获得授权


它不是简单的正则匹配,而是一个 7 阶段流水线的智能审计

传统 Java 审计靠人肉 grep + 反编译 + 经验,效率低。Des-java-auto-skill 跑 7 阶段流水线(路由识别 → 控制器分析 → 调用链追踪 → sink 匹配 → 利用链编排 → 报告 → 快速模式),把"中危"串成"Critical",还实时查 OSV.dev 3000+ CVE 补组件漏洞。

  • 路由识别 → 控制器分析 → 调用链追踪 → sink 匹配 → 利用链编排 → 报告生成 → 快速模式
  • 8 漏洞类型 / 12 sink / 10+ 表达式引擎(OGNL / SpEL / MVEL / FreeMarker / Velocity)
  • OSV.dev 实时查 3000+ CVE(Log4j / Fastjson / Spring / Shiro / Struts2 / Jackson / XStream)

Des-java-auto-skill

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

LicenseStarsCIClaude CodePlatform




这是什么

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

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

它能挖到什么

漏洞类型能发现什么示例
🔴 SQL 注入ORDER BY 拼接、MyBatis ${}、HQL 注入sql + " ORDER BY " + page.getOrderBy()
🔴 反序列化ObjectInputStream、Fastjson、Jackson、Hessian、JNDIJSON.parse(userInput) + classpath 含 CC1 链
🔴 SSRFRestTemplate、HttpClient、OkHttp 等 12 种 sinkrestTemplate.getForObject(userUrl) → 打云元数据
🔴 表达式注入OGNL、SpEL、MVEL、FreeMarker、Velocity 等 10+ 引擎Struts2 S2-045 Content-Type 注入
🟠 XXE5 种 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 # zshecho'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=1Agent 并发(必须)echo $CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
JavaCFR 反编译 .class/.jarjava -version
Python 3漏洞扫描脚本python3 --version
pip 依赖PyYAML + requestspip3 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-tracerController→DAO 调用链追踪增强
java-auth-audit鉴权机制分析 + 绕过检测增强
java-vuln-scanner组件 CVE 扫描(OSV.dev)增强
java-sql-auditSQL 注入检测
java-xxe-auditXXE 外部实体注入检测
java-file-upload-audit文件上传漏洞检测
java-file-read-audit任意文件读取检测
java-deserialization-audit反序列化 + gadget 链分析🆕
java-ssrf-auditSSRF + 云元数据利用链🆕
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 覆盖、利用链编排、增量审计、快速模式等能力。

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

⚠️ 免责声明

本工具仅供学术交流与安全研究使用。 严禁用于任何非法活动、未授权测试或盈利行为。使用者需自行确保所有测试目标已获得明确授权,并对自身行为及其后果承担全部责任。

📜 License

MIT — 基于 java-audit-skills 深度二次开发。

About

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

Topics

Resources

Stars

31 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Des-java-auto-skill — Java Web 全链路自动化审计

stacks
stacks

基于 Claude Code · JavaParser AST 解析 · OSV.dev CVE API

⚠️仅供学术交流与安全研究使用 · 禁止用于任何非法或盈利行为 · 请确保所有测试目标均已获得授权


它不是简单的正则匹配,而是一个 7 阶段流水线的智能审计

传统 Java 审计靠人肉 grep + 反编译 + 经验,效率低。Des-java-auto-skill 跑 7 阶段流水线(路由识别 → 控制器分析 → 调用链追踪 → sink 匹配 → 利用链编排 → 报告 → 快速模式),把"中危"串成"Critical",还实时查 OSV.dev 3000+ CVE 补组件漏洞。

  • 路由识别 → 控制器分析 → 调用链追踪 → sink 匹配 → 利用链编排 → 报告生成 → 快速模式
  • 8 漏洞类型 / 12 sink / 10+ 表达式引擎(OGNL / SpEL / MVEL / FreeMarker / Velocity)
  • OSV.dev 实时查 3000+ CVE(Log4j / Fastjson / Spring / Shiro / Struts2 / Jackson / XStream)

Des-java-auto-skill

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

LicenseStarsCIClaude CodePlatform




这是什么

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

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

它能挖到什么

漏洞类型能发现什么示例
🔴 SQL 注入ORDER BY 拼接、MyBatis ${}、HQL 注入sql + " ORDER BY " + page.getOrderBy()
🔴 反序列化ObjectInputStream、Fastjson、Jackson、Hessian、JNDIJSON.parse(userInput) + classpath 含 CC1 链
🔴 SSRFRestTemplate、HttpClient、OkHttp 等 12 种 sinkrestTemplate.getForObject(userUrl) → 打云元数据
🔴 表达式注入OGNL、SpEL、MVEL、FreeMarker、Velocity 等 10+ 引擎Struts2 S2-045 Content-Type 注入
🟠 XXE5 种 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 # zshecho'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=1Agent 并发(必须)echo $CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
JavaCFR 反编译 .class/.jarjava -version
Python 3漏洞扫描脚本python3 --version
pip 依赖PyYAML + requestspip3 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-tracerController→DAO 调用链追踪增强
java-auth-audit鉴权机制分析 + 绕过检测增强
java-vuln-scanner组件 CVE 扫描(OSV.dev)增强
java-sql-auditSQL 注入检测
java-xxe-auditXXE 外部实体注入检测
java-file-upload-audit文件上传漏洞检测
java-file-read-audit任意文件读取检测
java-deserialization-audit反序列化 + gadget 链分析🆕
java-ssrf-auditSSRF + 云元数据利用链🆕
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 覆盖、利用链编排、增量审计、快速模式等能力。

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

⚠️ 免责声明

本工具仅供学术交流与安全研究使用。 严禁用于任何非法活动、未授权测试或盈利行为。使用者需自行确保所有测试目标已获得明确授权,并对自身行为及其后果承担全部责任。

📜 License

MIT — 基于 java-audit-skills 深度二次开发。

About

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

Topics

Resources

Stars

31 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Des-java-auto-skill — Java Web 全链路自动化审计

stacks
stacks

基于 Claude Code · JavaParser AST 解析 · OSV.dev CVE API

⚠️仅供学术交流与安全研究使用 · 禁止用于任何非法或盈利行为 · 请确保所有测试目标均已获得授权


它不是简单的正则匹配,而是一个 7 阶段流水线的智能审计

传统 Java 审计靠人肉 grep + 反编译 + 经验,效率低。Des-java-auto-skill 跑 7 阶段流水线(路由识别 → 控制器分析 → 调用链追踪 → sink 匹配 → 利用链编排 → 报告 → 快速模式),把"中危"串成"Critical",还实时查 OSV.dev 3000+ CVE 补组件漏洞。

  • 路由识别 → 控制器分析 → 调用链追踪 → sink 匹配 → 利用链编排 → 报告生成 → 快速模式
  • 8 漏洞类型 / 12 sink / 10+ 表达式引擎(OGNL / SpEL / MVEL / FreeMarker / Velocity)
  • OSV.dev 实时查 3000+ CVE(Log4j / Fastjson / Spring / Shiro / Struts2 / Jackson / XStream)

Des-java-auto-skill

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

LicenseStarsCIClaude CodePlatform




这是什么

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

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

它能挖到什么

漏洞类型能发现什么示例
🔴 SQL 注入ORDER BY 拼接、MyBatis ${}、HQL 注入sql + " ORDER BY " + page.getOrderBy()
🔴 反序列化ObjectInputStream、Fastjson、Jackson、Hessian、JNDIJSON.parse(userInput) + classpath 含 CC1 链
🔴 SSRFRestTemplate、HttpClient、OkHttp 等 12 种 sinkrestTemplate.getForObject(userUrl) → 打云元数据
🔴 表达式注入OGNL、SpEL、MVEL、FreeMarker、Velocity 等 10+ 引擎Struts2 S2-045 Content-Type 注入
🟠 XXE5 种 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 # zshecho'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=1Agent 并发(必须)echo $CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
JavaCFR 反编译 .class/.jarjava -version
Python 3漏洞扫描脚本python3 --version
pip 依赖PyYAML + requestspip3 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-tracerController→DAO 调用链追踪增强
java-auth-audit鉴权机制分析 + 绕过检测增强
java-vuln-scanner组件 CVE 扫描(OSV.dev)增强
java-sql-auditSQL 注入检测
java-xxe-auditXXE 外部实体注入检测
java-file-upload-audit文件上传漏洞检测
java-file-read-audit任意文件读取检测
java-deserialization-audit反序列化 + gadget 链分析🆕
java-ssrf-auditSSRF + 云元数据利用链🆕
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 覆盖、利用链编排、增量审计、快速模式等能力。

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

⚠️ 免责声明

本工具仅供学术交流与安全研究使用。 严禁用于任何非法活动、未授权测试或盈利行为。使用者需自行确保所有测试目标已获得明确授权,并对自身行为及其后果承担全部责任。

📜 License

MIT — 基于 java-audit-skills 深度二次开发。

About

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

Topics

Resources

Stars

31 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Des-java-auto-skill — Java Web 全链路自动化审计

stacks
stacks

基于 Claude Code · JavaParser AST 解析 · OSV.dev CVE API

⚠️仅供学术交流与安全研究使用 · 禁止用于任何非法或盈利行为 · 请确保所有测试目标均已获得授权


它不是简单的正则匹配,而是一个 7 阶段流水线的智能审计

传统 Java 审计靠人肉 grep + 反编译 + 经验,效率低。Des-java-auto-skill 跑 7 阶段流水线(路由识别 → 控制器分析 → 调用链追踪 → sink 匹配 → 利用链编排 → 报告 → 快速模式),把"中危"串成"Critical",还实时查 OSV.dev 3000+ CVE 补组件漏洞。

  • 路由识别 → 控制器分析 → 调用链追踪 → sink 匹配 → 利用链编排 → 报告生成 → 快速模式
  • 8 漏洞类型 / 12 sink / 10+ 表达式引擎(OGNL / SpEL / MVEL / FreeMarker / Velocity)
  • OSV.dev 实时查 3000+ CVE(Log4j / Fastjson / Spring / Shiro / Struts2 / Jackson / XStream)

Des-java-auto-skill

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

LicenseStarsCIClaude CodePlatform




这是什么

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

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

它能挖到什么

漏洞类型能发现什么示例
🔴 SQL 注入ORDER BY 拼接、MyBatis ${}、HQL 注入sql + " ORDER BY " + page.getOrderBy()
🔴 反序列化ObjectInputStream、Fastjson、Jackson、Hessian、JNDIJSON.parse(userInput) + classpath 含 CC1 链
🔴 SSRFRestTemplate、HttpClient、OkHttp 等 12 种 sinkrestTemplate.getForObject(userUrl) → 打云元数据
🔴 表达式注入OGNL、SpEL、MVEL、FreeMarker、Velocity 等 10+ 引擎Struts2 S2-045 Content-Type 注入
🟠 XXE5 种 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 # zshecho'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=1Agent 并发(必须)echo $CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
JavaCFR 反编译 .class/.jarjava -version
Python 3漏洞扫描脚本python3 --version
pip 依赖PyYAML + requestspip3 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-tracerController→DAO 调用链追踪增强
java-auth-audit鉴权机制分析 + 绕过检测增强
java-vuln-scanner组件 CVE 扫描(OSV.dev)增强
java-sql-auditSQL 注入检测
java-xxe-auditXXE 外部实体注入检测
java-file-upload-audit文件上传漏洞检测
java-file-read-audit任意文件读取检测
java-deserialization-audit反序列化 + gadget 链分析🆕
java-ssrf-auditSSRF + 云元数据利用链🆕
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 覆盖、利用链编排、增量审计、快速模式等能力。

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

⚠️ 免责声明

本工具仅供学术交流与安全研究使用。 严禁用于任何非法活动、未授权测试或盈利行为。使用者需自行确保所有测试目标已获得明确授权,并对自身行为及其后果承担全部责任。

📜 License

MIT — 基于 java-audit-skills 深度二次开发。

About

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

Topics

Resources

Stars

31 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Des-java-auto-skill — Java Web 全链路自动化审计

stacks
stacks

基于 Claude Code · JavaParser AST 解析 · OSV.dev CVE API

⚠️仅供学术交流与安全研究使用 · 禁止用于任何非法或盈利行为 · 请确保所有测试目标均已获得授权


它不是简单的正则匹配,而是一个 7 阶段流水线的智能审计

传统 Java 审计靠人肉 grep + 反编译 + 经验,效率低。Des-java-auto-skill 跑 7 阶段流水线(路由识别 → 控制器分析 → 调用链追踪 → sink 匹配 → 利用链编排 → 报告 → 快速模式),把"中危"串成"Critical",还实时查 OSV.dev 3000+ CVE 补组件漏洞。

  • 路由识别 → 控制器分析 → 调用链追踪 → sink 匹配 → 利用链编排 → 报告生成 → 快速模式
  • 8 漏洞类型 / 12 sink / 10+ 表达式引擎(OGNL / SpEL / MVEL / FreeMarker / Velocity)
  • OSV.dev 实时查 3000+ CVE(Log4j / Fastjson / Spring / Shiro / Struts2 / Jackson / XStream)

Des-java-auto-skill

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

LicenseStarsCIClaude CodePlatform




这是什么

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

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

它能挖到什么

漏洞类型能发现什么示例
🔴 SQL 注入ORDER BY 拼接、MyBatis ${}、HQL 注入sql + " ORDER BY " + page.getOrderBy()
🔴 反序列化ObjectInputStream、Fastjson、Jackson、Hessian、JNDIJSON.parse(userInput) + classpath 含 CC1 链
🔴 SSRFRestTemplate、HttpClient、OkHttp 等 12 种 sinkrestTemplate.getForObject(userUrl) → 打云元数据
🔴 表达式注入OGNL、SpEL、MVEL、FreeMarker、Velocity 等 10+ 引擎Struts2 S2-045 Content-Type 注入
🟠 XXE5 种 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 # zshecho'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=1Agent 并发(必须)echo $CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
JavaCFR 反编译 .class/.jarjava -version
Python 3漏洞扫描脚本python3 --version
pip 依赖PyYAML + requestspip3 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-tracerController→DAO 调用链追踪增强
java-auth-audit鉴权机制分析 + 绕过检测增强
java-vuln-scanner组件 CVE 扫描(OSV.dev)增强
java-sql-auditSQL 注入检测
java-xxe-auditXXE 外部实体注入检测
java-file-upload-audit文件上传漏洞检测
java-file-read-audit任意文件读取检测
java-deserialization-audit反序列化 + gadget 链分析🆕
java-ssrf-auditSSRF + 云元数据利用链🆕
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 覆盖、利用链编排、增量审计、快速模式等能力。

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

⚠️ 免责声明

本工具仅供学术交流与安全研究使用。 严禁用于任何非法活动、未授权测试或盈利行为。使用者需自行确保所有测试目标已获得明确授权,并对自身行为及其后果承担全部责任。

📜 License

MIT — 基于 java-audit-skills 深度二次开发。

About

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

Topics

Resources

Stars

31 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages