Work on json database file parsing, still needs some work.
This commit is contained in:
@@ -40,22 +40,47 @@ class Vulnerability
|
||||
# @param [ Nokogiri::XML::Node ] xml_node
|
||||
#
|
||||
# @return [ Vulnerability ]
|
||||
def self.load_from_xml_node(xml_node)
|
||||
# def self.load_from_xml_node(xml_node)
|
||||
# references = {}
|
||||
# refs = xml_node.search('references')
|
||||
|
||||
# if refs
|
||||
# references[:url] = refs.search('url').map(&:text)
|
||||
# references[:cve] = refs.search('cve').map(&:text)
|
||||
# references[:secunia] = refs.search('secunia').map(&:text)
|
||||
# references[:osvdb] = refs.search('osvdb').map(&:text)
|
||||
# references[:metasploit] = refs.search('metasploit').map(&:text)
|
||||
# references[:exploitdb] = refs.search('exploitdb').map(&:text)
|
||||
# end
|
||||
|
||||
# new(
|
||||
# xml_node.search('title').text,
|
||||
# xml_node.search('type').text,
|
||||
# references,
|
||||
# xml_node.search('fixed_in').text,
|
||||
# )
|
||||
# end
|
||||
|
||||
# Create the Vulnerability from the json_item
|
||||
#
|
||||
# @param [ Hash ] json_item
|
||||
#
|
||||
# @return [ Vulnerability ]
|
||||
def self.load_from_json_item(json_item)
|
||||
references = {}
|
||||
refs = xml_node.search('references')
|
||||
if refs
|
||||
references[:url] = refs.search('url').map(&:text)
|
||||
references[:cve] = refs.search('cve').map(&:text)
|
||||
references[:secunia] = refs.search('secunia').map(&:text)
|
||||
references[:osvdb] = refs.search('osvdb').map(&:text)
|
||||
references[:metasploit] = refs.search('metasploit').map(&:text)
|
||||
references[:exploitdb] = refs.search('exploitdb').map(&:text)
|
||||
end
|
||||
|
||||
references[:url] = json_item['references'].split(',') if json_item['references']
|
||||
references[:cve] = json_item['cve'].split(',') if json_item['cve']
|
||||
references[:secunia] = json_item['secunia'].split(',') if json_item['secunia']
|
||||
references[:osvdb] = json_item['osvdb'].split(',') if json_item['osvdb']
|
||||
references[:metasploit] = json_item['metasploit'].split(',') if json_item['metasploit']
|
||||
references[:exploitdb] = json_item['exploitdb'].split(',') if json_item['exploitdb']
|
||||
|
||||
new(
|
||||
xml_node.search('title').text,
|
||||
xml_node.search('type').text,
|
||||
json_item['title'],
|
||||
json_item['type'],
|
||||
references,
|
||||
xml_node.search('fixed_in').text,
|
||||
json_item['fixed_in'],
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user