Documentation
¶
Index ¶
- type AttackComplexity
- type AttackVector
- type AvailabilityImpact
- type CVSSReport
- type ConfidentialityImpact
- type IntegrityImpact
- type Metrics
- func (m *Metrics) Encode() (string, error)
- func (m *Metrics) GetError() error
- func (m *Metrics) GetSeverity() Severity
- func (m *Metrics) NameOfvalue(lang language.Tag) string
- func (m *Metrics) Report(r io.Reader, lang language.Tag) (io.Reader, error)
- func (m *Metrics) Score() float64
- func (m *Metrics) Title(lang language.Tag) string
- type PrivilegesRequired
- type Scope
- type Severity
- type UserInteraction
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AttackComplexity ¶
type AttackComplexity int
AttackComplexity is metric type for Base Metrics
const ( AttackComplexityUnknown AttackComplexity = iota AttackComplexityHigh AttackComplexityLow )
Constant of AttackComplexity result
func GetAttackComplexity ¶
func GetAttackComplexity(s string) AttackComplexity
GetAttackComplexity returns result of AttackComplexity metric
func (AttackComplexity) IsDefined ¶
func (ac AttackComplexity) IsDefined() bool
IsDefined returns false if undefined result value of metric
func (AttackComplexity) NameOfValue ¶
func (ac AttackComplexity) NameOfValue(lang language.Tag) string
NameOfValue returns string name of value for display
func (AttackComplexity) String ¶
func (ac AttackComplexity) String() string
func (AttackComplexity) Title ¶
func (ac AttackComplexity) Title(lang language.Tag) string
Title returns string instance name for display
func (AttackComplexity) Value ¶
func (ac AttackComplexity) Value() float64
Value returns value of AttackComplexity metric
type AttackVector ¶
type AttackVector int
AttackVector is metric type for Base Metrics
const ( AttackVectorUnknown AttackVector = iota AttackVectorPhysical AttackVectorLocal AttackVectorAdjacent AttackVectorNetwork )
Constant of AttackVector result
func GetAttackVector ¶
func GetAttackVector(s string) AttackVector
GetAttackVector returns result of AttackVector metric
func (AttackVector) IsDefined ¶
func (av AttackVector) IsDefined() bool
IsDefined returns false if undefined result value of metric
func (AttackVector) NameOfValue ¶
func (av AttackVector) NameOfValue(lang language.Tag) string
NameOfValue returns string name of value for display
func (AttackVector) String ¶
func (av AttackVector) String() string
func (AttackVector) Title ¶
func (av AttackVector) Title(lang language.Tag) string
Title returns string instance name for display
func (AttackVector) Value ¶
func (av AttackVector) Value() float64
Value returns value of AttackVector metric
type AvailabilityImpact ¶
type AvailabilityImpact int
AvailabilityImpact is metric type for Base Metrics
const ( AvailabilityImpactUnknown AvailabilityImpact = iota AvailabilityImpactNone AvailabilityImpactLow AvailabilityImpactHigh )
Constant of AvailabilityImpact result
func GetAvailabilityImpact ¶
func GetAvailabilityImpact(s string) AvailabilityImpact
GetAvailabilityImpact returns result of AvailabilityImpact metric
func (AvailabilityImpact) IsDefined ¶
func (ai AvailabilityImpact) IsDefined() bool
IsDefined returns false if undefined result value of metric
func (AvailabilityImpact) NameOfValue ¶
func (a AvailabilityImpact) NameOfValue(lang language.Tag) string
NameOfValue returns string name of value for display
func (AvailabilityImpact) String ¶
func (ai AvailabilityImpact) String() string
func (AvailabilityImpact) Title ¶
func (a AvailabilityImpact) Title(lang language.Tag) string
Title returns string instance name for display
func (AvailabilityImpact) Value ¶
func (ai AvailabilityImpact) Value() float64
Value returns value of AvailabilityImpact metric
type CVSSReport ¶
type CVSSReport struct {
BaseMetrics, MetricValue string //titles
AVName, AVValue string //AttackVector
ACName, ACValue string //AttackComplexity
PRName, PRValue string //PrivilegesRequired
UIName, UIValue string //UserInteraction
SName, SValue string //Scope
CName, CValue string //ConfidentialityImpact
IName, IValue string //IntegrityImpact
AName, AValue string //AvailabilityImpact
}
CVSSReport is dataset for CVSS report
type ConfidentialityImpact ¶
type ConfidentialityImpact int
ConfidentialityImpact is metric type for Base Metrics
const ( ConfidentialityImpactUnknown ConfidentialityImpact = iota ConfidentialityImpactNone ConfidentialityImpactLow ConfidentialityImpactHigh )
Constant of ConfidentialityImpact result
func GetConfidentialityImpact ¶
func GetConfidentialityImpact(s string) ConfidentialityImpact
GetConfidentialityImpact returns result of ConfidentialityImpact metric
func (ConfidentialityImpact) IsDefined ¶
func (ci ConfidentialityImpact) IsDefined() bool
IsDefined returns false if undefined result value of metric
func (ConfidentialityImpact) NameOfValue ¶
func (c ConfidentialityImpact) NameOfValue(lang language.Tag) string
NameOfValue returns string name of value for display
func (ConfidentialityImpact) String ¶
func (ci ConfidentialityImpact) String() string
func (ConfidentialityImpact) Title ¶
func (c ConfidentialityImpact) Title(lang language.Tag) string
Title returns string instance name for display
func (ConfidentialityImpact) Value ¶
func (ci ConfidentialityImpact) Value() float64
Value returns value of ConfidentialityImpact metric
type IntegrityImpact ¶
type IntegrityImpact int
IntegrityImpact is metric type for Base Metrics
const ( IntegrityImpactUnknown IntegrityImpact = iota IntegrityImpactNone IntegrityImpactLow IntegrityImpactHigh )
Constant of IntegrityImpact result
func GetIntegrityImpact ¶
func GetIntegrityImpact(s string) IntegrityImpact
GetIntegrityImpact returns result of IntegrityImpact metric
func (IntegrityImpact) IsDefined ¶
func (ii IntegrityImpact) IsDefined() bool
IsDefined returns false if undefined result value of metric
func (IntegrityImpact) NameOfValue ¶
func (i IntegrityImpact) NameOfValue(lang language.Tag) string
NameOfValue returns string name of value for display
func (IntegrityImpact) String ¶
func (ii IntegrityImpact) String() string
func (IntegrityImpact) Title ¶
func (i IntegrityImpact) Title(lang language.Tag) string
Title returns string instance name for display
func (IntegrityImpact) Value ¶
func (ii IntegrityImpact) Value() float64
Value returns value of IntegrityImpact metric
type Metrics ¶
type Metrics struct { AV AttackVector AC AttackComplexity PR PrivilegesRequired UI UserInteraction S Scope C ConfidentialityImpact I IntegrityImpact A AvailabilityImpact }
Metrics is Base Metrics for CVSSv3
Example ¶
m, err := Decode("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N") //CVE-2015-8252 if err != nil { return } fmt.Println("Score =", m.Score()) fmt.Println("Severity =", m.GetSeverity()) //Output //Score = 7.5 //Severity = High
Output:
func (*Metrics) GetSeverity ¶
GetSeverity returns severity by score of Base metrics
func (*Metrics) NameOfvalue ¶
NameOfvalue returns string instance name for display
type PrivilegesRequired ¶
type PrivilegesRequired int
PrivilegesRequired is metric type for Base Metrics
const ( PrivilegesRequiredUnknown PrivilegesRequired = iota PrivilegesRequiredHigh PrivilegesRequiredLow PrivilegesRequiredNone )
Constant of PrivilegesRequired result
func GetPrivilegesRequired ¶
func GetPrivilegesRequired(s string) PrivilegesRequired
GetPrivilegesRequired returns result of PrivilegesRequired metric
func (PrivilegesRequired) IsDefined ¶
func (pr PrivilegesRequired) IsDefined() bool
IsDefined returns false if undefined result value of metric
func (PrivilegesRequired) NameOfValue ¶
func (pr PrivilegesRequired) NameOfValue(lang language.Tag) string
NameOfValue returns string name of value for display
func (PrivilegesRequired) String ¶
func (pr PrivilegesRequired) String() string
func (PrivilegesRequired) Title ¶
func (pr PrivilegesRequired) Title(lang language.Tag) string
Title returns string instance name for display
func (PrivilegesRequired) Value ¶
func (pr PrivilegesRequired) Value(s Scope) float64
Value returns value of PrivilegesRequired metric
type Scope ¶
type Scope int
Scope is metric type for Base Metrics
func (Scope) NameOfValue ¶
NameOfValue returns string name of value for display
type Severity ¶
type Severity int
Severity is severity for Base Metrics
const ( SeverityUnknown Severity = iota SeverityNone SeverityLow SeverityMedium SeverityHigh SeverityCritical )
Constant of severity
func (Severity) NameOfValue ¶
NameOfValue returns string name of value for display
type UserInteraction ¶
type UserInteraction int
UserInteraction is metric type for Base Metrics
const ( UserInteractionUnknown UserInteraction = iota UserInteractionRequired UserInteractionNone )
Constant of UserInteraction result
func GetUserInteraction ¶
func GetUserInteraction(s string) UserInteraction
GetUserInteraction returns result of UserInteraction metric
func (UserInteraction) IsDefined ¶
func (ui UserInteraction) IsDefined() bool
IsDefined returns false if undefined result value of metric
func (UserInteraction) NameOfValue ¶
func (ui UserInteraction) NameOfValue(lang language.Tag) string
NameOfValue returns string name of value for display
func (UserInteraction) String ¶
func (ui UserInteraction) String() string
func (UserInteraction) Title ¶
func (ui UserInteraction) Title(lang language.Tag) string
Title returns string instance name for display
func (UserInteraction) Value ¶
func (ui UserInteraction) Value() float64
Value returns value of UserInteraction metric