安全
此页面为 Go 开发人员提供了资源,以提高其项目的安全性。
(另请参阅:Go 开发人员的安全最佳实践。)
查找并修复已知漏洞
Go 的漏洞检测旨在为开发人员提供低噪音、可靠的工具,以了解可能影响其项目的已知漏洞。有关概述,请从此摘要和常见问题解答页面开始了解 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 在 Go 1.18 开始在其标准工具链中支持模糊测试。原生 Go 模糊测试受 OSS-Fuzz 支持。
使用 Go 的加密库保护服务
Go 的密码库旨在帮助开发者构建安全的应用程序。请参阅 密码包 和 golang.org/x/crypto/ 的文档。