Find and fix vulnerable dependencies with govulncheck
使用 govulncheck
查找和修复易受攻击的依赖项。
示例代码 vuln-tutorial ,建议用时 5 分钟。
go mod init vuln.tutoria
# 在文件夹中创建一个名为 `main.go` 的文件
go mod tidy
# 观察 go.mod
# 版本降级到 v0.3.5,其中包含漏洞
go get golang.org/x/text@v0.3.5
# 观察 go.mod
# 安装 govulncheck
go install golang.org/x/vuln/cmd/govulncheck@latest
# 分析文件夹
govulncheck ./...
# 可以看到漏洞信息
# 升级到 v0.3.8
go get golang.org/x/text@v0.3.8
# 分析文件夹
govulncheck ./...
# 最后,govulncheck 确认未发现任何漏洞。可以使用命令 govulncheck 定期扫描依赖项
// main.go
package main
import (
"fmt"
"os"
"golang.org/x/text/language"
)
func main() {
for _, arg := range os.Args[1:] {
tag, err := language.Parse(arg)
if err != nil {
fmt.Printf("%s: error: %v\n", arg, err)
} else if tag == language.Und {
fmt.Printf("%s: undefined\n", arg)
} else {
fmt.Printf("%s: tag %s\n", arg, tag)
}
}
}
Last modified: 06 一月 2024