安全
本页面为Go开发者提供提升项目安全性的资源。
(另请参阅:Go开发者安全最佳实践。)
查找与修复已知漏洞
Go的漏洞检测旨在为开发者提供低噪音、可靠的工具,帮助了解可能影响其项目的已知漏洞。若要概览,请从此摘要与FAQ页面开始了解Go的漏洞管理体系。若想实际操作,可探索以下工具。
使用govulncheck扫描代码漏洞
开发者可使用govulncheck工具判断哪些已知漏洞会影响其代码,并根据实际调用的脆弱函数和方法确定优先处理步骤。
在编辑器中检测漏洞
VS Code Go扩展会检查第三方依赖并显示相关漏洞。
查找可构建的Go模块
Pkg.go.dev 是一个用于发现、评估和学习Go包与模块的网站。在pkg.go.dev上发现和评估包时,如果该版本存在漏洞,页面顶部会显示横幅提示。此外,你可以在版本历史页面查看影响包每个版本的漏洞。
浏览漏洞数据库
Go漏洞数据库直接从Go包维护者以及MITRE和GitHub等外部来源收集数据。报告由Go安全团队精心整理。
报告Go项目中的安全缺陷
安全策略
请查阅安全策略,了解如何报告Go项目中的漏洞。该页面还详细说明了Go安全团队跟踪问题并向公众披露的过程。有关过去安全修复的详情,请查看发布历史。根据发布策略,我们会对Go最近的两个主要版本发布安全修复。
通过模糊测试测试异常输入
Go原生模糊测试提供了一种自动化测试方式,通过持续操控程序输入来查找缺陷。从Go 1.18开始,Go在其标准工具链中支持模糊测试。原生Go模糊测试受OSS-Fuzz支持。
使用Go加密库保障服务安全
Go的加密库旨在帮助开发者构建安全的应用程序。请参阅crypto包文档和golang.org/x/crypto/。
FIPS 140-3合规加密
Go的加密库可用于FIPS 140-3合规模式,以适用于受监管环境。更多信息请参阅FIPS 140-3合规文档。