require 'faker' module KennaKdi class AssetGenerator attr_accessor :cve_data_path, :vuln_generator def initialize(cve_data_path) @cve_data_path = cve_data_path @vuln_generator = KennaKdi::VulnGenerator.new(cve_data_path) end def random_asset_hash v_and_vd = random_vuln_and_vuln_def { "skip_autoclose": true, "assets":[ { "ip_address": Faker::Internet.ip_v4_address, "vulns":[ v_and_vd[:vuln] ] } ], "vuln_defs":[ v_and_vd[:vuln_def] ] } end def random_vuln_and_vuln_def vuln_generator.random_vuln_and_vuln_def end end end