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