Module: CisaKevApi
- Defined in:
- lib/service/api/cisa_kev.rb
Constant Summary collapse
- FEED_URL =
'https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json'
Class Method Summary collapse
Class Method Details
.fetch_vulnerabilities ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/service/api/cisa_kev.rb', line 12 def self.fetch_vulnerabilities uri = URI(FEED_URL) response = Net::HTTP.get_response(uri) unless response.is_a?(Net::HTTPSuccess) raise "Failed to fetch vulnerabilities: #{response.code} #{response.}" end json_response = JSON.parse(response.body) vulnerabilities = json_response['vulnerabilities'] vulnerabilities.each do |vulnerability| yield CisaKevVulnerability.from_json(vulnerability) end end |
.vulnerabilities ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/service/api/cisa_kev.rb', line 27 def self.vulnerabilities list = [] fetch_vulnerabilities do |vulnerability| list << vulnerability end list end |