35 lines
No EOL
715 B
Ruby
35 lines
No EOL
715 B
Ruby
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 |