安全性

此頁面提供資源,供 Go 開發人員改善專案的安全性。

(另請參閱:Go 開發人員的安全性最佳實務。)

找出並修正已知的漏洞

Go 的漏洞偵測旨在為開發人員提供低雜訊、可靠的工具,以瞭解可能會影響其專案的已知漏洞。如需概觀,請從 此摘要和常見問題解答頁面 開始,瞭解 Go 的漏洞管理架構。如需應用方法,請探索以下工具。

使用 govulncheck 掃描漏洞程式碼

開發人員可以使用 govulncheck 工具來確定任何已知漏洞是否影響其程式碼,並根據實際呼叫的漏洞函式和方法來優先處理後續步驟。

從編輯器偵測漏洞

VS Code Go 擴充功能會檢查第三方相依性並顯示相關漏洞。

尋找可建構的 Go 模組

Pkg.go.dev 是用於探索、評估和深入瞭解 Go 套件和模組的網站。在 pkg.go.dev 上探索和評估套件時,如果該版本存在漏洞,您將會 在頁面頂端看到橫幅。此外,您可以在版本記錄頁面上看到 影響每個套件版本的漏洞

瀏覽漏洞資料庫

Go 漏洞資料庫直接從 Go 套件維護人員以及 MITREGitHub 等外部來源收集資料。報告由 Go 安全團隊策劃。

回報 Go 專案中的安全性錯誤

安全性政策

請參閱安全性政策,了解如何回報 Go 專案中的漏洞。該頁面也詳細說明 Go 安全性團隊追蹤問題並向大眾揭露的流程。請參閱發行記錄,了解過去安全性修正程式的詳細資訊。根據發行政策,我們會針對 Go 的兩個最新主要版本發行安全性修正程式。

使用模糊測試來測試意外輸入

原生 Go 模糊測試提供一種自動化測試,持續調整程式輸入以找出錯誤。Go 從 Go 1.18 開始在標準工具鏈中支援模糊測試。原生 Go 模糊測試由OSS-Fuzz 支援

使用 Go 的密碼編譯函式庫保護服務

Go 的密碼編譯函式庫旨在協助開發人員建置安全的應用程式。請參閱加密套件golang.org/x/crypto/的說明文件。