安全

本頁面為 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 1.18 開始,Go 在其標準工具鏈中支援模糊測試。Go 原生模糊測試受到 OSS-Fuzz 的支援。

使用 Go 的加密庫保護服務

Go 的加密庫旨在幫助開發者構建安全的應用程式。請參閱 crypto 軟體包golang.org/x/crypto/ 的文件。