1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
cvss_component!(AccessVector {
Local => L,
AdjacentNetwork => A,
Network => N,
});
cvss_component!(AccessComplexity {
High => H,
Medium => M,
Low => L,
});
cvss_component!(Authentication {
Multiple => M,
Single => S,
None => N,
});
cvss_component!(Impact {
None => N,
Partial => P,
Complete => C,
});
cvss_score!(BaseMetric {
access_vector: AccessVector => AV,
access_complexity: AccessComplexity => AC,
authentication: Authentication => Au,
confidentiality_impact: Impact => C,
integrity_impact: Impact => I,
availability_impact: Impact => A,
});