func ToCVSS()

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
}