class OpenvasCli::VasNVT
Describes a NSIS/OpenVAS scan rule.
Attributes
bugtraq_id[RW]
category[RW]
copyright[RW]
cve_id[RW]
cvss_base[RW]
description[RW]
family[RW]
name[RW]
Human readable name of the rule.
preferences[RW]
risk_factor[RW]
summary[RW]
version[RW]
xrefs[RW]
Public Class Methods
get_all(options = {})
click to toggle source
Pulls VasNVT
rules that match the provided options.
Options:¶ ↑
- :id => [VasNVT.oid]
-
will pull only the NVT rule that matches the given OID
- :family => [VasFamily.name]
-
will pull all NVT rules for the specified family
# File lib/openvas-cli/vas_nvt.rb, line 35 def self.get_all(options = {}) params = {:details => '1'} params[:nvt_oid] = options[:id] if options[:id] params[:family] = options[:family] if options[:family] params[:config_id] = options[:config_id] if options[:config_id] req = Nokogiri::XML::Builder.new { |xml| xml.get_nvts(params) } rules = connection.send_receive(req.doc) ret = [] rules.xpath("/get_nvts_response/nvt").each { |nvt| rule = VasNVT.new rule.id = extract_value_from("@oid", nvt) rule.name = extract_value_from("name", nvt) rule.category = extract_value_from("category", nvt) rule.copyright = extract_value_from("copyright", nvt) rule.description = extract_value_from("description", nvt).strip rule.summary = extract_value_from("summary", nvt) rule.family = extract_value_from("family", nvt) rule.version = extract_value_from("version", nvt) rule.cvss_base = extract_value_from("cvss_base", nvt) rule.risk_factor = extract_value_from("risk_factor", nvt) rule.cve_id = extract_value_from("cve_id", nvt) rule.bugtraq_id = extract_value_from("bugtraq_id", nvt) rule.xrefs = extract_value_from("xrefs", nvt).split(/, ?/) rule.tags = extract_value_from("tags", nvt).split(/, ?/) ret << rule } ret end