обновление maven-core-2.0.9.jar чтобы maven-core-3.8.4.jar при создании java-приложения с использованием maven для исправления уязвимости Black Duck

#java #maven #security #jar #pom.xml

Вопрос:

Мы создаем наше потоковое приложение Kafka, написанное на Java с использованием maven. Наблюдается, что при создании приложения maven-core-2.0.9.jar загружается.

Мы используем Black Duck для анализа библиотек на наличие уязвимостей в системе безопасности и maven-core-2.0.9.jar помечен как банка с высокой уязвимостью. Black Duck предлагает нам обновить эту банку до более высокой версии maven-core-3.8.4.jar . Как мне это сделать, поскольку это не является частью дерева зависимостей приложения.

Ниже приведен следующий pom.xml которые мы используем. Должен ли я вносить какие-либо изменения, чтобы мы использовали последнюю версию maven / maven libraries / plugins.

 <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.sampleproject.</groupId>
    <artifactId>testproject</artifactId>
    <version>1.0.0.0</version>

    <properties>
        <java.version>1.8</java.version>
        <maven-compiler-plugin.version>3.6.1</maven-compiler-plugin.version>
        <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
        <sonar.jacoco.reportPath>${project.basedir}/../target/jacoco.exec</sonar.jacoco.reportPath>
        <jacoco.version>0.8.5</jacoco.version>
        <sonar.language>java</sonar.language>
        <jackson.version>2.10.1</jackson.version>
        <sonar.coverage.exclusions>
            **/*.xml,
            **/*.properties,
            build.properties,
            package/**,
            config/**
        </sonar.coverage.exclusions>
    </properties>

    <dependencies>
        <dependency>
           <!-- Dependancies of project --> 
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin.version}</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.2.0</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer
                                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>com.dell.sadatahub.azure.SACCollectionProcessorTopology</mainClass>
                                </transformer>
                            </transformers>
                            <filters>
                                <filter>
                                    <artifact>*:*</artifact>
                                    <excludes>
                                        <exclude>META-INF/*.SF</exclude>
                                        <exclude>META-INF/*.DSA</exclude>
                                        <exclude>META-INF/*.RSA</exclude>
                                    </excludes>
                                </filter>
                            </filters>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${jacoco.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>jacoco-report</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>3.0.0-M3</version>
                <configuration>
                    <rules>
                        <dependencyConvergence />
                    </rules>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <distributionManagement>
        <repository>
            <id>releases</id>
            <name>libs-release-local</name>
            <url>https://dcsartifacts.dell.com/artifactory/libs-release-local</url>
        </repository>

        <snapshotRepository>
            <id>snapshots</id>
            <name>libs-snapshot-local</name>
            <url>https://dcsartifacts.dell.com/artifactory/libs-snapshot-local</url>
        </snapshotRepository>
    </distributionManagement>

</project>
 

Комментарии:

1. Сначала вы не можете обновить зависимость от используемого инструмента / библиотеки… это должно быть сделано разработчиками библиотеки / инструмента… Кроме того, я не очень удивлен этим, потому что maven-core-2.0.9 2008 года !…

2. Привет, Хамарбайз, спасибо за ваш ответ. Я обновил pom.xml которые мы используем. Можете ли вы проверить, изменим ли мы pom.xml будут ли использоваться новейшие библиотеки? maven-core-.2.0.0.jar имеет уязвимость в системе безопасности, поэтому мы хотим использовать последнюю версию библиотеки

3. Я вижу только, что вы используете плагины maven (как обычно). Я бы использовал версию 3.0.0 maven-enforce-plugin и, возможно, самую последнюю версию maven-compiler-plugin (3.8.1 maven.apache.org/plugins /) … Я не уверен, что ваш сканер сканирует только зависимости вашего приложения?

4. ПРИВЕТ, Хмарбайс, еще раз спасибо за ваш ответ. Я обновил все плагины до последней версии, но все же maven-core-2.0.9.jar используется для строительства !!

5. Указали ли вы все плагины, которые вы используете, потому что в сообщении их ограниченное количество. Например, maven-resources-plugin, maven-install-plugin отсутствует?