有没有办法告诉Sonatype Lift漏洞扫描器在向Maven发布时考虑依赖项覆盖?

tyg4sfes  于 2022-11-22  发布在  Maven
关注(0)|答案(1)|浏览(177)

我正在尝试使用Nexus OSS存储库管理器(sonatype)将this Scala library发布到Maven。
我的库依赖于Play Framework的最新版本(com.typesafe.play:play_2.13:2.8.18),而Play Framework又依赖于com.fasterxml.Jackson(2.11.4)的旧版本。

dependencyOverrides += "com.fasterxml.jackson.core" % "jackson-databind" % "2.13.4"

我已经使用sbt依赖树插件验证了构建使用正确版本的jackson-databind,并且还检查该高速缓存文件。
尽管如此,当我使用sbt-sonatype插件(版本3.9.14)发布到maven时,我的发布被Sonatype Lift漏洞扫描器拒绝,因为pkg:maven/com.fasterxml.jackson.core/jackson-databind@2.11.4中存在漏洞,即比我的构建中实际使用的库版本旧,如dependencyOverrides中所指定的。
当我检查自动提交给Nexus存储库管理器的构建构件时,提到的唯一依赖项是POM文件中指定的顶级依赖项因此,SonatypeLift似乎查看了这些顶层依赖关系,并遍历依赖关系图以查找隐含依赖关系中的漏洞,忽略了我已经显式覆盖了我的构建中jackson-databind的版本这一事实。
是否有任何方法可以将依赖关系覆盖传播到POM?

<?xml version='1.0' encoding='UTF-8'?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mesonomics</groupId>
    <artifactId>play-hmac-signatures_2.13</artifactId>
    <packaging>jar</packaging>
    <description>play-hmac-signatures</description>
    <url>https://github.com/phelps-sg/play-hmac-signatures</url>
    <version>0.2.2</version>
    <licenses>
        <license>
            <name>Apache-2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0</url>
            <distribution>repo</distribution>
        </license>
    </licenses>
    <name>play-hmac-signatures</name>
    <organization>
        <name>com.mesonomics</name>
        <url>https://github.com/phelps-sg/play-hmac-signatures</url>
    </organization>
    <scm>
        <url>https://github.com/phelps-sg/play-hmac-signatures</url>
        <connection>git@github.com:phelps-sg/play-hmac-signatures.git</connection>
    </scm>
    <developers>
        <developer>
            <id>phelps-sg</id>
            <name>Steve Phelps</name>
            <url>https://github.com/usernamehttps://github.com/phelps-sg</url>
            <email>sphelps@sphelps.net</email>
        </developer>
    </developers>
    <dependencies>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>2.13.10</version>
        </dependency>
        <dependency>
            <groupId>com.typesafe.play</groupId>
            <artifactId>play_2.13</artifactId>
            <version>2.8.18</version>
        </dependency>
        <dependency>
            <groupId>com.google.inject</groupId>
            <artifactId>guice</artifactId>
            <version>5.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.scalactic</groupId>
            <artifactId>scalactic_2.13</artifactId>
            <version>3.2.14</version>
        </dependency>
        <dependency>
            <groupId>org.scalatest</groupId>
            <artifactId>scalatest_2.13</artifactId>
            <version>3.2.14</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.scalatestplus.play</groupId>
            <artifactId>scalatestplus-play_2.13</artifactId>
            <version>5.1.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
nbysray5

nbysray51#

尽管报告了漏洞,但该工件实际上最终还是在Maven上发布了,这只是一个等待的例子。

相关问题