Skip to content

Java Audit Lab 1.8.0

Choose a tag to compare

@Zuimeng-0710 Zuimeng-0710 released this 29 Sep 07:47
· 28 commits to main since this release

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.