JFrog XRay 分析错误版本

问题描述

我的应用程序使用 Maven 构建,其依赖项包括 LibA 和 LibB。两者依次依赖于同一个库 com.thoughtworks.xstream:xstream,但 LibA 依赖于 1.4.16 版本,而 LibB 依赖于 1.4.8。当我运行 mvn dependency:tree 时,我可以看到只使用了 1.4.16 版本,当我解压缩构建的 JAR 文件时,我看到只有 xstream-1.4.16.jar 存在。但是 Xray 报告我的应用程序存在安全问题,因为它依赖于 xstream 版本 1.4.8,通过 LibB。

有没有其他人遇到过这种行为?有没有办法让 Xray 意识到我们的二进制文件与旧的 1.4.8 版本无关?

解决方法

事实证明,LibB 是一个直接包含 xstream 1.4.8 的胖 jar,因此 Xray 是正确的,我们的应用程序包含它,即使它不在 Maven 的依赖项列表中。