IBM Cloud Docs
配置 GoSec 掃描

配置 GoSec 掃描

使用 gosec 來檢查已掃描儲存庫中的 Golang 原始碼。

必要參數

管線需要表格 1 中的參數才能執行 Gossec 掃描。 如需管線參數的完整清單,請參閱 管線參數

gosec掃描參數
名稱 類型 說明 必要或選用
opt-in-gosec text 若要啟用 gosec 掃描,請將該屬性設定為任何非空值。 若要停用掃描,請將其設定為空值或完全移除該屬性。 (預設為空) 必須

對專用 Git 儲存庫啟用 gosec 掃描

如果您的專案需要位於專用 Git 儲存庫中的相依關係,因此需要 SSH 型鑑別,您可以提供選用參數來啟用管線以擷取相依關係。 如需相關資訊,請參閱 啟用下載專用儲存庫的相依關係

如果必須指定代理才能擷取依賴項目,您可以使用管道參數指定其 URL 以及憑證 (使用者名稱和標記)。 如需相關資訊,請參閱 啟用 GOPROXY

啟用下載專用儲存庫的相依關係

提供下列所有管線參數,即可啟用下載儲存庫的相依關係。

管線參數
名稱 類型 說明 必要或選用
gosec-private-repository-url 文本 (已被廢棄) 您的私有資源庫基礎 URL. 可选
gosec-private-repository-host text 您的專用儲存庫主機。 例如,github.ibm.com optional
gosec-private-repository-ssh-key secret 專用儲存庫的 SSH 金鑰 選用
gosec-private-repository-user text 具有 x-oauth-basic 存取權之專用儲存庫的使用者 選用
gosec-private-repository-token secret 用于 https 访问私有仓库的令牌(默认为工具链中第一个 git 集成配置的令牌,其仓库 URL 托管在 gosec-private-repository-host's 值上)。 可选

啟用 GOPROXY

如果必須指定 GOPROXY,則必須提供下列所有參數。

GOPROXY 參數
名稱 類型 說明 必要或選用
gosec-proxy-virtual-repository-user text gosec Proxy 的虛擬儲存庫使用者 選用
gosec-proxy-virtual-repository-token secret gosec Proxy 的虛擬儲存庫記號 選用
gosec-proxy-virtual-repository-url text gosec Proxy 的虛擬儲存庫 URL optional

選用參數

gosec-scan-image 參數可用來指定要使用的不同 gosec 映像檔,例如自訂映像檔或官方 gosec 映像檔的特定版本。

gosec-additional-flags 旗標的用法顯示在下面的 examples 小節中。

gosec 可選參數
參數名稱 預設值 說明
gosec-additional-flags text 要附加至 gosec 指令開頭的其他旗標。
gosec-scan-image text 指定替代 gosec 映像檔,包括自訂映像檔或官方映像檔的特定版本。

範例

gosec-additional-flags 的值定義為 -exclude-dir=<your_folder_1> -exclude-dir=<your_folder_2> -nosec=true,並將 gosec 指令執行更新為:

./gosec -exclude-dir=<your_folder_1> -exclude-dir=<your_folder_2> -nosec=true -no-fail -fmt=json -out=gosec-results.json -stdout -verbose=text ./...

使用您自己的配置檔

如果您要修改預設配置,請在目標儲存庫中建立 config.json 檔。 如需配置檔中分析參數的相關資訊,請參閱 gosec 配置

使用另一個靜態掃描實作

如果您想要使用您自己的靜態掃描實作,請修改 .pipeline-config.yaml 檔,並將您自己的自訂 Script 新增至 static-scan 階段。 如需相關資訊,請參閱 自訂 Script