Я работаю над проектом Java, который использует sonar-maven-plugin. Этот плагин имеет транзитивную зависимость от sonar-scanner-api, что приводит к уязвимостям безопасности из-за использования им okio (версия 1.17.2) и okhttp (версия 3.14.2).
Проблема, с которой я столкнулся, заключается в том, что, несмотря на попытки исключить старые версии okhttp и okio и явное добавление обновленных версий в мой pom.xml, старые версии, похоже, все еще используются во время сборки и сообщаются SonarQube.
Вот что я пробовал до сих пор:
Добавление обновленных зависимостей непосредственно в раздел dependencyManagement:
Перемещение зависимости из dependencyManagement в dependencies:
Несмотря на эти шаги, okhttp 3.14.2 и okio 1.17.2 продолжают появляться в дереве зависимостей, и SonarQube по-прежнему сообщает об уязвимостях, связанных с этими версии.
Вопросы:
Дополнительная информация:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.12.0</version>
</dependency>
<dependency>
<groupId>com.squareup.okio</groupId>
<artifactId>okio</artifactId>
<version>3.6.0</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>4.0.0.4121</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
</exclusion>
<exclusion>
<groupId>com.squareup.okio</groupId>
<artifactId>okio</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.12.0</version>
</dependency>
<dependency>
<groupId>com.squareup.okio</groupId>
<artifactId>okio</artifactId>
<version>3.6.0</version>
</dependency>
</dependencies>
Maven version: 3.9.6
Java versiopn: 17.0.7
Sonarqube: 4.0.0.4121
OS: Windows 11
project structure as follows:
parent-pom
├── submodule1
└── submodule2