【问题标题】:Detecting Apache Log4j vulnerability presence in gradle transitive dependencies在 gradle 传递依赖项中检测 Apache Log4j 漏洞的存在
【发布时间】:2022-01-23 21:40:55
【问题描述】:

最近在 log4j https://nvd.nist.gov/vuln/detail/CVE-2021-44228 中存在一个漏洞,其重要性得分为 10

如何检查 gradle 中是否存在易受攻击的 Log4j 版本,以便列出所有依赖项,包括传递依赖项?

【问题讨论】:

  • ./gradlew -q dependencies|grep -i log4j - 这应该为您提供所使用的 log4j 依赖项(如果有)的版本。
  • @Turing85,这不应该是一个答案,而不是一个评论吗?

标签: java gradle log4j log4j2


【解决方案1】:

我们可以使用

./gradlew -q dependencies

列出依赖树。它将列出所有依赖项及其各自的版本。由于此输出可能很长,我们可以使用grep 对其进行过滤:

./gradelw -q dependencies | grep -i log4j

这将列出所有 log4j-dependencies 及其各自的版本。

【讨论】:

  • gradle中也有dependencyInsight?知道这有什么不同,应该使用/不使用吗?
  • gradle -q dependencyInsight
  • 我推荐阅读documentation on dependencyInsight。它指出:“...每个 Gradle 项目都提供任务 dependencyInsight 从命令行渲染所谓的依赖关系洞察报告。给定依赖关系图中的依赖关系,您可以识别选择原因并追踪依赖选择的起源。 ..."
【解决方案2】:
gradle -q dependencyInsight --dependency org.apache.logging.log4j 
 --configuration scm

根据文章,还有另一种使用dependencyInsight检查此列表的方法:- https://venturebeat.com/2021/12/17/how-to-detect-whether-you-have-the-log4j2-vulnerability/

【讨论】:

    猜你喜欢
    • 2022-01-16
    • 2022-09-28
    • 2022-01-15
    • 2022-01-18
    • 2023-03-17
    • 2015-05-15
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多