in pkg/utils/grafeas.go [214:246]
func ToCVSS(baseScore float32, vector string) *g.CVSS {
c := g.CVSS{
BaseScore: baseScore,
}
for _, v := range strings.Split(vector, "/") {
tokens := strings.Split(v, ":")
if len(tokens) != 2 {
continue
}
switch tokens[0] {
case "AV":
c.AttackVector = toCVSSAttackVector(tokens[1])
case "AC":
c.AttackComplexity = toCVSSAttackComplexity(tokens[1])
case "PR":
c.PrivilegesRequired = toCVSSPrivilegesRequired(tokens[1])
case "UI":
c.UserInteraction = toCVSSUserInteraction(tokens[1])
case "S":
c.Scope = toCVSSScope(tokens[1])
case "C":
c.ConfidentialityImpact = toCVSSImpact(tokens[1])
case "I":
c.IntegrityImpact = toCVSSImpact(tokens[1])
case "A":
c.AvailabilityImpact = toCVSSImpact(tokens[1])
}
}
return &c
}