Skip to content

📚 概念与原理 ​

简介 ​

概念章节解释 CVSS Skills 工具包背后的 为什么 —— 评分数学、严重性阈值、v3.0↔v3.1 差异,以及每条命令和 SDK 调用所依赖的校验/比较模型。

如果 CLI 参考 与 Go SDK 文档告诉你 调用什么,本章节则告诉你 这些数字的含义与来源。下文每个公式、阈值与常量均取自 Go 源码,无一杜撰。

学习路径 ​

从上到下通读可获得完整心智模型,也可直接跳转到所需主题:

步骤主题你将学到
1严重性等级None/Low/Medium/High/Critical 五档、阈值表,以及分数到等级的映射。
2评分公式Base = roundup(min(ISC+ESC, 10)),以及 Temporal、Environmental 扩展。
3v3.0 与 v3.1 差异两处版本特定差异:UI:R 分数与 roundUp 算法。
4校验模型Check(短路)与 Validate(收集全部),以及哨兵错误。
5距离度量欧氏、曼哈顿、汉明、Jaccard、评分差五种,及其 env/checked 变体。
6预设与严重性现成的 CriticalV31/HighV31/... 向量与 WithCriticalBase 选项。

代码位置 ​

所有概念都映射到具体源码文件:

  • pkg/cvss/severity.go —— Severity 类型、GetSeverity、ParseSeverity
  • pkg/cvss/calculator.go —— calculateBaseScore、roundUp、calculateTemporalScore、calculateEnvironmentalScore
  • pkg/cvss/scores.go —— GetBaseScore、GetAllScores、RoundUp
  • pkg/cvss/validate.go / pkg/cvss/errors.go —— Validate、ValidationErrors、哨兵错误
  • pkg/cvss/distance.go / distance_env.go / distance_checked.go —— 五种度量及变体
  • pkg/cvss/presets.go / options.go / pkg/mock/presets.go —— 预设向量与选项
  • pkg/vector/user_interaction.go —— UI:R 的 0.56/0.62 版本分支

相关 ​

基于 MIT 许可证发布。