nvd_feed_api 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a5b514ce502cdd7ed0c110fc51e834735f0431d18724ce805a7d43ab6c48573b
4
- data.tar.gz: 2ad857a72403943feee5a60f3a7ac8e8f642eb96e4ebb5956d2cdaeb3d635a46
3
+ metadata.gz: 158649a33021b95393055afc6861185443aeae4665cc6acd86814f29a866d8f0
4
+ data.tar.gz: 75ca47cdcece6352581ed8ddfe9339ce393e48199ba4c895e6e49e05e959b08b
5
5
  SHA512:
6
- metadata.gz: 830a36b97968d09491bd7827393e261aff2ec6fc410167cfcada0848e86809979c01a7c7c9bbfcfa6cf86b0a357279b26cb45719ceefde01f2e2456d2c03f272
7
- data.tar.gz: dab48f73efd733dd71c94ad619289727c625526b6099b09906203ed19b776aa2d97b21868cf1b10a4bba095f6d4a26a06da7c23cacc4f6776eb2cc5486f9d5c7
6
+ metadata.gz: 66c08b3167c12da6168331f84caa557d945ebb16c76e565cefa6ac44c7960e5eb8bae840a2231c16d2cc9ef982bd13eb9b68289dff66dbee4af0c115a45e20f4
7
+ data.tar.gz: 2729e066d04f9f29e9fd3fbd76c88cb3c208c2a82eab331e3202fca9a42a7f658d7645f7d3c17f5df770c54b1eb8e084b611f6e23eefab90c7e4cada90e114f0
@@ -37,6 +37,10 @@ test:2.6:
37
37
  <<: *job_definition
38
38
  image: ruby:2.6-alpine
39
39
 
40
+ test:2.7:
41
+ <<: *job_definition
42
+ image: ruby:2.7-alpine
43
+
40
44
  pages:
41
45
  stage: deploy
42
46
  image: ruby:2.4-alpine
@@ -1,9 +1,13 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.4
2
+ TargetRubyVersion: 2.7
3
+ NewCops: enable
3
4
 
4
- Layout/AlignHash:
5
+ Layout/HashAlignment:
5
6
  EnforcedHashRocketStyle: table
6
7
 
8
+ Layout/LineLength:
9
+ Enabled: false
10
+
7
11
  # Rubocop is too stupid too see that the variable is used
8
12
  Lint/UselessAssignment:
9
13
  Enabled: false
@@ -23,9 +27,6 @@ Metrics/ClassLength:
23
27
  Metrics/CyclomaticComplexity:
24
28
  Max: 20
25
29
 
26
- Metrics/LineLength:
27
- Enabled: false
28
-
29
30
  Metrics/MethodLength:
30
31
  Max: 100
31
32
 
@@ -47,3 +48,6 @@ Style/PerlBackrefs:
47
48
  # Allow explicit return
48
49
  Style/RedundantReturn:
49
50
  Enabled: false
51
+
52
+ Style/WordArray:
53
+ EnforcedStyle: brackets
@@ -0,0 +1 @@
1
+ ruby 2.7.1
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nvd_feed_api (0.3.0)
4
+ nvd_feed_api (0.3.1)
5
5
  archive-zip (~> 0.11)
6
6
  nokogiri (~> 1.10)
7
7
  oj (>= 3.7.8, < 4)
@@ -9,56 +9,59 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- archive-zip (0.11.0)
12
+ archive-zip (0.12.0)
13
13
  io-like (~> 0.3.0)
14
- ast (2.4.0)
15
- commonmarker (0.18.2)
14
+ ast (2.4.1)
15
+ commonmarker (0.21.0)
16
16
  ruby-enum (~> 0.5)
17
- concurrent-ruby (1.1.4)
18
- github-markup (3.0.2)
19
- i18n (1.5.3)
17
+ concurrent-ruby (1.1.7)
18
+ github-markup (3.0.4)
19
+ i18n (1.8.5)
20
20
  concurrent-ruby (~> 1.0)
21
- io-like (0.3.0)
22
- jaro_winkler (1.5.2)
21
+ io-like (0.3.1)
23
22
  mini_portile2 (2.4.0)
24
- minitest (5.11.3)
25
- nokogiri (1.10.1)
23
+ minitest (5.14.2)
24
+ nokogiri (1.10.10)
26
25
  mini_portile2 (~> 2.4.0)
27
- oj (3.7.8)
28
- parallel (1.13.0)
29
- parser (2.6.0.0)
30
- ast (~> 2.4.0)
31
- powerpack (0.1.2)
26
+ oj (3.10.14)
27
+ parallel (1.19.2)
28
+ parser (2.7.1.5)
29
+ ast (~> 2.4.1)
32
30
  rainbow (3.0.0)
33
- rake (12.3.2)
34
- redcarpet (3.4.0)
35
- rubocop (0.63.0)
36
- jaro_winkler (~> 1.5.1)
31
+ rake (13.0.1)
32
+ redcarpet (3.5.0)
33
+ regexp_parser (1.8.1)
34
+ rexml (3.2.4)
35
+ rubocop (0.92.0)
37
36
  parallel (~> 1.10)
38
- parser (>= 2.5, != 2.5.1.1)
39
- powerpack (~> 0.1)
37
+ parser (>= 2.7.1.5)
40
38
  rainbow (>= 2.2.2, < 4.0)
39
+ regexp_parser (>= 1.7)
40
+ rexml
41
+ rubocop-ast (>= 0.5.0)
41
42
  ruby-progressbar (~> 1.7)
42
- unicode-display_width (~> 1.4.0)
43
- ruby-enum (0.7.2)
43
+ unicode-display_width (>= 1.4.0, < 2.0)
44
+ rubocop-ast (0.7.1)
45
+ parser (>= 2.7.1.5)
46
+ ruby-enum (0.8.0)
44
47
  i18n
45
- ruby-progressbar (1.10.0)
46
- unicode-display_width (1.4.1)
47
- yard (0.9.16)
48
+ ruby-progressbar (1.10.1)
49
+ unicode-display_width (1.7.0)
50
+ yard (0.9.25)
48
51
 
49
52
  PLATFORMS
50
53
  ruby
51
54
 
52
55
  DEPENDENCIES
53
- bundler (~> 2.0)
54
- commonmarker (~> 0.18)
56
+ bundler (~> 2.1)
57
+ commonmarker (~> 0.21)
55
58
  github-markup (~> 3.0)
56
- minitest (~> 5.11)
59
+ minitest (~> 5.14)
57
60
  nvd_feed_api!
58
- rake (~> 12.3)
59
- redcarpet (~> 3.4)
60
- rubocop (~> 0.63)
61
+ rake (~> 13.0)
62
+ redcarpet (~> 3.5)
63
+ rubocop (~> 0.92)
61
64
  yard (~> 0.9)
62
65
 
63
66
  BUNDLED WITH
64
- 2.0.1
67
+ 2.1.4
data/README.md CHANGED
@@ -5,6 +5,7 @@
5
5
  [![Gem stable](https://img.shields.io/gem/dv/nvd_feed_api/stable.svg)][rubygems]
6
6
  [![Gem latest](https://img.shields.io/gem/dtv/nvd_feed_api.svg)][rubygems]
7
7
  [![Gem total download](https://img.shields.io/gem/dt/nvd_feed_api.svg)][rubygems]
8
+ [![Rawsec's CyberSecurity Inventory](https://inventory.rawsec.ml/img/badges/Rawsec-inventoried-FF5050_flat.svg)](https://inventory.rawsec.ml/tools.html#nvd_feed_api)
8
9
 
9
10
  [rubygems]:https://rubygems.org/gems/nvd_feed_api/
10
11
 
@@ -12,7 +13,7 @@
12
13
 
13
14
  **nvd_feed_api** is a simple ruby API for NVD CVE feeds.
14
15
 
15
- The API will help you to download and manage NVD Data Feeds, search for CVEs, build your vulerability assesment platform or vulnerability database.
16
+ The API will help you to download and manage NVD Data Feeds, search for CVEs, build your vulnerability assessment platform or vulnerability database.
16
17
 
17
18
  Name | Link
18
19
  --- | ---
@@ -18,8 +18,9 @@ require 'nvd_feed_api/feed'
18
18
  # scraper.feeds("CVE-2007")
19
19
  # cve2007, cve2015 = scraper.feeds("CVE-2007", "CVE-2015")
20
20
  class NVDFeedScraper
21
+ BASE = 'https://nvd.nist.gov'.freeze
21
22
  # The NVD url where is located the data feeds.
22
- URL = 'https://nvd.nist.gov/vuln/data-feeds'.freeze
23
+ URL = "#{BASE}/vuln/data-feeds".freeze
23
24
  # Load constants
24
25
  include NvdFeedApi
25
26
 
@@ -38,13 +39,24 @@ class NVDFeedScraper
38
39
 
39
40
  doc = Nokogiri::HTML(html)
40
41
  @feeds = []
41
- doc.css('h3#JSON_FEED ~ div.row:first-of-type table.xml-feed-table > tbody > tr[data-testid*=desc]').each do |tr|
42
- name = tr.css('td')[0].text
43
- updated = tr.css('td')[1].text
44
- meta = tr.css('td')[2].css('> a').attr('href').value
45
- gz = tr.css('+ tr > td > a').attr('href').value
46
- zip = tr.css('+ tr + tr > td > a').attr('href').value
47
- @feeds.push(Feed.new(name, updated, meta, gz, zip))
42
+ tmp_feeds = {}
43
+ doc.css('#vuln-feed-table table.xml-feed-table tr[data-testid]').each do |tr|
44
+ num, type = tr.attr('data-testid')[13..].split('-')
45
+ if type == 'meta'
46
+ tmp_feeds[num] = {}
47
+ tmp_feeds[num][:name] = tr.css('td')[0].text
48
+ tmp_feeds[num][:updated] = tr.css('td')[1].text
49
+ tmp_feeds[num][:meta] = BASE + tr.css('td')[2].css('> a').attr('href').value
50
+ elsif type == 'gz'
51
+ tmp_feeds[num][:gz] = BASE + tr.css('td > a').attr('href').value
52
+ elsif type == 'zip'
53
+ tmp_feeds[num][:zip] = BASE + tr.css('td > a').attr('href').value
54
+ @feeds.push(Feed.new(tmp_feeds[num][:name],
55
+ tmp_feeds[num][:updated],
56
+ tmp_feeds[num][:meta],
57
+ tmp_feeds[num][:gz],
58
+ tmp_feeds[num][:zip]))
59
+ end
48
60
  end
49
61
  return @feeds.size
50
62
  end
@@ -1,3 +1,3 @@
1
1
  module NvdFeedApi
2
- VERSION = '0.3.0'.freeze
2
+ VERSION = '0.3.1'.freeze
3
3
  end
@@ -6,7 +6,7 @@ Gem::Specification.new do |s|
6
6
  s.name = 'nvd_feed_api'
7
7
  s.version = NvdFeedApi::VERSION
8
8
  s.platform = Gem::Platform::RUBY
9
- s.date = '2018-01-06'
9
+ s.date = '2020-10-03'
10
10
  s.summary = 'API for NVD CVE feeds'
11
11
  s.description = 'A simple API for NVD CVE feeds'
12
12
  s.authors = ['Alexandre ZANNI']
@@ -35,12 +35,12 @@ Gem::Specification.new do |s|
35
35
  s.add_dependency('nokogiri', '~> 1.10')
36
36
  s.add_dependency('oj', '>= 3.7.8', '<4')
37
37
 
38
- s.add_development_dependency('bundler', '~> 2.0')
39
- s.add_development_dependency('commonmarker', '~> 0.18') # for GMF support in YARD
38
+ s.add_development_dependency('bundler', '~> 2.1')
39
+ s.add_development_dependency('commonmarker', '~> 0.21') # for GMF support in YARD
40
40
  s.add_development_dependency('github-markup', '~> 3.0') # for GMF support in YARD
41
- s.add_development_dependency('minitest', '~> 5.11')
42
- s.add_development_dependency('rake', '~> 12.3')
43
- s.add_development_dependency('redcarpet', '~> 3.4') # for GMF support in YARD
44
- s.add_development_dependency('rubocop', '~> 0.63')
41
+ s.add_development_dependency('minitest', '~> 5.14')
42
+ s.add_development_dependency('rake', '~> 13.0')
43
+ s.add_development_dependency('redcarpet', '~> 3.5') # for GMF support in YARD
44
+ s.add_development_dependency('rubocop', '~> 0.92')
45
45
  s.add_development_dependency('yard', '~> 0.9')
46
46
  end
@@ -1,5 +1,11 @@
1
1
  # [0.3.0] - 22 January 2019
2
2
 
3
+ [0.3.1]: https://gitlab.com/noraj/nvd_api/tags/v0.3.1
4
+
5
+ - fix scrap method to reflect NVD feeds page changes
6
+ - update dependencies
7
+ - update rubocop rules
8
+
3
9
  [0.3.0]: https://gitlab.com/noraj/nvd_api/tags/v0.3.0
4
10
 
5
11
  - update dependencies: updated gemspec, ruby 2.6 support, fix gem doc flag, fix oj crash (seg fault)
@@ -10,14 +10,7 @@ $ gem install nvd_feed_api
10
10
 
11
11
  ## Development
12
12
 
13
- It's better to use [RVM](https://rvm.io/) to have latests version of ruby and to avoid trashing your system ruby.
14
-
15
- To keep clean gem dependencies create a gemset with rvm:
16
-
17
- ```
18
- $ rvm gemset create nvd_feed_api
19
- $ rvm gemset use nvd_feed_api
20
- ```
13
+ It's better to use [rbenv](https://github.com/rbenv/rbenv) to have latests version of ruby and to avoid trashing your system ruby.
21
14
 
22
15
  ### Install from rubygems.org
23
16
 
@@ -53,7 +46,7 @@ Note: if an automatic install is needed you can get the version with `$ gem buil
53
46
 
54
47
  ### Run the API in irb without installing the gem
55
48
 
56
- Usefull when you want to try your changes without building the gem and re-installing it each time.
49
+ Useful when you want to try your changes without building the gem and re-installing it each time.
57
50
 
58
51
  ```
59
52
  $ git clone https://gitlab.com/noraj/nvd_api.git nvd_feed_api
@@ -0,0 +1,15 @@
1
+ {
2
+ "extends": [
3
+ "config:base"
4
+ ],
5
+ "bundler": {
6
+ "enabled": true
7
+ },
8
+ "assignees": [
9
+ "noraj"
10
+ ],
11
+ "enabledManagers": [
12
+ "bundler",
13
+ "gitlabci"
14
+ ]
15
+ }
@@ -78,7 +78,7 @@ class NVDAPITest < Minitest::Test
78
78
  f2017, f2016, f_modified = @s.feeds('CVE-2017', 'CVE-2016', 'CVE-Modified')
79
79
  # one arg
80
80
  # can't use assert_instance_of because there is no boolean class
81
- assert(%w[TrueClass FalseClass].include?(@s.update_feeds(f2017).class.to_s), "update_feeds doesn't return a boolean")
81
+ assert(['TrueClass', 'FalseClass'].include?(@s.update_feeds(f2017).class.to_s), "update_feeds doesn't return a boolean")
82
82
  # two args
83
83
  assert_instance_of(Array, @s.update_feeds(f2017, f2016), "update_feeds doesn't return an array")
84
84
  refute_empty(@s.update_feeds(f2017, f2016), 'update_feeds returns an empty array')
@@ -109,9 +109,9 @@ class NVDAPITest < Minitest::Test
109
109
 
110
110
  def test_feed_attributes
111
111
  name = 'CVE-2010'
112
- meta_url = 'https://nvd.nist.gov/feeds/json/cve/1.0/nvdcve-1.0-2010.meta'
113
- gz_url = 'https://nvd.nist.gov/feeds/json/cve/1.0/nvdcve-1.0-2010.json.gz'
114
- zip_url = 'https://nvd.nist.gov/feeds/json/cve/1.0/nvdcve-1.0-2010.json.zip'
112
+ meta_url = 'https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-2010.meta'
113
+ gz_url = 'https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-2010.json.gz'
114
+ zip_url = 'https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-2010.json.zip'
115
115
  f = @s.feeds('CVE-2010')
116
116
  # Test name
117
117
  assert_instance_of(String, f.name, "name doesn't return a string")
@@ -231,7 +231,7 @@ class NVDAPITest < Minitest::Test
231
231
  f_new = @s.feeds('CVE-2006')
232
232
  # Right arg
233
233
  # can't use assert_instance_of because there is no boolean class
234
- assert(%w[TrueClass FalseClass].include?(f.update!(f_new).class.to_s), "update! doesn't return a boolean")
234
+ assert(['TrueClass', 'FalseClass'].include?(f.update!(f_new).class.to_s), "update! doesn't return a boolean")
235
235
  # Bad arg
236
236
  err = assert_raises(RuntimeError) do
237
237
  f.update!('bad_arg')
@@ -240,25 +240,25 @@ class NVDAPITest < Minitest::Test
240
240
  end
241
241
 
242
242
  def test_meta_parse_noarg
243
- m = NVDFeedScraper::Meta.new('https://nvd.nist.gov/feeds/json/cve/1.0/nvdcve-1.0-2015.meta')
243
+ m = NVDFeedScraper::Meta.new('https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-2015.meta')
244
244
  assert_equal(0, m.parse, 'parse method return nothing')
245
245
  end
246
246
 
247
247
  def test_meta_parse_witharg
248
248
  m = NVDFeedScraper::Meta.new
249
- meta_url = 'https://nvd.nist.gov/feeds/json/cve/1.0/nvdcve-1.0-2015.meta'
249
+ meta_url = 'https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-2015.meta'
250
250
  assert_equal(0, m.parse(meta_url), 'parse method return nothing')
251
251
  end
252
252
 
253
253
  def test_meta_url_setter
254
254
  m = NVDFeedScraper::Meta.new
255
- meta_url = 'https://nvd.nist.gov/feeds/json/cve/1.0/nvdcve-1.0-2015.meta'
255
+ meta_url = 'https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-2015.meta'
256
256
  assert_equal(meta_url, m.url = meta_url, 'the meta URL is not set correctly')
257
257
  end
258
258
 
259
259
  def test_meta_attributes
260
260
  m = NVDFeedScraper::Meta.new
261
- meta_url = 'https://nvd.nist.gov/feeds/json/cve/1.0/nvdcve-1.0-2015.meta'
261
+ meta_url = 'https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-2015.meta'
262
262
  m.url = meta_url
263
263
  m.parse
264
264
  # Test gz_size
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nvd_feed_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexandre ZANNI
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-06 00:00:00.000000000 Z
11
+ date: 2020-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: archive-zip
@@ -64,28 +64,28 @@ dependencies:
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '2.0'
67
+ version: '2.1'
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '2.0'
74
+ version: '2.1'
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: commonmarker
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '0.18'
81
+ version: '0.21'
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '0.18'
88
+ version: '0.21'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: github-markup
91
91
  requirement: !ruby/object:Gem::Requirement
@@ -106,56 +106,56 @@ dependencies:
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: '5.11'
109
+ version: '5.14'
110
110
  type: :development
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
- version: '5.11'
116
+ version: '5.14'
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: rake
119
119
  requirement: !ruby/object:Gem::Requirement
120
120
  requirements:
121
121
  - - "~>"
122
122
  - !ruby/object:Gem::Version
123
- version: '12.3'
123
+ version: '13.0'
124
124
  type: :development
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
128
  - - "~>"
129
129
  - !ruby/object:Gem::Version
130
- version: '12.3'
130
+ version: '13.0'
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: redcarpet
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - "~>"
136
136
  - !ruby/object:Gem::Version
137
- version: '3.4'
137
+ version: '3.5'
138
138
  type: :development
139
139
  prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
142
  - - "~>"
143
143
  - !ruby/object:Gem::Version
144
- version: '3.4'
144
+ version: '3.5'
145
145
  - !ruby/object:Gem::Dependency
146
146
  name: rubocop
147
147
  requirement: !ruby/object:Gem::Requirement
148
148
  requirements:
149
149
  - - "~>"
150
150
  - !ruby/object:Gem::Version
151
- version: '0.63'
151
+ version: '0.92'
152
152
  type: :development
153
153
  prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
155
155
  requirements:
156
156
  - - "~>"
157
157
  - !ruby/object:Gem::Version
158
- version: '0.63'
158
+ version: '0.92'
159
159
  - !ruby/object:Gem::Dependency
160
160
  name: yard
161
161
  requirement: !ruby/object:Gem::Requirement
@@ -186,6 +186,7 @@ files:
186
186
  - ".gitlab/issue_templates/Feature_proposal.md"
187
187
  - ".gitlab/merge_request_templates/MR.md"
188
188
  - ".rubocop.yml"
189
+ - ".tool-versions"
189
190
  - ".yardopts"
190
191
  - Gemfile
191
192
  - Gemfile.lock
@@ -204,6 +205,7 @@ files:
204
205
  - pages/EXAMPLES.md
205
206
  - pages/FEATURES.md
206
207
  - pages/INSTALL.md
208
+ - renovate.json
207
209
  - test/test_nvd_feed_api.rb
208
210
  homepage: https://noraj.gitlab.io/nvd_api/
209
211
  licenses:
@@ -216,7 +218,7 @@ metadata:
216
218
  homepage_uri: https://noraj.gitlab.io/nvd_api/
217
219
  source_code_uri: https://gitlab.com/noraj/nvd_api/tree/master
218
220
  wiki_uri: https://gitlab.com/noraj/nvd_api/wikis/home
219
- post_install_message:
221
+ post_install_message:
220
222
  rdoc_options: []
221
223
  require_paths:
222
224
  - lib
@@ -231,8 +233,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
231
233
  - !ruby/object:Gem::Version
232
234
  version: '0'
233
235
  requirements: []
234
- rubygems_version: 3.0.1
235
- signing_key:
236
+ rubygems_version: 3.1.2
237
+ signing_key:
236
238
  specification_version: 4
237
239
  summary: API for NVD CVE feeds
238
240
  test_files: