corax-java-cli-community-2.16.2
Change log:
-
提升:大幅优化了分析引擎的内存占用并提高分析效率,其中重要的改进具体包括
- 改进Soot: 1: 改进多处API,避免多余的频繁的获取锁,2:增加稀疏位图和压缩位图,大幅优化soot指针分析的内存消耗
- 改进了Qilin指针分析框架:共计减少内存消耗50%,速度提升40%,1: 并发支持,引入kotlin协程并发加速指针传播并大量优化传播算法,2:使用稀疏位图加速并使用压缩位图减少内存消耗。
- 改进污点分析引擎: 内存消耗降低了1-5倍,速度提升20%; 修复超时取消任务时产生的子协程任务泄露导致的耗时问题
- 所有 Analysis API 全部使用并发执行
- TODO: 持续优化中
-
改进: 优化并关闭不必要的日志内容,增加关键分析阶段前后的内存状态信息,优化进度条.
-
改进: 重构 mybatis 配置解析器
-
新特性: 向污点分析诊断的路径中增加了相关三方库版本信息的来源和漏洞版本区间,方便用户修复漏洞。目前分析支持的版本信息来源:
- maven pom
- maven pom properties inner jar
- jar file name
- version in java class
-
新特性: 升级 K2 (kotlin 2.0.20), 提高了编译效率
-
新特性: 增加基于协程的高效的递归计算算法(带缓存加速,无死锁,支持取消)(可极高降低过程间分析算法的编程难度) 详见
com.feysh.corax.cache.coroutines.RecCoroutineCache
-
修复: 错误地合成 Spring 框架建模 dummy class 的问题
-
修复: 改进分析引擎,修复了若干崩溃和错误,增加了稳定性和正确性
corax-java-cli-community-2.16.2.zip
中包含编译好的规则配置和分析引擎二进制jar,无需下载源码编译。
SHA256: 019f1340b791e535f7bc5cc4948e700bd80cd15f70a71fb91093e7833d969965