This Ruby gem helps you to process the vector of the Common Vulnerability Scoring System (https://www.first.org/cvss/specification-document). Besides calculating the Base, Temporal and Environmental Score, you are able to extract the selected option. Homepage is still in progress and will be published soon (along with full documentation). ## Usage ```ruby require 'cvss_suite' cvss = CvssSuite.new('AV:A/AC:M/Au:S/C:P/I:P/A:P/E:POC/RL:TF/RC:UC/CDP:L/TD:M/CR:M/IR:M/AR:M') vector = cvss.vector # 'AV:A/AC:M/Au:S/C:P/I:P/A:P/E:POC/RL:TF/RC:UC/CDP:L/TD:M/CR:M/IR:M/AR:M' version = cvss.version # 2 # Scores base_score = cvss.base_score # 4.9 temporal_score = cvss.temporal_score # 3.6 environmental_score = cvss.environmental_score # 3.2 overall_score = cvss.overall_score # 3.2 # Available options access_vector = cvss.base.access_vector.name # 'Access Vector' remediation_level = cvss.temporal.remediation_level.name # 'Remediation Level' access_vector.choices.each do |choice| choice[:name] # 'Local', 'Adjacent Network', 'Network' choice[:abbreviation] # 'L', 'A', 'N' choice[:selected] # false, true, false end # Selected options cvss.base.access_vector.selected_choice[:name] # Adjacent Network cvss.temporal.remediation_level.selected_choice[:name] # Temporary Fix # Exceptions CvssSuite.new('random_string') # will throw a RuntimeError: Vector is not valid! CvssSuite.new() # will throw a ArgumentError cvss = CvssSuite.new('AV:N/AC:P/C:P/AV:U/RL:OF/RC:C') # invalid vector, authentication is missing version = cvss.version # 2 cvss.base_score # will throw a RuntimeError: Vector is not valid! ```

Required Ruby Version

>= 0

Authors

Oliver Hamboerger

Versions

  1. 4.1.4 July 05, 2026 (30.5 KB)
  2. 4.1.3 April 26, 2026 (30 KB)
  3. 4.1.2 December 05, 2025 (30 KB)
  4. 4.1.1 May 11, 2025 (30 KB)
  5. 4.1.0 April 27, 2025 (29.5 KB)
  6. 1.0.2 April 15, 2016 (4.72 MB)
Show all versions (34 total)

SHA 256 checksum