class Nessus::Version2::Event

Public Class Methods

new(event) click to toggle source
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 8
def initialize(event)
  @event = event
end

Public Instance Methods

bid() click to toggle source

Return the event bid.

@return [String, false]

Return the event bid.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 299
def bid
  @bid ||= if @event.at('bid')
    @event.at('bid').inner_text.to_i
  else
    false
  end
end
critical?() click to toggle source

Return true if the event is of critical severity.

@return [Boolean]

Return true if the event is high severity.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 90
def critical?
  severity == 4
end
cve() click to toggle source

Return the event cve.

@return [String, false]

Return the event cvss base score.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 285
def cve
  @cve ||= if @event.at('cve')
    @event.at('cve').inner_text
  else
    false
  end
end
cvss_base_score() click to toggle source

Return the event cvss base score.

@return [String, false]

Return the event cvss base score.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 271
def cvss_base_score
  @cvss_base_score ||= if @event.at('cvss_base_score')
    @event.at('cvss_base_score').inner_text.to_f
  else
    false
  end
end
cvss_vector() click to toggle source

Return other event cvss vector.

@return [String, false]

Return the event cvss vector.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 329
def cvss_vector
  @cvss_vector ||= if @event.at('cvss_vector')
    @event.at('cvss_vector').inner_text
  else
    false
  end
end
data()
Alias for: output
description() click to toggle source

Return the event description.

@return [String, false]

Return the event description.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 165
def description
  @description ||= if @event.at('description')
    @event.at('description').inner_text
  else
    false
  end
end
family() click to toggle source

Return the event object plugin family name.

@return [String]

Return the event object plugin family name.

@example

event.family #=> "Service detection"
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 117
def family
  @plugin_family ||= @event.at('@pluginFamily').inner_text
end
Also aliased as: plugin_family
high?() click to toggle source

Return ture if the event is of high severity.

@return [Boolean]

Return true if the event is high severity.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 80
def high?
  severity == 3
end
id() click to toggle source

Return the event object nessus plugin id

@return [String]

Return the event object nessus plugin id

@example

event.plugin_id #=> 3245
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 103
def id
  @plugin_id ||= @event.at('@pluginID').inner_text.to_i
end
Also aliased as: plugin_id
informational?() click to toggle source

Return true if event is of informational severity.

@return [Boolean]

Return true if the event is informational.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 50
def informational?
  severity == 0
end
low?() click to toggle source

Return ture if the event is of low severity.

@return [Boolean]

Return true if the event is low severity.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 60
def low?
  severity == 1
end
medium?() click to toggle source

Return ture if the event is of medium severity.

@return [Boolean]

Return true if the event is medium severity.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 70
def medium?
  severity == 2
end
more()
Alias for: see_also
name()
Alias for: plugin_name
output() click to toggle source

Return the event plugin output.

@return [String, false]

Return the event plugin output.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 207
def output
  @plugin_output ||= if @event.at('plugin_output')
    @event.at('plugin_output').inner_text
  else
    false
  end
end
Also aliased as: data, plugin_output
patch_publication_date() click to toggle source

Return the event patch publication date.

@return [String, false]

Return the event patch publication date.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 257
def patch_publication_date
  @patch_publication_date ||= if @event.at('patch_publication_date')
    DateTime.strptime(@event.at('patch_publication_date').inner_text, fmt='%Y/%m/%d')
  else
    false
  end
end
plugin_family()
Alias for: family
plugin_id()
Alias for: id
plugin_name() click to toggle source

Return the event name (plugin_name)

@return [String, false]

Return the event name (plugin_name)

@example

event.plugin_name   #=> "PHP < 5.2.4 Multiple Vulnerabilities"
event.name          #=> "PHP < 5.2.4 Multiple Vulnerabilities"
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 132
def plugin_name
  s = @event.at('@pluginName').inner_text

  @plugin_name ||= if s.empty?
    false
  else
    @event.at('@pluginName').inner_text
  end

  return @plugin_name
end
Also aliased as: name
plugin_output()
Alias for: output
plugin_version()
Alias for: version
port() click to toggle source

Return the event port.

@return [Object]

Return the event port object or port string.

@example

event.port            #=> "https (443/tcp)"
event.port.number     #=> 443
event.port.service    #=> "https"
event.port.protocol   #=> "tcp"
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 24
def port
  @port ||= Port.new(@event.at('@port'), @event.at('@svc_name'), @event.at('@protocol'))
end
references()
Alias for: see_also
risk() click to toggle source

Return the event risk.

@return [String, false]

Return the event risk.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 193
def risk
  @risk_factor ||= if @event.at('risk_factor')
    @event.at('risk_factor').inner_text
  else
    false
  end
end
see_also() click to toggle source

Return the event reference links.

@return [String, false]

Return the event reference links.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 238
def see_also
  unless @see_also
    @see_also = []
    @event.xpath("see_also").each do |see_also|
      @see_also << see_also.inner_text
    end
  end
  @see_also
end
Also aliased as: links, more, references
severity() click to toggle source

Return the event severity.

@return [String]

Return the event severity.

@example

event.severity          #=> 3
event.severity.in_words #=> "High Severity"

@see String#in_words

# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 40
def severity
  @severity ||= @event.at('@severity').inner_text.to_i
end
solution() click to toggle source

Return the event solution.

@return [String, false]

Return the event solution.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 179
def solution
  @solution ||= if @event.at('solution')
    @event.at('solution').inner_text
  else
    false
  end
end
synopsis() click to toggle source

Return the event synopsis.

@return [String, false]

Return the event synopsis.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 151
def synopsis
  @synopsis ||= if @event.at('synopsis')
    @event.at('synopsis').inner_text
  else
    false
  end
end
version() click to toggle source

Return the event plugin version.

@return [String, false]

Return the event plugin version.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 223
def version
  @plugin_version ||= if @event.at('plugin_version')
    @event.at('plugin_version').inner_text
  else
    false
  end
end
Also aliased as: plugin_version
xref() click to toggle source

Return other event related references.

@return [String, false]

Return the event related references.
# File lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb, line 313
def xref
  unless @xref
    @xref = []
    @event.xpath("xref").each do |xref|
      @xref << xref.inner_text
    end
  end
  @xref
end