Snyk扫描意义
以Java语言开发为例,我们在开发中会引入各种框架和包,那么我们引入的框架和包中就可能存在隐藏的安全漏洞,比如前段时间爆出的Log4j漏洞,可能你在项目中已经改进了这个漏洞,但项目引入的其他框架和包中依旧存在Log4j漏洞,使用Snyk就可以帮助我们对依赖包进行扫描,并针对漏洞给出修复建议。
扫描漏洞
下面会介绍几种snyk扫描的方式,以Java开发语言的POM为例,POM中存放了项目所有的依赖包。
方式一,使用github仓库扫描(推荐)
- 将你的代码存放到GitHub上,私有库也可以。建议新建一个仓库,直接只存放POM文件。
- 以GitHUb身份登录 SNYK
- 在snyk的 Projects 中选择 新增项目,再从 GitHub 中选取项目即可。新增项目成功后,这个页面会出现你的项目,然后在项目中选取你要扫描的POM文件,点击进入。
- 进入要扫描的POM文件页面后,可以对POM进行扫描,扫描结束后,结果会在ISSUE中显示,分为严重、高、中、低等级问题,每个问题打开后会有对应建议的解决方案。
方式二,本地安装snyk扫描(本地需要有node环境)
- 安装snyk
npm install -g snyk - 授权,使用GitHub账号即可,输入命令
snyk auth 后会自动在浏览器打开授权页面 - 在CMD中找到需要扫描文件的目录,执行命令
snyk test 进行扫描,在每个issue后面都会有一个链接,打开链接可以看到详细的问题说明
总结
还有一个VS CODE中装插件SNYK,会有一个看门狗在页面上,感觉不是很多用,这里就不多介绍了。上面说了两种方式,推荐第一种方式,简单方便操作,每次扫描都会有历史记录,页面报表看起来更加直观,而且一般我们做扫描是需要出扫描报告的,显然第二种方式直接打印PDF报告就可以了。
|