名称: go-security-vulnerability
描述: "使用 govulncheck 识别、评估和修复 Go 模块中的安全漏洞。处理常见漏洞(如 JWT 问题),并在修复过程中确保应用稳定性。"
元数据:
{
"openclaw":
{
"emoji": "🔒",
"requires": { "bins": ["go"] },
"install":
[
{
"id": "golang",
"kind": "script",
"script": "curl -L https://golang.org/dl/go1.21.5.linux-amd64.tar.gz | tar -C /usr/local -xzf -",
"bins": ["go"],
"label": "安装 Go",
},
],
},
}
使用 Go 工具链识别、评估和修复 Go 模块中的安全漏洞。本技能帮助检测并修复漏洞,同时保持应用功能正常。
扫描 Go 项目中的漏洞:
go install golang.org/x/vuln/cmd/govulncheck@latest
govulncheck ./...
检查特定模块的已知漏洞:
govulncheck -show verbose ./...
将存在漏洞的包更新至安全版本:
go get -u vulnerable/package@latest
go mod tidy
对于传递依赖中的漏洞:
go mod why vulnerable/package # 了解其被引入的原因
go mod edit -replace vulnerable/package=newer-version # 如有需要,进行替换
go mod tidy
如果依赖未使用或可被替代:
go mod tidy 清理未使用的依赖应用修复后:
# 验证是否已无漏洞
govulncheck ./...
# 确保应用仍可构建
go build ./...
# 运行测试以验证功能
go test ./...
github.com/golang-jwt/jwt GO-2025-3553(内存分配过多)golang.org/x/oauth2 等替代方案go vuln 检查标准库漏洞govulncheck 扫描依赖go get -u 保持依赖更新go mod tidy 移除未使用的依赖