申明:
本教程是在本人的电脑上本地测试 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 小站