1、比如,在下面这个分析结果中,通过mvn dependency:analyze的分析,我们发现了
JUnit 和 Logback 这类“虽然被引用但却没有被使用”的插件。既然没有被使用,那我们
就可以很放心地进行删除了。
第二步:管理插件补丁更新
一旦某个插件出现漏洞,通常插件的运维方都会尽快推出补丁。有的公司还会设立专门的部
门和人员进行补丁管理的工作。一旦出现漏洞和补丁,公司会先评估漏洞的严重性,然后设
定打补丁的优先级,推动研发人员进行更新操作。
所以,建立插件防护体系的第二步,就是要知道你有哪些插件需要更新。但是,在实际工作
中一个应用随便就依赖几十个插件,你当然没办法一个一个去查询插件的更新状态了。那
Version Maven Plugin就是用来帮你检查版本更新的一个工具。你可以看到,在下面的
分析结果中,通过mvn version:display-dependency-updates这个命令,我们就能
发现 JUnit 有一个新的 4.11 版本。
[INFO] --- maven-dependency-plugin:2.8:analyze (default-cli) @ client ---
[WARNING] Unused declared dependencies found:
[WARNING] junit:junit:jar:4.11:test
[WARNING] ch.qos.logback:logback-classic:
2、管理第三方插件的更新
安装:
在实际工作
中一个应用随便就依赖几十个插件,你当然没办法一个一个去查询插件的更新状态了。那
Version Maven Plugin(https://www.mojohaus.org/versions-maven-plugin/)就是用来帮你检查版本更新的一个工具。你可以看到,在下面的
分析结果中,通过mvn version:display-dependency-updates这个命令,我们就能
发现 JUnit 有一个新的 4.11 版本。
mvn versions:display-plugin-updates versions:display-dependency-updates
3 把插件和公开的漏洞库做对比:
(https://owasp.org/www-project-dependency-check/)
OWASP Dependency-Check是一款专门进行插件漏洞检测的工具。它会将工程内的插
件和公开的漏洞库进行比对。最终,会生成一个网页形式的报告,使你对工程中的插件漏洞
一目了然了。