Class: Nexpose::XML::VulnerabilitySummary
- Inherits:
-
Vulnerability
- Object
- Vulnerability
- Nexpose::XML::VulnerabilitySummary
- Defined in:
- lib/nexpose/vuln.rb
Overview
Summary of a vulnerability.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#added ⇒ Object
When this vulnerability was first included in the application.
-
#credentials ⇒ Object
A vulnerability is considered “credentialed” when all of its checks require credentials or if the check depends on previous authentication during a scan.
-
#cvss_score ⇒ Object
The computation of the Common Vulnerability Scoring System indicating compliance with PCI standards on a scale from 0 to 10.0.
-
#cvss_vector ⇒ Object
How the vulnerability is exploited according to PCI standards.
-
#modified ⇒ Object
The last date the vulnerability was modified.
-
#pci_severity ⇒ Object
PCI severity value for the vulnerability on a scale of 1 to 5.
-
#published ⇒ Object
The date when the information about the vulnerability was first released.
-
#safe ⇒ Object
Whether all checks for the vulnerability are safe.
Attributes inherited from Vulnerability
Class Method Summary collapse
Methods inherited from Vulnerability
Constructor Details
This class inherits a constructor from Nexpose::XML::Vulnerability
Instance Attribute Details
#added ⇒ Object
When this vulnerability was first included in the application.
152 153 154 |
# File 'lib/nexpose/vuln.rb', line 152 def added @added end |
#credentials ⇒ Object
A vulnerability is considered “credentialed” when all of its checks require credentials or if the check depends on previous authentication during a scan.
150 151 152 |
# File 'lib/nexpose/vuln.rb', line 150 def credentials @credentials end |
#cvss_score ⇒ Object
The computation of the Common Vulnerability Scoring System indicating compliance with PCI standards on a scale from 0 to 10.0.
161 162 163 |
# File 'lib/nexpose/vuln.rb', line 161 def cvss_score @cvss_score end |
#cvss_vector ⇒ Object
How the vulnerability is exploited according to PCI standards.
158 159 160 |
# File 'lib/nexpose/vuln.rb', line 158 def cvss_vector @cvss_vector end |
#modified ⇒ Object
The last date the vulnerability was modified.
154 155 156 |
# File 'lib/nexpose/vuln.rb', line 154 def modified @modified end |
#pci_severity ⇒ Object
PCI severity value for the vulnerability on a scale of 1 to 5.
143 144 145 |
# File 'lib/nexpose/vuln.rb', line 143 def pci_severity @pci_severity end |
#published ⇒ Object
The date when the information about the vulnerability was first released.
156 157 158 |
# File 'lib/nexpose/vuln.rb', line 156 def published @published end |
#safe ⇒ Object
Whether all checks for the vulnerability are safe. Unsafe checks may cause denial of service or otherwise disrupt system performance.
146 147 148 |
# File 'lib/nexpose/vuln.rb', line 146 def safe @safe end |
Class Method Details
.parse(xml) ⇒ Object
181 182 183 |
# File 'lib/nexpose/vuln.rb', line 181 def self.parse(xml) parse_attributes(xml) end |
.parse_attributes(xml) ⇒ Object
163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
# File 'lib/nexpose/vuln.rb', line 163 def self.parse_attributes(xml) vuln = new(xml.attributes['id'], xml.attributes['title'], xml.attributes['severity'].to_i) vuln.pci_severity = xml.attributes['pciSeverity'].to_i vuln.safe = xml.attributes['safe'] == 'true' # or xml.attributes['safe'] == '1' vuln.added = Date.parse(xml.attributes['added']) vuln.modified = Date.parse(xml.attributes['modified']) vuln.credentials = xml.attributes['requiresCredentials'] == 'true' # These three fields are optional in the XSD. vuln.published = Date.parse(xml.attributes['published']) if xml.attributes['published'] vuln.cvss_vector = xml.attributes['cvssVector'] if xml.attributes['cvssVector'] vuln.cvss_score = xml.attributes['cvssScore'].to_f if xml.attributes['cvssScore'] vuln end |