Class: Nexpose::ScanSummary::Vulnerabilities
- Inherits:
-
Object
- Object
- Nexpose::ScanSummary::Vulnerabilities
- Defined in:
- lib/nexpose/scan.rb
Overview
Value class for tracking vulnerability counts.
Defined Under Namespace
Classes: Status
Instance Attribute Summary collapse
-
#disabled ⇒ Object
readonly
Returns the value of attribute disabled.
-
#error ⇒ Object
readonly
Returns the value of attribute error.
-
#not_vuln_exploit ⇒ Object
readonly
Returns the value of attribute not_vuln_exploit.
-
#not_vuln_version ⇒ Object
readonly
Returns the value of attribute not_vuln_version.
-
#other ⇒ Object
readonly
Returns the value of attribute other.
-
#vuln_exploit ⇒ Object
readonly
Returns the value of attribute vuln_exploit.
-
#vuln_potential ⇒ Object
readonly
Returns the value of attribute vuln_potential.
-
#vuln_version ⇒ Object
readonly
Returns the value of attribute vuln_version.
Class Method Summary collapse
-
.parse(scan_id, rexml) ⇒ Vulnerabilities
Parse REXML to Vulnerabilities object.
Instance Method Summary collapse
-
#initialize(vuln_exploit, vuln_version, vuln_potential, not_vuln_exploit, not_vuln_version, error, disabled, other) ⇒ Vulnerabilities
constructor
A new instance of Vulnerabilities.
Constructor Details
#initialize(vuln_exploit, vuln_version, vuln_potential, not_vuln_exploit, not_vuln_version, error, disabled, other) ⇒ Vulnerabilities
Returns a new instance of Vulnerabilities.
662 663 664 665 666 667 668 669 670 671 |
# File 'lib/nexpose/scan.rb', line 662 def initialize(vuln_exploit, vuln_version, vuln_potential, not_vuln_exploit, not_vuln_version, error, disabled, other) @vuln_exploit = vuln_exploit @vuln_version = vuln_version @vuln_potential = vuln_potential @not_vuln_exploit = not_vuln_exploit @not_vuln_version = not_vuln_version @error = error @disabled = disabled @other = other end |
Instance Attribute Details
#disabled ⇒ Object (readonly)
Returns the value of attribute disabled.
660 661 662 |
# File 'lib/nexpose/scan.rb', line 660 def disabled @disabled end |
#error ⇒ Object (readonly)
Returns the value of attribute error.
660 661 662 |
# File 'lib/nexpose/scan.rb', line 660 def error @error end |
#not_vuln_exploit ⇒ Object (readonly)
Returns the value of attribute not_vuln_exploit.
660 661 662 |
# File 'lib/nexpose/scan.rb', line 660 def not_vuln_exploit @not_vuln_exploit end |
#not_vuln_version ⇒ Object (readonly)
Returns the value of attribute not_vuln_version.
660 661 662 |
# File 'lib/nexpose/scan.rb', line 660 def not_vuln_version @not_vuln_version end |
#other ⇒ Object (readonly)
Returns the value of attribute other.
660 661 662 |
# File 'lib/nexpose/scan.rb', line 660 def other @other end |
#vuln_exploit ⇒ Object (readonly)
Returns the value of attribute vuln_exploit.
660 661 662 |
# File 'lib/nexpose/scan.rb', line 660 def vuln_exploit @vuln_exploit end |
#vuln_potential ⇒ Object (readonly)
Returns the value of attribute vuln_potential.
660 661 662 |
# File 'lib/nexpose/scan.rb', line 660 def vuln_potential @vuln_potential end |
#vuln_version ⇒ Object (readonly)
Returns the value of attribute vuln_version.
660 661 662 |
# File 'lib/nexpose/scan.rb', line 660 def vuln_version @vuln_version end |
Class Method Details
.parse(scan_id, rexml) ⇒ Vulnerabilities
Parse REXML to Vulnerabilities object.
679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 |
# File 'lib/nexpose/scan.rb', line 679 def self.parse(scan_id, rexml) return nil unless rexml map = {} rexml.elements.each("//ScanSummary[contains(@scan-id,'#{scan_id}')]/vulnerabilities") do |vuln| status = map[vuln.attributes['status']] if status && vuln.attributes['status'] =~ /^vuln-/ status.add_severity(vuln.attributes['severity'].to_i, vuln.attributes['count'].to_i) else map[vuln.attributes['status']] = Status.new(vuln.attributes['severity'], vuln.attributes['count'].to_i) end end Vulnerabilities.new(map['vuln-exploit'], map['vuln-version'], map['vuln-potential'], map['not-vuln-exploit'], map['not-vuln-version'], map['error'], map['disabled'], map['other']) end |