2020-10-27 02:19:16 -05:00
|
|
|
#!/usr/bin/env ruby
|
2020-10-27 02:24:42 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2020-10-27 02:19:16 -05:00
|
|
|
require './microsoft_kb_checker.rb'
|
|
|
|
require 'optparse'
|
|
|
|
|
|
|
|
ARGV << '-h' if ARGV.empty?
|
|
|
|
|
|
|
|
params = {}
|
|
|
|
|
|
|
|
OptionParser.new do |opts|
|
2020-10-27 02:24:42 -05:00
|
|
|
opts.banner = 'Usage: microsoft_cve_audit.rb [OPTIONS]'
|
2020-10-27 02:19:16 -05:00
|
|
|
|
2020-10-27 02:24:42 -05:00
|
|
|
opts.on('-c NAME', '--cve', 'The cve id to check.') { |c| params[:cve_id] = c }
|
|
|
|
opts.on('-o NAME', '--os', 'The operating system to check.') { |o| params[:os_name] = o }
|
2020-10-27 02:19:16 -05:00
|
|
|
|
2020-10-27 02:24:42 -05:00
|
|
|
opts.on_tail('-h', '--help', 'Show this message') do
|
2020-10-27 02:19:16 -05:00
|
|
|
puts opts
|
|
|
|
exit
|
|
|
|
end
|
|
|
|
end.parse!(into: params)
|
|
|
|
|
|
|
|
raise OptionParser::MissingArgument if params[:cve_id].nil?
|
|
|
|
raise OptionParser::MissingArgument if params[:os_name].nil?
|
|
|
|
|
2020-10-27 02:24:42 -05:00
|
|
|
puts MicrosoftKbChecker.new(params).query_cve
|