文章总结: 本文回顾了jar-analyzer从2022年至今的开发历程,该工具专注于Java漏洞分析,经历了从内存存储到SQLite持久化、从GUI工具到AI集成的演进。关键功能包括DFS调用链追踪、污点分析验证,并逐步整合MCP协议、n8n工作流和Claude插件,显著提升了Java安全分析的自动化程度。文档建议安全研究者直接使用其开源工具或AI插件进行漏洞挖掘。 综合评分: 85 文章分类: 漏洞分析,安全工具,安全开发,AI安全,代码审计
从古法审计到AI时代:jar-analyzer 的开发史
原创
4ra1n 4ra1n
4ra1n
2026年3月21日 21:14 陕西
在小说阅读器读本章
去阅读
0x01 诞生
在 2022 年底,我正在做 Java 漏洞分析和挖掘工作,常常需要翻阅庞大的 jar 文件,在密密麻麻的类与方法中寻找 sink/gadget 等信息,我想做一个分析 jar 文件的 GUI 工具。
市面上的工具总感觉过于笨重,于是,一个朴素的念头萌生了:做一个能快速定位 sink 点、追踪方法调用链的 GUI 工具。
这个想法很快落地。2022 年 12 月 3 日 jar-analyzer v1 问世,发布的第一个截图是从 log4j2 的 jar 包中精准找到 Context.lookup
jar-analyzer-v1 链接:
https://github.com/jar-analyzer/jar-analyzer-v1-gui
0x02 重构 v2
v1 版本虽然解决了问题,但有着致命的短板:所有数据全部存储在内存的 HashMap 中,没有持久化。面对大型项目,内存告急;每次重启,一切归零,必须重新分析。我意识到,如果想让这个工具真正用起来,必须从根本上解决数据管理的问题。
2023 年 10 月 jar-analyzer v2 重构正式启动。核心决策只有一个:用 SQLite 替代内存存储,让所有分析结果持久化、可复用。同时,我重新设计了整套 GUI,力求在功能完备与视觉美感之间取得平衡。
链接:
https://github.com/jar-analyzer/jar-analyzer
此后,项目进入快车道。至今已发布 59 个版本,聚集了 10 余位贡献者,从一个小小的个人项目,成长为社区驱动的开源工具。
0x03 高级功能
在社区多位师傅的建议和直接贡献下,v2 逐渐羽翼丰满。
DFS 调用链追踪 —— 指定 sink 或 source,深度优先搜索自动遍历所有方法调用路径,将漏洞的”来龙去脉”一目了然地呈现出来。
污点分析 —— 从零手搓了一套最朴素但有效的模拟 JVM 污点分析实现,验证 DFS 推导出的调用链是否真实可达,帮助分析者快速排除误报。
从手动翻阅到自动追踪,从猜测到验证,分析效率实现了质的飞跃。
0x04 用户的认可
在四五年的持续迭代中,jar-analyzer 逐渐积累了一批忠实的使用者。他们中有安全研究员,也有一线攻防从业者;有用它挖到 0day 的,也有在甲方团队中推广使用的。
0x05 MCP
2025 年,AI 能力以前所未有的速度渗透到安全领域。一位师傅提出了一个前瞻性的想法:能否将 jar-analyzer 的分析能力通过 API 暴露出来,借助 MCP(Model Context Protocol)让 AI 大模型直接参与 Java 代码的漏洞分析?
这个想法很快变为现实。jar-analyzer 内置的 HTTP API 配合 MCP 服务端,让 AI 能够自主查询类信息、追踪方法调用关系、定位 sink 与 source,将人工分析经验转化为 AI 可理解的结构化数据。
说明文档:https://github.com/jar-analyzer/jar-analyzer/blob/master/mcp-doc/README.md
0x06 n8n 编排
如果说 MCP 打开了 AI 分析的大门,那么 n8n 工作流编排则补全了自动化分析的最后一块拼图。
另一位师傅基于 n8n 构建了一套完整的 AI 编排流程:首先自动统计所有 Controller 等入口信息,然后通过 MCP 逐层深入方法调用关系,最终自动生成漏洞分析报告。
说明文档:
https://github.com/jar-analyzer/jar-analyzer/tree/master/n8n-doc
从源码到报告,全程无需人工干预。
0x07 SKILL
随着 Claude Code 的崛起,SKILL 成为了 AI 辅助开发的新范式。0cat 师傅为 jar-analyzer 编写了专属 SKILL,并在实际业务中投入使用,实现了与 Claude Code 的深度集成。
AI 不再只是回答问题,而是能够主动调用 jar-analyzer 的能力,在代码审计的每一步都给出精准的辅助。
说明文档:
https://github.com/jar-analyzer/jar-analyzer/tree/master/skills
0x08 提取引擎
然而,SKILL 模式仍有门槛:用户需要先用 GUI 构建数据库,再配置 MCP 进行反编译查询,链路较长,配置复杂。
能否将这些能力浓缩为一个极简的 CLI 工具,让 AI 一行命令就能完成所有准备?
jar-analyzer-engine 由此诞生。它剥离了 v2 的 GUI 外壳,将核心分析引擎独立出来,以命令行工具的形式呈现:
https://github.com/jar-analyzer/jar-analyzer-engine
输入 (JAR) │ ▼┌──────────────────────────────┐│ 阶段 0: JAR 解压与过滤 │ 解压文件,应用黑白名单│ (0% - 15%) │└──────────────┬───────────────┘ ▼┌──────────────────────────────┐│ 阶段 1: 类发现 (Discovery) │ 提取类/方法/字段/注解信息│ (15% - 30%) │└──────────────┬───────────────┘ ▼┌──────────────────────────────┐│ 阶段 2: 方法调用分析 │ 分析方法体中的调用指令│ (30% - 40%) │└──────────────┬───────────────┘ ▼┌──────────────────────────────┐│ 阶段 3: 继承关系构建 │ 构建继承树 + 方法实现映射│ (40% - 70%) [标准模式] │└──────────────┬───────────────┘ ▼┌──────────────────────────────┐│ 阶段 4: 字符串常量提取 │ 提取代码和注解中的字符串│ (70% - 80%) [标准模式] │└──────────────┬───────────────┘ ▼┌──────────────────────────────┐│ 阶段 5: Spring 分析 │ 识别 Controller/Mapping 参数│ (80% - 90%) [标准模式] │└──────────────┬───────────────┘ ▼┌──────────────────────────────┐│ 阶段 6: JavaWeb 组件识别 │ 识别 Servlet/Filter/Listener│ [标准模式] │└──────────────┬───────────────┘ ▼ SQLite 数据库
用户可以使用简单的一行命令构建数据库:
java -jar jar-analyzer-engine.jar --jar app.jar
需要反编译直接调用 engine cli 即可
--decompile com.example.MyClass
通过 engine 的方式,不少用户在实际项目中成功挖掘到了漏洞。
0x09 Claude Code 插件
既然 engine 的能力已经如此强大,那何不更进一步,封装一个基础的 Claude Code 插件?
jar-analyzer-claude 应运而生。普通用户可以拿来即用,进阶用户可以基于源码进行定制。
为了方便用户,我直接做成了 claude marketplace 市场,通过 /plugin 添加市场,直接安装插件,而无需下载 SKILL 后手动复制等方式生效。
https://github.com/jar-analyzer/jar-analyzer-claude
通过 /build-db 构建数据库,通过 /do-analyze 进阶分析
项目规定了,优先使用 sqlite3 查询,如果找不到命令再尝试 python 脚本;不可以直接反编译看代码,需要根据 sql 查询到的信息,有理有据的情况下,再进行反编译以确认真实的代码和数据流等情况。
0x10 总结
从 2022 年 12 月到 2026 年 3 月,四五年的光阴,jar-analyzer 走过了一条清晰而坚定的路:
从一个功能粗糙的个人小工具,到 GUI 精致、体验流畅的 v2 版本;从纯手工分析,到 DFS 自动追踪与污点分析验证,表达式搜索,各种细节优化手段。截至目前,总下载量 20000+ 次。
再到 AI 时代到来后,从 MCP 到 n8n 工作流编排,从 SKILL 到 Claude Code 官方插件 —— 每一步都在降低 Java 漏洞分析的门槛,让更多人能够高效地发现安全问题。
感谢所有贡献者和使用者。如果你正在做 Java 安全分析,希望 jar-analyzer 能成为你手中的利器。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:4ra1n 4ra1n 4ra1n《从古法审计到AI时代:jar-analyzer 的开发史》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。





![[TCH]腾讯云黑客松第二届智能渗透挑战赛复盘](/images/random/titlepic/2.jpg)


评论