作为安全项目的一部分,我希望编写一种自动化程序,以确保在Jenkins中安装的插件没有活动警告/漏洞。是否有一种方法可以获取Jenkins发布的针对已安装插件的漏洞列表?
我试图找出“管理Jenkins”页面如何显示插件警告,并发现它正在针对“/administrativeMonitor/jenkins.security.UpdateSiteWarningsMonitor/forward”运行POST。我们能否以某种方式利用这一点?
是的,Jenkins插件管理器可以通过简单的命令来解决您的问题。
java -jar jenkins-plugin-manager-*.jar --war /your/path/to/jenkins.war --plugins delivery-pipeline-plugin:1.3.2 deployit-plugin --view-security-warnings
这里的 --view-security-warnings 所起到的魔力是给出具有警告/漏洞的插件列表。
https://github.com/jenkinsci/plugin-installation-manager-tool
为了进一步解释 @ian-w 的答案,您可以在 Jenkins Groovy 控制台中运行以下代码:
import jenkins.security.*
ExtensionList.lookupSingleton(UpdateSiteWarningsMonitor.class).getActivePluginWarningsByPlugin().each { key, value ->
println "$key.shortName: ${value.collect{ it.message }.join('; ')}"
}
return ""