Class: Nessus::Version2::Event

Inherits:
Object
  • Object
show all
Defined in:
lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb

Instance Method Summary collapse

Constructor Details

#initialize(event) ⇒ Event

Returns a new instance of Event.



8
9
10
# File 'lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb', line 8

def initialize(event)
  @event = event
end

Instance Method Details

#bidString, false

Return the event bid.

Returns:

  • (String, false)

    Return the event bid.



299
300
301
302
303
304
305
# 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?Boolean

Return true if the event is of critical severity.

Returns:

  • (Boolean)

    Return true if the event is high severity.



90
91
92
# File 'lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb', line 90

def critical?
  severity == 4
end

#cveString, false

Return the event cve.

Returns:

  • (String, false)

    Return the event cvss base score.



285
286
287
288
289
290
291
# 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_scoreString, false

Return the event cvss base score.

Returns:

  • (String, false)

    Return the event cvss base score.



271
272
273
274
275
276
277
# 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_vectorString, false

Return other event cvss vector.

Returns:

  • (String, false)

    Return the event cvss vector.



329
330
331
332
333
334
335
# 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

#descriptionString, false

Return the event description.

Returns:

  • (String, false)

    Return the event description.



165
166
167
168
169
170
171
# 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

#familyString Also known as: plugin_family

Return the event object plugin family name.

Examples:

event.family #=> "Service detection"

Returns:

  • (String)

    Return the event object plugin family name.



117
118
119
# File 'lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb', line 117

def family
  @plugin_family ||= @event.at('@pluginFamily').inner_text
end

#high?Boolean

Return ture if the event is of high severity.

Returns:

  • (Boolean)

    Return true if the event is high severity.



80
81
82
# File 'lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb', line 80

def high?
  severity == 3
end

#idString Also known as: plugin_id

Return the event object nessus plugin id

Examples:

event.plugin_id #=> 3245

Returns:

  • (String)

    Return the event object nessus plugin id



103
104
105
# File 'lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb', line 103

def id
  @plugin_id ||= @event.at('@pluginID').inner_text.to_i
end

#informational?Boolean

Return true if event is of informational severity.

Returns:

  • (Boolean)

    Return true if the event is informational.



50
51
52
# File 'lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb', line 50

def informational?
  severity == 0
end

#low?Boolean

Return ture if the event is of low severity.

Returns:

  • (Boolean)

    Return true if the event is low severity.



60
61
62
# File 'lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb', line 60

def low?
  severity == 1
end

#medium?Boolean

Return ture if the event is of medium severity.

Returns:

  • (Boolean)

    Return true if the event is medium severity.



70
71
72
# File 'lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb', line 70

def medium?
  severity == 2
end

#outputString, false Also known as: data, plugin_output

Return the event plugin output.

Returns:

  • (String, false)

    Return the event plugin output.



207
208
209
210
211
212
213
# 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

#patch_publication_dateString, false

Return the event patch publication date.

Returns:

  • (String, false)

    Return the event patch publication date.



257
258
259
260
261
262
263
# 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_nameString, false Also known as: name

Return the event name (plugin_name)

Examples:

event.plugin_name   #=> "PHP < 5.2.4 Multiple Vulnerabilities"
event.name          #=> "PHP < 5.2.4 Multiple Vulnerabilities"

Returns:

  • (String, false)

    Return the event name (plugin_name)



132
133
134
135
136
137
138
139
140
141
142
# 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

#portObject

Return the event port.

Examples:

event.port            #=> "https (443/tcp)"
event.port.number     #=> 443
event.port.service    #=> "https"
event.port.protocol   #=> "tcp"

Returns:

  • (Object)

    Return the event port object or port string.



24
25
26
# 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

#riskString, false

Return the event risk.

Returns:

  • (String, false)

    Return the event risk.



193
194
195
196
197
198
199
# 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_alsoString, false Also known as: links, more, references

Return the event reference links.

Returns:

  • (String, false)

    Return the event reference links.



238
239
240
241
242
243
244
245
246
# 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

#severityString

Return the event severity.

Examples:

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

Returns:

  • (String)

    Return the event severity.

See Also:

  • String#in_words


40
41
42
# File 'lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb', line 40

def severity
  @severity ||= @event.at('@severity').inner_text.to_i
end

#solutionString, false

Return the event solution.

Returns:

  • (String, false)

    Return the event solution.



179
180
181
182
183
184
185
# 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

#synopsisString, false

Return the event synopsis.

Returns:

  • (String, false)

    Return the event synopsis.



151
152
153
154
155
156
157
# 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

#versionString, false Also known as: plugin_version

Return the event plugin version.

Returns:

  • (String, false)

    Return the event plugin version.



223
224
225
226
227
228
229
# 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

#xrefString, false

Return other event related references.

Returns:

  • (String, false)

    Return the event related references.



313
314
315
316
317
318
319
320
321
# 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