我不得不非常遗憾地承认,我对OWASP依赖检查maven插件一无所知。 自2013年以来似乎已经存在。显然GitHub上已有千个项目正在使用它。

过去,我手动检查了依赖项,以根据漏洞数据库对其进行检查,或者在很多情况下,我只是完全不了解依赖项所具有的任何漏洞。

这篇文章的目的仅仅是–推荐OWASP依赖项检查maven插件是几乎每个maven项目中的必备工具。 (也有用于其他构建系统的依赖项检查工具 )。

添加插件时,它将生成报告。 最初,您可以手动升级有问题的依赖项(我在当前项目中升级了其中的两个),或消除误报(例如,cassandra库被标记为易受攻击,而实际的漏洞是Cassandra绑定了未经身份验证的RMI端点,我已经通过堆栈设置解决了该问题,因此该库不是问题)。

然后,您可以配置漏洞的阈值,并在出现新漏洞时使构建失败-通过添加易受攻击的依赖关系,或者在现有依赖关系中发现漏洞的情况下,构建失败。

所有这些都显示在示例页面中 ,非常简单。 我建议立即添加插件,这是必须的:

<plugin>
	<groupId>org.owasp</groupId>
	<artifactId>dependency-check-maven</artifactId>
	<version>3.0.2</version>
	<executions>
		<execution>
			<goals>
				<goal>check</goal>
			</goals>
		</execution>
	</executions>
</plugin>

当然,不是所有的玫瑰。 使用reddit的人抱怨说,尽管该插件在本地缓存内容,但仍可能显着降低构建速度。 因此,最好将其从常规构建中排除,并在CI系统和/或deploymenet管道中每晚运行。

现在,检查依赖关系是否存在漏洞只是确保软件安全的一个小方面,它不应该给您带来错误的安全感(有点“我检查了我的依赖关系,因此我的系统是安全的”谬论)。 但这是一个重要方面。 并且使该检查自动化是巨大的收获。

翻译自: https://www.javacodegeeks.com/2017/12/owasp-dependency-check-maven-plugin-must.html