我有一个pom.xml,其中包含OWASP依赖项检查配置文件:
<!-- Profile to run owasp security checks. To activate, use -Dowasp=true -->
<profile>
<id>owasp-security-checks</id>
<activation>
<property>
<name>owasp</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<!-- Tests for vulnerabilities in dependencies. -->
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>7.4.4</version>
<configuration>
<skipProvidedScope>true</skipProvidedScope>
<skipRuntimeScope>true</skipRuntimeScope>
<!-- Fail on high or critical severity -->
<failBuildOnCVSS>7</failBuildOnCVSS> <!-- None (0), Low (0.1-3.9), Medium (4.0-6.9), High (7.0-8.9), and Critical (9.0-10.0) -->
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
当使用执行时,这将按预期工作
sh 'mvn clean verify -U -Dowasp=true -DskipTests'
然而,插件会检查CVE数据库是否需要更新,有时会失败。我想将数据库更新与扫描分开,这样我就可以在特定的时间每天运行一次更新。另一个优点是,使用不同的Jenkins作业进行更新和扫描,可以更容易地区分更新问题和扫描问题。
然而,我似乎找不到如何做到这一点的指导,或者(可能)我找错了地方。