开源软件安全检查工具
Posted 煜铭2011
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开源软件安全检查工具相关的知识,希望对你有一定的参考价值。
0x00 安全要求
为了有效发现开源软件存在的安全问题,避免带病上线,在投入使用或发布上线时,需要遵循以下要求:
- 开源软件投入使用或者集成到系统进行部署发布前,须提交开源软件的安全检测报告,若报告里面存在严重(critical)或者高危(high)漏洞,则需要由应用开发部门对其进行升级修复或者加固后,方可进行部署发布。
- 为了有效发现开源软件存在的安全问题,可以参考以下方式对开源软件进行安全检测,并提供安全检测报告。
0x01 发布前安全检测
1.开发完成时
在IDEA等研发工作台集成,建议使用Snyk Vulnerability Scanner进行开源组件漏洞或者查询附录1:常见开源软件安全版本列表进行自查。
目前Snyk Vulnerability Scanner插件最新版支持IDEA版本2020.2-2021.1,老旧版本或最新版本不一定支持具体,请参照插件官网及其介绍:Snyk Vulnerability Scanner - IntelliJ IDEs Plugin | Marketplace
安装成功后,需要进行激活认证,直接在IDEA 进行激活
如未能看到以上信息,需要手动激活,在Windows里面搜索并找到找到 snyk-win.exe,运行 snyk-win.exe auth
看到连接后,直接跳转到或者复制连接到浏览器,使用GitHub账号或者其他账号登录授权。如下图所示
代码编写完成进行测试时,建议下载依赖包进行完整性调试后,再点击Run scan
在结果当中,可以清晰看到
- 哪些第三方组件存在漏洞
- 这些漏洞的等级如CRITICAL、HIGH、MEDIUM、LOW等
- 漏洞修复版本、漏洞简要情况等。
2.完成调试时
当项目完成开发后或无GitHub账号或者登录授权出现问题导致Snyk Vulnerability Scanner不可用或者不使用IDEA进行开发等情况,可单独使用DependencyCheck,因为首次使用需要下载漏洞库,耗时会比较长,需要提前部署准备环境。
Windows 平台参考使用命令行:dependency-check.bat --project aa -s D:\\code\\aa -o D:\\aa.html
3.发布上线时
系统集成发布使用Jenkins平台,请在Jenkins启用dependency-check-plugin
OWASP Dependency-Check | Jenkins plugin
- 安装插件
[系统管理]-[插件管理]-[可选插件]安装OWASP Dependency-Check Plugin和Static Analysis Utilities
- 工具安装
[系统管理]-[全局工具配置]-[Dependency_check安装]
- 项目使用
生成html格式报告
0x03 其他参考工具
1.开源组件安全扫描(OSS/SCA)开源工具
对于软件开发过程中,需要对第三方组件进行漏洞检查方面,可以考虑到的开源产品:
Dependency-Check(可以结合maven、Jenkins、sonar使用);链接:GitHub - jeremylong/DependencyCheck: OWASP dependency-check is a software composition analysis utility that detects publicly disclosed vulnerabilities in application dependencies.
陌陌安全 MOSEC-X-PLUGIN 系列插件开源;链接:源海拾贝 | 陌陌安全 MOSEC-X-PLUGIN 系列插件开源 - 安全客,安全资讯平台
snyk 可以扫描node.js nmp、ruby、java依赖中的漏洞,协议授权安全,多平台集成;链接:Snyk | Developer security | Develop fast. Stay secure.
2. 开源组件安全扫描(OSS/SCA)商业产品
对于软件开发过程中,需要对第三方组件进行漏洞检查方面,可以考虑到的商业产品:
OSS方面的商业产品:BlackDuck
FOSSology,开源授权协议合规检查产品
snyk,可以扫描node.js nmp、ruby、java依赖中的漏洞,协议授权安全,多平台集成;链接:Snyk | Developer security | Develop fast. Stay secure.
JFrog Xray,安全漏洞及依赖分析平台;链接:JFrog Xray - Universal Component Analysis - JFrog
以上是关于开源软件安全检查工具的主要内容,如果未能解决你的问题,请参考以下文章
K8s:开源安全平台 kubescape 实现 Pod 的安全合规检查/镜像漏洞扫描