maven - 如何找到 Log4j 的深层用法

我想找到当前版本 (2.15.0) 之前的 log4j 的所有用法。

我尝试使用 maven 的“mvn dependency:tree”,使用了几个工具(dependency-check、grype(对我不起作用)、syft(对我不起作用)、log4j-detector) 但它们只列出在 pom.xml 中指定后生成的类。

但是 - 这是我的担忧:

例如我正在使用一个名为 hibernate-validator (Hibernate Validator Engine) 的库。我确信这个引擎使用 Jboss 日志记录,而 Jboss 日志又使用 log4j 2.11.2,但我上面的工具都没有警告我这一点。我如何找出哪些库使用 log4j?

或者外部库不会对这个漏洞构成威胁?

请指教。

最佳答案

Hibernate Validator 在这里领先。您的依赖树中没有它,因为 Hibernate Validator 和 JBoss Logging 根本不使用它。

Hibernate Validator 对 Log4j 2 有一个测试依赖,但它只是一个测试依赖。因此,为什么您没有在您的依赖关系树中看到它,这是准确的。

我正在发布具有更新的测试依赖项的新 HV 版本,但这对您的应用程序来说不是问题,它们不会通过 Hibernate Validator 依赖 Log4j 2。

参见 https://github.com/hibernate/hibernate-validator/blob/main/engine/pom.xml#L119 .

更新:为了避免安全扫描器的误报,我发布了 Hibernate Validator 7.0.2.Final 和 6.2.1.Final。

https://stackoverflow.com/questions/70339578/

相关文章:

next.js - 单击链接后如何关闭模态窗口

c# - 如何在 C# 中创建 JSON 对象

vue.js - 有没有可能把它变成 '<script setup>' ?我尝试了很多方法但可

bash - 在多个文件中将每第 4 次出现的 char "_"替换为 "@"

r - 忽略 R 中某些值的行求和值

rust - 特征的静态工厂方法

r - 缩短 R 中的长向量

c++ - 直接将数组写入参数会在 C++ 中出错

svelte - svelte.config.js 错误语法错误 : Cannot use impo

regex - 在 perl 中使用 foreach 代替 map 和 grep