使用 VS Code Go 尋找並修復易受攻擊的依賴項
你可以直接在編輯器中使用 Visual Studio Code 的 Go 擴充功能掃描程式碼中的漏洞。
注意:有關下面圖像中包含的漏洞修復的解釋,請參閱 govulncheck 教學。
先決條件:
- Go。 我們建議使用最新版本的 Go 來遵循本教學。有關安裝說明,請參閱 安裝 Go。
- VS Code,更新到最新版本。在此下載。你也可以使用 Vim(詳情見 此處),但本教學重點介紹 VS Code Go。
- VS Code Go 擴充功能,可在此下載。
- 編輯器特定設定更改。 你需要根據 這些規範 修改 IDE 設定,然後才能複製以下結果。
如何使用 VS Code Go 掃描漏洞
步驟 1. 執行 "Go: Toggle Vulncheck"
Toggle Vulncheck 命令顯示模組中列出的所有依賴項的漏洞分析。要使用此命令,開啟 IDE 中的 命令面板(Linux/Windows 上為 Ctrl+Shift+P,Mac OS 上為 Cmd+Shift+P),並執行 “Go: Toggle Vulncheck”。在你的 go.mod 檔案中,你會看到用於程式碼中直接和間接使用的易受攻擊依賴項的診斷資訊。

注意:要在你自己的編輯器中複製本教學,請將以下程式碼複製到你的 main.go 檔案中。
然後,確保程式對應的 go.mod 檔案如下所示:
現在,執行 go mod tidy 以確保你的 go.sum 檔案已更新。
步驟 2. 透過程式碼操作執行 govulncheck。
使用程式碼操作執行 govulncheck 可以讓你專注於程式碼中實際呼叫的依賴項。VS Code 中的程式碼操作以燈泡圖示標記;懸停在相關依賴項上可查看有關漏洞的資訊,然後選擇「快速修復」以顯示選項選單。在這些選項中,選擇「執行 govulncheck 以驗證」。這將在你的終端中返回相關的 govulncheck 輸出。


步驟 3. 懸停在 go.mod 檔案中列出的依賴項上。
透過在 go.mod 檔案中懸停在依賴項上,還可以找到有關特定依賴項的相關 govulncheck 輸出。對於快速查看依賴項資訊,此選項比使用程式碼操作更有效。

步驟 4. 升級到依賴項的「已修復」版本。
程式碼操作還可用於快速升級到依賴項中已修復漏洞的版本。透過選擇程式碼操作下拉選單中的「升級」選項來完成此操作。
