Module: Enums::Vulnerability

Defined in:
app/models/concerns/enums/vulnerability.rb

Constant Summary collapse

CONFIDENCE_LEVELS =
{
  # undefined: 0, no longer applicable
  ignore: 1,
  unknown: 2,
  experimental: 3,
  low: 4,
  medium: 5,
  high: 6,
  confirmed: 7
}.with_indifferent_access.freeze
REPORT_TYPES =
{
  sast: 0,
  secret_detection: 4
}.with_indifferent_access.freeze
SEVERITY_LEVELS =
{
  # undefined: 0, no longer applicable
  info: 1,
  unknown: 2,
  # experimental: 3, formerly used by confidence, no longer applicable
  low: 4,
  medium: 5,
  high: 6,
  critical: 7
}.with_indifferent_access.freeze
DETECTION_METHODS =
{
  gitlab_security_report: 0,
  external_security_report: 1,
  bug_bounty: 2,
  code_review: 3,
  security_audit: 4
}.with_indifferent_access.freeze
VULNERABILITY_STATES =

keep the order of the values in the state enum, it is used in state_order method to properly order vulnerabilities based on state remember to recreate index_vulnerabilities_on_state_case_id index when you update or extend this enum

{
  detected: 1,
  confirmed: 4,
  resolved: 3,
  dismissed: 2
}.with_indifferent_access.freeze

Class Method Summary collapse

Class Method Details

.confidence_levelsObject


49
50
51
# File 'app/models/concerns/enums/vulnerability.rb', line 49

def self.confidence_levels
  CONFIDENCE_LEVELS
end

.detection_methodsObject


61
62
63
# File 'app/models/concerns/enums/vulnerability.rb', line 61

def self.detection_methods
  DETECTION_METHODS
end

.report_typesObject


53
54
55
# File 'app/models/concerns/enums/vulnerability.rb', line 53

def self.report_types
  REPORT_TYPES
end

.severity_levelsObject


57
58
59
# File 'app/models/concerns/enums/vulnerability.rb', line 57

def self.severity_levels
  SEVERITY_LEVELS
end

.vulnerability_statesObject


65
66
67
# File 'app/models/concerns/enums/vulnerability.rb', line 65

def self.vulnerability_states
  VULNERABILITY_STATES
end