lib/cms_scanner/vulnerability.rb in cms_scanner-0.9.0 vs lib/cms_scanner/vulnerability.rb in cms_scanner-0.10.0

- old
+ new

@@ -3,26 +3,31 @@ module CMSScanner # Generic Vulnerability class Vulnerability include References - attr_reader :title, :type, :fixed_in + attr_reader :title, :type, :fixed_in, :cvss # @param [ String ] title # @param [ Hash ] references - # @option references [ Array<String>, String ] cve - # @option references [ Array<String>, String ] secunia - # @option references [ Array<String>, String ] osvdb - # @option references [ Array<String>, String ] exploitdb - # @option references [ Array<String> ] url URL(s) to related advisories etc - # @option references [ Array<String>, String ] metasploit The related metasploit module(s) + # @option references [ Array<String>, String ] :cve + # @option references [ Array<String>, String ] :secunia + # @option references [ Array<String>, String ] :osvdb + # @option references [ Array<String>, String ] :exploitdb + # @option references [ Array<String> ] :url URL(s) to related advisories etc + # @option references [ Array<String>, String ] :metasploit The related metasploit module(s) + # @option references [ Array<String> ] :youtube # @param [ String ] type # @param [ String ] fixed_in - def initialize(title, references = {}, type = nil, fixed_in = nil) + # @param [ HashSymbol ] cvss + # @option cvss [ String ] :score + # @option cvss [ String ] :vector + def initialize(title, references: {}, type: nil, fixed_in: nil, cvss: nil) @title = title @type = type @fixed_in = fixed_in + @cvss = { score: cvss[:score], vector: cvss[:vector] } if cvss self.references = references end # param [ Vulnerability ] other @@ -30,9 +35,10 @@ # @return [ Boolean ] def ==(other) title == other.title && type == other.type && references == other.references && - fixed_in == other.fixed_in + fixed_in == other.fixed_in && + cvss == other.cvss end end end