免費開源的程式碼審計工具 Gosec 入門使用

Bigyoungs發表於2021-02-02

宣告:

本教程是在自己的電腦上本地測試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小站

相關文章