Class: CvssSuite::Cvss3Base
- Inherits:
-
CvssMetric
- Object
- CvssMetric
- CvssSuite::Cvss3Base
- Defined in:
- lib/cvss_suite/cvss3/cvss3_base.rb
Overview
This class represents a CVSS Base metric in version 3.
Instance Attribute Summary collapse
-
#attack_complexity ⇒ Object
readonly
Property of this metric.
-
#attack_vector ⇒ Object
readonly
Property of this metric.
-
#availability ⇒ Object
readonly
Property of this metric.
-
#confidentiality ⇒ Object
readonly
Property of this metric.
-
#integrity ⇒ Object
readonly
Property of this metric.
-
#privileges_required ⇒ Object
readonly
Property of this metric.
-
#scope ⇒ Object
readonly
Property of this metric.
-
#user_interaction ⇒ Object
readonly
Property of this metric.
Attributes inherited from CvssMetric
Instance Method Summary collapse
- #exploitability_subscore ⇒ Object
- #impact_subscore ⇒ Object
-
#score ⇒ Object
Returns score of this metric.
Methods inherited from CvssMetric
Constructor Details
This class inherits a constructor from CvssSuite::CvssMetric
Instance Attribute Details
#attack_complexity ⇒ Object (readonly)
Property of this metric
16 17 18 |
# File 'lib/cvss_suite/cvss3/cvss3_base.rb', line 16 def attack_complexity @attack_complexity end |
#attack_vector ⇒ Object (readonly)
Property of this metric
16 17 18 |
# File 'lib/cvss_suite/cvss3/cvss3_base.rb', line 16 def attack_vector @attack_vector end |
#availability ⇒ Object (readonly)
Property of this metric
16 17 18 |
# File 'lib/cvss_suite/cvss3/cvss3_base.rb', line 16 def availability @availability end |
#confidentiality ⇒ Object (readonly)
Property of this metric
16 17 18 |
# File 'lib/cvss_suite/cvss3/cvss3_base.rb', line 16 def confidentiality @confidentiality end |
#integrity ⇒ Object (readonly)
Property of this metric
16 17 18 |
# File 'lib/cvss_suite/cvss3/cvss3_base.rb', line 16 def integrity @integrity end |
#privileges_required ⇒ Object (readonly)
Property of this metric
16 17 18 |
# File 'lib/cvss_suite/cvss3/cvss3_base.rb', line 16 def privileges_required @privileges_required end |
#scope ⇒ Object (readonly)
Property of this metric
16 17 18 |
# File 'lib/cvss_suite/cvss3/cvss3_base.rb', line 16 def scope @scope end |
#user_interaction ⇒ Object (readonly)
Property of this metric
16 17 18 |
# File 'lib/cvss_suite/cvss3/cvss3_base.rb', line 16 def user_interaction @user_interaction end |
Instance Method Details
#exploitability_subscore ⇒ Object
38 39 40 |
# File 'lib/cvss_suite/cvss3/cvss3_base.rb', line 38 def exploitability_subscore calc_exploitability end |
#impact_subscore ⇒ Object
34 35 36 |
# File 'lib/cvss_suite/cvss3/cvss3_base.rb', line 34 def impact_subscore calc_impact end |
#score ⇒ Object
Returns score of this metric
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/cvss_suite/cvss3/cvss3_base.rb', line 21 def score exploitability = calc_exploitability impact_sub_score = calc_impact return 0 if impact_sub_score <= 0 if @scope.selected_value[:name] == 'Changed' [10, 1.08 * (impact_sub_score + exploitability)].min else [10, impact_sub_score + exploitability].min end end |