Skip to content

CVSS SkillsCVSS v3.0 / v3.1 工具包

解析、评分、验证、比较与构建漏洞向量 —— 通过 Go SDK、CLI、Claude Code Skills 与 MCP。

解决什么问题? ​

CVSS 是业界标准的漏洞严重性评级体系,但以编程方式处理向量十分痛苦 —— 解析易错、评分涉及版本特定公式、比较依赖手工、校验零散。

CVSS Skills 用一个经过充分测试的工具包解决上述所有问题。

架构总览 ​

四种集成方式 —— Skills、Go SDK、CLI、MCP —— 都是同一套经过充分测试的核心包之上的薄封装。模型学一次,处处可用。

从向量字符串到评分 ​

标准流水线:原始向量字符串被解析为带类型的结构体,经校验后送入版本感知的计算器,产出评分与严重性等级。

CVSS 向量结构 ​

一个 CVSS 向量最多由 3 层指标构成:

严重性等级 ​

等级分数范围颜色
None0.0灰色
Low0.1 – 3.9绿色
Medium4.0 – 6.9黄色
High7.0 – 8.9橙色
Critical9.0 – 10.0红色

数值型基础评分通过 GetSeverity() 唯一映射到一个等级区间:

v3.0 与 v3.1 —— 同一向量评分可能不同

上面的区间边界在两个版本间完全一致,但底层公式不同。CVSS v3.1 引入了明确定义的 roundup(向上取整) 函数,并重新调整了若干权重(例如 UI:R 在 v3.1 为 0.62、v3.0 为 0.56)。工具包会读取 CVSS:3.0 / CVSS:3.1 前缀并自动套用对应公式 —— 因此请始终为向量保留版本前缀。

快速开始 ​

bash
claude mcp add --scope user cvss-skills -- https://github.com/scagogogo/cvss-skills
bash
go get github.com/scagogogo/cvss-skills@latest
bash
os=$(uname -s | tr '[:upper:]' '[:lower:]'); arch=$(uname -m)
case "$arch" in arm64) arch=aarch64 ;; amd64) arch=x86_64 ;; esac
ver=$(curl -sL https://api.github.com/repos/scagogogo/cvss-skills/releases/latest | sed -nE 's/.*"tag_name":\s*"v?([^"]+)".*/\1/p')
curl -sL "https://github.com/scagogogo/cvss-skills/releases/download/v${ver}/cvss-skills_${ver}_${os}_${arch}.tar.gz" | tar xz
sudo mv cvss /usr/local/bin/
bash
go install github.com/scagogogo/cvss-skills/cmd/cvss-cli@latest
bash
# 对向量评分 —— 每种集成方式效果相同
cvss score "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
# 输出: 9.8 (Critical)

探索文档 ​

选择一条路线深入——每个模块、每条命令、每个指标都有专属页面。

🧭 路线📄 你将学到🔗 入口
🎓 教程循序渐进:第一个向量、评分、校验、批处理脚本教程 →
🍳 菜谱即抄即用:筛选严重漏洞、排序、CSV、存数据库菜谱 →
💻 CLI 命令全部 30+ 命令,含 flag、真实输出与 JSON 示例命令行参考 →
📦 Go SDK核心包:cvss、parser、vector、mock + 构建器、选项、距离、影响Go SDK →
📐 CVSS 指标每个指标维度——取值、分数、版本差异(AV…MA)指标 →
🧠 概念原理评分公式、严重性等级、v3.0↔v3.1、校验与距离概念 →

下一步 ​

基于 MIT 许可证发布。