added some more methods to parse cves

This commit is contained in:
booboy 2019-06-12 21:54:14 -05:00
parent 63a62fac79
commit e6c8b0c0b2
2 changed files with 33 additions and 2 deletions

View file

@ -41,8 +41,28 @@ class CveReport
end
def find(cve_id)
cves.select do |cve|
result = cves.select do |cve|
cve["cve"]["CVE_data_meta"]["ID"] == cve_id
end
if result.count == 1
result.first
else
"Could not find valid CVE for: #{cve}"
end
end
def description(cve_id)
cve = find(cve_id)
cve['cve']['description']['description_data'].first['value']
end
def description_hash(cve_id)
description_value = description(cve_id)
{ :cve_id => cve_id, :description => description_value }
end
def reference_data(cve_id)
cve = find(cve_id)
cve['cve']['references']['reference_data']
end
end

View file

@ -10,9 +10,20 @@ if current_dir =~ /^(.*?\/misc_rbtools)/
require_all '../classes'
end
def list_methods(class_name)
{"#{class_name}": class_name.methods }
end
# different downloading tools
nvd_downloader = NvdTools::NvdDownloader.new
scans_io_downloader = ScansIoTools::ScansIoDownloader.new
scans_io_parser = ScansIoTools::ScansIoIndexParser.new(scans_io_downloader.get_json_index.body)
downloading_tools = nvd_downloader, scans_io_downloader, scans_io_parser
download_tool_methods = downloading_tools.map do |tool|
list_methods(tool)
end
Pry.start