本教程是在自己的电脑上本地测试Gosec的效果,所以不涉及其他运行模式,如果想要了解其他模式可以关注后期文档,如果想要自定义交流自定义代码扫描规则,可以跟我交流沟通。
Gosec是一个通过扫描Go AST来检查源代码是否存在安全问题的开源项目。公司到成长到一定程度,就需要对代码进行审计,针对Go的作为主要的开发语言,我就测试一下Gosec的效果。
执行命令:go get github.com/securego/gosec/v2/cmd/gosec
进入到gosec项目目录:cd ./gosec/
,再执行:make
提示:make后就可以使用gosec来进行代码扫描了,并且是全局的命令
进入你准备好的代码目录下,执行:gosec -fmt=json ./...
命令的意思是:检测当前目录下的所有的代码,并以Json的格式输出到终端。
然后查看结果,如果有漏洞的地方,会在Json的数据格式里写清楚,并写清楚危险等级。
gosec -fmt=json ./...
支持的格式有:text, json, yaml, csv, sonarqube, JUnit XML, html
gosec -fmt=json -out=results.json ./...
输出的格式要个文件后缀名匹配
# 指定使用某几个规则
$ gosec -include=G101,G203,G401 ./...
# 使用默认所有规则,除了某几个规则
$ gosec -exclude=G303 ./...
更多的使用可以看官方文档:Gosec开源项目地址