前言

govulncheck

本文详细介绍该工具目前的现状以及接下来的功能规划。

Go漏洞检测系统架构

在这里插入图片描述

上图是Go安全团队对于Go代码漏洞检测的系统架构图。

govulncheckgovulncheck

Go漏洞数据库

Go安全团队维护了一个漏洞数据库,地址是https://vuln.go.dev,也就是上面第2步所说的漏洞数据库。

  • 如果你发现了新漏洞,可以通过这个安全漏洞链接报告漏洞。
  • 如果你认为已有的漏洞报告描述有问题,可以在这个链接进行反馈。

Go的漏洞数据库里包含的漏洞,可以在这个链接地址pkg.go.dev/vuln进行查看。

govulncheck

全新的govulncheck 命令可以帮助你发现代码里的安全漏洞。

安装和使用方法如下:

$ go install golang.org/x/vuln/cmd/govulncheck@latest
$ govulncheck ./...
govulncheckgovulncheck

备注:

golang.org/xgolang.org/xgo getgovulncheckgolang.org/x/exp

golang.org/x/vuln这个仓库里包含有3个主要模块:

govulncheckgovulncheckvulncheckgovulncheckvulncheck

集成

为了方便Go开发者更早和更好地了解到漏洞信息,Go团队把漏洞检测也集成到了Go的工具链和服务里。

package.go.devgolang.org/text
govulncheck

总结

govulncheckgovulncheckgovulncheckgovulncheckgovulncheckgovulncheck
govulncheck

开源地址

文章和示例代码开源在GitHub: Go语言初级、中级和高级教程。

公众号:coding进阶。

个人网站:Jincheng’s Blog。

知乎:无忌。

References

  • https://go.dev/blog/vuln
  • https://go.dev/security/vuln/
  • https://go.dev/security/vuln/database
  • https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck