Repository navigation
Releases: Zuimeng-0710/java-audit-lab
Release list
Java Audit Lab 2.0.1
Java Audit Lab 2.0.1
本版本修正扫描范围、报告统计和首次扫描展示问题,减少依赖、测试语料及示例代码对审计结果的干扰。
修复内容
- 默认排除
.venv、venv、.m2-test、tmp和__pycache__ - 将
corpus、benchmarks和fixtures正确识别为测试语料 - 首次扫描显示“尚未建立基线”,不再将全部线索标记为新增
- 报告顶部区分生产代码、测试与语料、示例代码
- 单独显示经过人工确认的漏洞数量
- 修正扫描器贡献统计,使合计与最终归并线索一致
- 增加语言覆盖边界和缺少 Java 构建清单提示
- 修复 YAML 中
fail_on: none可能导致的配置解析异常 - 增加仓库自身扫描配置,排除故意存在漏洞的测试材料
- 更新 GitHub Actions 审计示例和中英文文档
验证结果
- 120 项自动化测试全部通过
- 内置规则基准 Precision / Recall 100%
- train、validation 和 holdout 严格评测通过
- 仓库自身扫描结果为 0 条
- 完整测试材料正确分类为:
- 测试语料:50 条
- 示例代码:17 条
- 生产代码:0 条
安装
下载下方的 wheel 文件,然后执行:
pip install java_audit_lab-2.0.1-py3-none-any.whlJava Audit Lab 2.0.0
java-audit v2.0.0
本版本修复 issue #6(基线指纹含行号导致的新增/修复噪声),并完成 v1.9「验证闭环」路线图全部 8 项,正式发布 2.0.0。
🐛 修复
- 基线指纹去行号(#6):指纹改为 规则 + 归一化路径 + 归一化命中内容 + 文件内出现序号,代码行漂移不再产生虚假的 new/fixed 告警;
audit/baseline.py重写二次对齐兼容层(relocated字段) - taint 引擎:
strip_literals()剥离字符串/注释防变量误判;修复_SPRING_PARAM_RE泛型/逗号解析;字面量目标主机反证 - builtin:修复
new java.net.URL(url)全限定写法漏报(JAL-SSRF-001 盲区) - frameworks:净化器补充、去除
transferTo双重命中、.exchange(限定调用者
📚 测试语料库:12 → 59 案例,覆盖 15 类漏洞
- 新增跨方法案例与开源脱敏样本
- train / validation / holdout 60/20/20 三分(评测器
--split) known-limitations.json治理机制(14 条已登记边界)- 诚实指标见
corpus/EVALUATION.md:门禁口径 100%(train+val 与 holdout),诚实口径 67.7% / 87.5%
✨ 新特性
- CLI 新增
--json-summary(契约jal-summary/1,stdout 仅输出 JSON,日志走 stderr) - 退出码 0/1/2 语义文档化
- 新增
examples/github-actions/pr-audit.yml:PR 增量审计 Actions 示例
✅ 质量
- 全套 unittest:118 项全部通过(含基线身份、污点精度、语料、CLI 摘要等专项测试)
完整变更日志:见 CHANGELOG.md
Java Audit Lab 1.9.0
Java Audit Lab 1.9.0
本版本增加面向人工复核的验证闭环,将扫描线索进一步整理为可跟踪、可记录、可导出的验证任务。
Highlights
- 新增验证任务卡和验证台账
- 支持执行人、尝试次数、成功判据和证据路径
- 新增八类误报归因
- 新增审计档案、范围清单和 Git 快照
- 复核数据支持 JSON 导入与导出
- 报告 JSON Schema 升级到 1.4
- 86 项自动化测试全部通过
- 桌面端和移动端报告布局验证通过
扫描结果是待人工复核的安全线索,不代表漏洞已经确认。请只在明确授权的项目或靶场中进行验证。
Java Audit Lab 1.8.0
Java Audit Lab 1.8.0
面向 Java 学习者、开发者与安全审计人员的可复核 Java 代码审计工作台。
Java Audit Lab 将静态扫描结果整理成可以人工验证的证据记录,帮助使用者理解漏洞成立条件、反证、安全控制、权限要求和修复方向。
主要功能
- Evidence Driven Audit Playbook 九阶段审计流程
- 12 类零依赖 Java 教学规则
- 方法内 Source → Sink 污点传播分析
- Spring MVC、Spring Security、Apache Shiro 权限矩阵
- Spring MVC 自定义 Interceptor 鉴权识别
- 配置文件凭据扫描,报告中自动隐藏敏感值
- 生产、测试、示例和生成代码范围标记
- Git 增量审计与权限变化比较
- 多扫描器统一证据记录
- 支持 Semgrep、SpotBugs、OWASP Dependency-Check 和 CodeQL
- 导入和导出 SARIF 2.1
- 生成 JSON、SARIF、HTML 和 Markdown 报告
- 离线交互式 HTML 复核界面
- 基线比较与人工复核记录
1.8.0 更新
- 新增数据驱动的 Source、Sink 和 Sanitizer 模型
- 新增方法内污点分析 runner
- 新增 YAML、Properties、JSON、
.env等配置凭据扫描 - 凭据证据与指纹不保存原始值,统一显示为
<redacted> - 新增明文密码比较、敏感日志和 URL 查询参数令牌规则
- 修复
URI.create()仅解析 URI 时被误判为 SSRF - 支持通过
public_endpoints声明确认公开的接口 - 自定义鉴权拦截器只有在发现令牌读取、校验和拒绝请求证据时才标记为“已证明”
- 方法内文本传播明确标记为“推测路径”
- 完成 75 项自动化测试
安装
需要 Python 3.10 或更新版本。
下载本页面附件后执行:
pip install java_audit_lab-1.8.0-py3-none-any.whl也可以从源码安装:
git clone https://github.com/Zuimeng-0710/java-audit-lab.git
cd java-audit-lab
pip install -e .快速开始
java-audit doctor
java-audit scan /path/to/java-project -o audit-report --yes扫描完成后打开:
audit-report/report.html
可选扫描器
Semgrep、SpotBugs、OWASP Dependency-Check 和 CodeQL 需要单独安装。未安装外部扫描器不会影响其他扫描器和报告生成。
使用边界
Java Audit Lab 生成的是待人工复核的安全线索,不代表漏洞已经确认。
当前内置分析主要提供规则匹配、方法内传播候选和权限配置证据;复杂的跨方法、跨模块和动态调用仍需结合 CodeQL、其他分析引擎及人工审计确认。
请只扫描你拥有或已经获得明确授权的项目。
English summary
Java Audit Lab is an evidence-driven Java security review workbench for learners, developers, and security auditors.
Version 1.8.0 adds method-level taint analysis, redacted configuration-secret scanning, source-scope classification, authorization evidence improvements, Git incremental review, and regression fixes for common false positives.
Scan results are review candidates and must not be treated as confirmed vulnerabilities without manual verification.