4 个版本 (2 个稳定)
1.0.1 | 2020年6月11日 |
---|---|
1.0.0 | 2020年3月16日 |
0.1.1 | 2020年3月12日 |
0.1.0 | 2020年3月11日 |
984 在 解析器实现 中
每月下载量 8,472
94KB
2.5K SLoC
Rust CVSS
Rust 实现的通用漏洞评分系统 (v2 / v3.0 / v3.1)。
支持 CVSS 向量 v2/v3.0/v3.1 的解析、生成和评分计算(基础、时间性、环境性)
当前 CVSS 版本是 v3.1,但 v3.0 和 v2 仍在使用。
示例
use cvssrust::v3::V3Vector;
use cvssrust::CVSSScore;
use std::str::FromStr;
let cvss_str = "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N/E:P/RL:W/RC:C";
let cvss = V3Vector::from_str(cvss_str).unwrap();
// https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N/E:P/RL:W/RC:C
assert_eq!(cvss.to_string(), String::from(cvss_str));
assert_eq!(cvss.base_score().value(), 6.1);
assert_eq!(cvss.base_score().severity().to_string(), "Medium");
assert_eq!(cvss.temporal_score().value(), 5.6);
assert_eq!(cvss.environmental_score().value(), 5.6);
CVSS v3.1 规范
https://www.first.org/cvss/v3.1/specification-document
与 3.0 的变化: https://www.first.org/cvss/user-guide#2-6-Formula-Changes
计算器: https://www.first.org/cvss/calculator/3.1
CVSS v3.0 规范
https://www.first.org/cvss/v3.0/specification-document
CVSS v2 规范
https://www.first.org/cvss/v2/guide
已知问题
在 v2 时间性/环境性(但不是基础)评分在某些情况下偏离 0.1 的舍入问题,请参阅 https://github.com/moor84/cvssrust/issues/10。
不会影响 v3,因为有一个不同的舍入函数。
依赖项
~180KB