back
loading skill details...
使用 govulncheck 识别 Go 模块安全漏洞的基础能力,覆盖漏洞 扫描、风险评级与基础修复建议. 核心能力: - 基于 govulncheck 的漏洞扫描 - 漏洞风险评级(高/中/低) - 基础修复建议(依赖升级路径) 适用场景: - 安全检测、合规审计、漏洞扫描 - 独立开发者与小型团队的 Go 项...
---
slug: "go-security-vulnerability-free"
name: "go-security-vulnerability-free"
version: "0.1.0"
displayName: "Go漏洞扫描基础版"
summary: "使用 govulncheck 识别 Go 模块安全漏洞的基础能力,覆盖漏洞扫描、风险评级与基础修复建议。"
summary_zh: "使用 govulncheck 识别 Go 模块安全漏洞的基础能力,覆盖漏洞扫描、风险评级与基础修复建议。"
license: "MIT"
description: "|-. 适用于需要go security vulnerability相关能力的开发场景,包含结构化的工作流程和可复用的模板,帮助用户快速完成任务并保持代码质量.该技能适用于相关开发场景,包含结构化的工作流程和配置指引.经过深度差异化处置,针对用户反馈和使用痛点进行了改进,提升了实用性和可操作性.该技能适用于相关开发场景,包含结构化的工作流程和配置指引.经过深度差异化处置,针对用户反馈和使用痛点进行了改进,提升了实用性和可操作性."
使用 govulncheck 识别 Go 模块安全漏洞的基础能力,覆盖漏洞
扫描、风险评级与基础修复建议.
核心能力:
- 基于 govulncheck 的漏洞扫描
- 漏洞风险评级(高/中/低)
- 基础修复建议(依赖升级路径)
适用场景:
- 安全检测、合规审计、漏洞扫描
- 独立开发者与小型团队的 Go 项目安全维护
- 自动化工作流中的周期性安全检查
差异化:基础版聚焦 govulncheck 的基础扫描与评级,去除了高级版的批量修复、SBOM 生成与深度调用链分析能力.
tags:
- Security
- vulnerability
- automation
- productivity
- 安全
- 加密
- 工具
- govulncheck
- mod
- agent
tools:
- read
- exec
homepage: ""
category: "Security"
pricing_tier: free
---
# Go 漏洞扫描基础版
## 核心能力
- govulncheck 漏洞扫描:调用 govulncheck 对当前 Go 模块进行扫描,识别依赖项中的已知漏洞(CVE / GHSA)
- 漏洞风险评级:依据 CVSS 评分与影响范围,将漏洞划分为高、中、低三级
- 基础修复建议:针对每个漏洞提供依赖升级路径(升级到哪个版本的依赖可修复)
- 扫描结果汇总:按漏洞数量、风险等级、受影响模块汇总扫描结果
- 调用可达性基础识别:标注漏洞函数是否在当前代码中被实际调用(govulncheck 的 called 标记)
#
## 快速开始
1. 确认运行环境满足依赖说明中的要求
2. 在AI Agent对话中调用本技能,提供必要的输入参数
3. 检查输出结果,根据需要进行后续处理
> 详细的输入输出格式请参考下方章节说明。
## 适用场景
| 场景 | 输入 | 输出 |
|---|---|---|
| 项目安全扫描 | Go 模块根目录 | 漏洞清单与风险评级 |
| 依赖升级评估 | go.mod 文件 | 漏洞修复所需的依赖版本 |
| 漏洞排查 | 特定 CVE 编号 | 该漏洞在本项目中的影响范围 |
| 合规检查 | 模块路径 | 基础合规报告(漏洞数量与等级) |
**不适用于**:批量自动化修复(如全量 go.mod 改写)、SBOM(软件物料清单)生成、深度调用链分析、自定义漏洞规则、渗透测试等场景(请使用高级版)
## 使用流程
1. 确认运行环境已安装 Go 与 govulncheck,且当前目录为 Go 模块根目录
2. 执行 govulncheck ./... 扫描当前模块
3. 解析扫描结果,按风险等级分类
4. 为每个漏洞匹配修复路径(依赖升级建议)
5. 输出漏洞清单、风险评级与修复建议
## 输入格式
| 参数名 | 类型 | 必填 | 说明 |
|:-----|:-----|:-----|:-----|
| module_path | string | 是 | Go 模块根目录路径 |
| scan_mode | string | 否 | 扫描模式,可选: source/binary,默认: source |
| severity_filter | string | 否 | 风险等级过滤,可选: high/medium/low/all,默认: all |
| output_format | string | 否 | 输出格式,可选: markdown/json/text,默认: markdown |
| strict_level | string | 否 | 审查严格度,可选: strict/normal/loose,默认: normal |
## 输出格式
```json
{
"success": true,
"data": {
"overall_grade": "C",
"total_score": 65,
"max_score": 100,
"summary": "发现 3 个漏洞:1 个高危、1 个中危、1 个低危",
"vulnerabilities": [
{
"id": "CVE-2024-12345",
"module": "相关技术文档
"current_version": "v1.2.0",
"fixed_version": "v1.2.5",
"severity": "high",
"cvss_score": 8.5,
"called": true,
"description": "该漏洞允许攻击者通过特制输入触发缓冲区溢出",
"fix_suggestion": "升级 相关技术文档 到 v1.2.5 或更高版本"
},
{
"id": "GHSA-xy12-abcd",
"module": "相关技术文档
"current_version": "v0.5.0",
"fixed_version": "v0.5.2",
"severity": "medium",
"cvss_score": 5.3,
"called": false,
"description": "存在信息泄露风险,仅在特定配置下可被利用",
"fix_suggestion": "升级 相关技术文档 到 v0.5.2"
}
],
"stats": {
"total": 3,
"high": 1,
"medium": 1,
"low": 1,
"called_count": 2
}
},
"error": null
}
```
## 异常处理
| 错误场景 | 原因 | 处理方式 |
|---:|---:|---:|
| govulncheck 未安装 | 未执行 go install golang.org/x/vuln/cmd/govulncheck@latest | 提示用户运行安装命令后检查网络连接和配置后重试 |
| 不是 Go 模块 | 当前目录无 go.mod | 提示切换到 Go 模块根目录或执行 go mod init |
| 网络错误 | 漏洞数据库拉取失败 | 检查网络连接和配置后重试,建议配置 GOProxy 代理 |
| 扫描超时 | 模块依赖过多导致扫描超时 | 建议缩小扫描范围或使用 strict_level=loose 跳过低危 |
| 依赖版本不存在 | 修复建议中的 fixed_version 不存在 | 提示用户检查依赖仓库可用版本 |
## 依赖说明
### 运行环境
- **Agent平台**: 支持SKILL.md规范的任意AI Agent
- **操作系统**: Windows / macOS / Linux
- **Go 版本**: 建议 1.18 及以上
- **govulncheck**: 需通过 go install 安装
### 依赖项
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|:---:|:---:|:---:|:---:|
| Go 工具链 | 运行时 | 必需 | 官方下载或系统包管理器 |
| govulncheck | 命令行工具 | 必需 | go install golang.org/x/vuln/cmd/govulncheck@latest |
| LLM API | API | 必需 | 由Agent内置LLM提供 |
### API Key 配置
- 本Skill基于指令驱动,无需额外API Key
### 可用性分类
- **分类**: MD+EXEC()
- **说明**: 基于Markdown的AI Skill,通过自然语言指令驱动Agent执行安全扫描
## 案例展示
### 示例1:全模块安全扫描
```
输入: module_path=./myproject, severity_filter=all
处理: 执行 govulncheck ./... -> 解析结果 -> 按风险等级分类 -> 匹配修复路径
输出: 发现 3 个漏洞,1 个高危需要立即升级 相关技术文档
```
### 示例2:仅查看高危漏洞
```
输入: module_path=./myproject, severity_filter=high
处理: 扫描后过滤仅保留 high 等级漏洞
输出: 1 个高危漏洞 CVE-2024-12345,建议升级到 v1.2.5
```
## 常见问题
### Q1: 如何开始使用 Go 漏洞扫描基础版?
A: 查看使用流程章节,确认已安装 Go 与 govulncheck,然后按"输入格式"提供 module_path 即可.
### Q2: govulncheck 未安装怎么办?
A: 请执行 `go install golang.org/x/vuln/cmd/govulncheck@latest` 安装,并将 $GOPATH/bin 加入 PATH 环境变量.
### Q3: Go 漏洞扫描基础版支持批量自动修复吗?
A: 不支持。基础版仅提供扫描与修复建议,不会自动改写 go.mod。如需批量自动修复、SBOM 生成、深度调用链分析,请升级至高级版.
### Q4: 如何获取批量自动修复、SBOM 生成、深度调用链分析等高级能力?
A: 这些属于高级版能力。基础版聚焦 govulncheck 的基础扫描与评级,如需自动化的修复流程、软件物料清单与深度调用链分析,请升级至高级版.
## 错误处理
| 错误场景(续)| 原因 | 处理方式 |
|:---------|---------:|:---------|
| LLM响应超时或无响应 | 网络延迟或模型负载过高 | 检查网络连接和配置后重试;确认Agent平台LLM服务正常 |
| 输入内容格式不正确 | 用户输入不符合skill预期格式 | 检查输入是否符合skill使用说明中的格式要求,参考示例章节 |
| 执行结果与预期不符 | 指令描述不够明确或上下文不足 | 提供更详细的指令描述,补充必要的上下文信息 |
| 命令执行失败 | 运行环境不满足要求或权限不足 | 确认运行环境符合依赖说明中的要求;检查命令权限设置 |
## 已知限制
- 不支持批量自动修复(不会自动改写 go.mod 并执行 go mod tidy)
- 不支持 SBOM(软件物料清单)生成
- 不支持深度调用链分析(仅依赖 govulncheck 的基础 called 标记)
- 不支持自定义漏洞规则与白名单
- 不支持私有漏洞数据库接入
- 不支持对二进制文件(binary)的深度扫描(基础版仅支持 source 模式为主)
- 不支持渗透测试与未授权目标的安全测试
don't have the plugin yet? install it then click "run inline in claude" again.