声明:

本教程是在自己的电脑上本地测试Gosec的效果,所以不涉及其他运行模式,如果想要了解其他模式可以关注后期文档,如果想要自定义交流自定义代码扫描规则,可以跟我交流沟通。

背景:

Gosec是一个通过扫描Go AST来检查源代码是否存在安全问题的开源项目。公司到成长到一定程度,就需要对代码进行审计,针对Go的作为主要的开发语言,我就测试一下Gosec的效果。

使用教程

要求

  • 已经配置好Go的开发环境
  • 准备一个测试项目代码

步骤

1. 进入Go环境src目录下

执行命令:go get github.com/securego/gosec/v2/cmd/gosec

2. 直接Build

进入到gosec项目目录:cd ./gosec/,再执行:make

提示:make后就可以使用gosec来进行代码扫描了,并且是全局的命令

3. 扫描代码

进入你准备好的代码目录下,执行:gosec -fmt=json ./... 命令的意思是:检测当前目录下的所有的代码,并以Json的格式输出到终端。

然后查看结果,如果有漏洞的地方,会在Json的数据格式里写清楚,并写清楚危险等级。

Gosec常用命令

1. 直接输出内容到终端

gosec -fmt=json ./... 支持的格式有:text, json, yaml, csv, sonarqube, JUnit XML, html

2. 输出到指定文件

gosec -fmt=json -out=results.json ./... 输出的格式要个文件后缀名匹配

3. 指定使用规则

# 指定使用某几个规则
$ gosec -include=G101,G203,G401 ./...

# 使用默认所有规则,除了某几个规则
$ gosec -exclude=G303 ./...

更多的使用可以看官方文档:Gosec开源项目地址

本文首发于BigYoung小站

版权声明:本文为bigyoung原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/bigyoung/p/14364634.html