pwn 0.5.527 → 0.5.529

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 41dad766173e9f532698600df5ad215b77c1536b28d7913ac1ad83650d8f15a3
4
- data.tar.gz: a620829d63e8fc41d707fb55e6cdc6aef3ca1aa0bab571014631dfb883639c6b
3
+ metadata.gz: 2837cafb8268a67d624fd9115ee04597fe9edf7f126bde373f181be6ae7859bb
4
+ data.tar.gz: 2855cbda367a81a7c854c08edcf0f0d1d59f96321df8c23b3834003e99bb4df3
5
5
  SHA512:
6
- metadata.gz: 86c1c7bd2fad5b04e0170d53de9a820be1276cd1e038a7ae2b224b192e5e421075ef890a3eb35280ca624d28237cb1749a869d9d31ac439eb1fd3159b25ec953
7
- data.tar.gz: c9a934741503e2b271d289a19950dc203167c0a12ed3f66507fe88dcf0da4843a324fd9035d037375a854ec751808c4690aab03ead1dc342ce2aac419b5d3c2f
6
+ metadata.gz: cf65609b278025eb8e3bceac9be6be4cdbd89aacf4cd506945da1b6c9b6285de2008b3bb00d7f540fe4587229649e708e0c01cf0583bf2f61f73bff985234324
7
+ data.tar.gz: 669851be6eaedebc14a193767f930c6101fd9fae7e843ddf2ed74642979ce8d1e02dde0e48d4eb8b9f1ac0f20fda7a009114b506085351b1e9bf31e68e97f418
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.4.7
1
+ 4.0.0
data/Gemfile CHANGED
@@ -18,7 +18,7 @@ gem 'aws-sdk', '3.3.0'
18
18
  gem 'barby', '0.7.0'
19
19
  gem 'base32', '0.3.4'
20
20
  gem 'bitcoin-ruby', '0.0.20'
21
- gem 'brakeman', '7.1.1'
21
+ gem 'brakeman', '7.1.2'
22
22
  gem 'bson', '5.2.0'
23
23
  gem 'bundler', '>=4.0.3'
24
24
  gem 'bundler-audit', '>=0.9.3'
@@ -73,14 +73,14 @@ gem 'pry-doc', '1.6.0'
73
73
  gem 'rake', '13.3.1'
74
74
  gem 'rb-readline', '0.5.5'
75
75
  gem 'rbvmomi2', '3.8.0'
76
- gem 'rdoc', '7.0.2'
76
+ gem 'rdoc', '7.0.3'
77
77
  gem 'rest-client', '2.1.0'
78
78
  gem 'rex', '2.0.13'
79
79
  gem 'rmagick', '6.1.4'
80
80
  gem 'rqrcode', '3.1.1'
81
81
  gem 'rspec', '3.13.2'
82
82
  gem 'rtesseract', '3.1.4'
83
- gem 'rubocop', '1.82.0'
83
+ gem 'rubocop', '1.82.1'
84
84
  gem 'rubocop-rake', '0.7.1'
85
85
  gem 'rubocop-rspec', '3.8.0'
86
86
  gem 'ruby-audio', '1.6.1'
data/README.md CHANGED
@@ -37,7 +37,7 @@ $ cd /opt/pwn
37
37
  $ ./install.sh
38
38
  $ ./install.sh ruby-gem
39
39
  $ pwn
40
- pwn[v0.5.527]:001 >>> PWN.help
40
+ pwn[v0.5.529]:001 >>> PWN.help
41
41
  ```
42
42
 
43
43
  [![Installing the pwn Security Automation Framework](https://raw.githubusercontent.com/0dayInc/pwn/master/documentation/pwn_install.png)](https://youtu.be/G7iLUY4FzsI)
@@ -48,21 +48,21 @@ pwn[v0.5.527]:001 >>> PWN.help
48
48
  It's wise to update pwn often as numerous versions are released/week:
49
49
  ```
50
50
  $ rvm list gemsets
51
- $ rvm use ruby-3.4.7@pwn
51
+ $ rvm use ruby-4.0.0@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.5.527]:001 >>> PWN.help
55
+ pwn[v0.5.529]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
  If you're using a multi-user install of RVM do:
59
59
  ```
60
60
  $ rvm list gemsets
61
- $ rvm use ruby-3.4.7@pwn
61
+ $ rvm use ruby-4.0.0@pwn
62
62
  $ rvmsudo gem uninstall --all --executables pwn
63
63
  $ rvmsudo gem install --verbose pwn
64
64
  $ pwn
65
- pwn[v0.5.527]:001 >>> PWN.help
65
+ pwn[v0.5.529]:001 >>> PWN.help
66
66
  ```
67
67
 
68
68
  PWN periodically upgrades to the latest version of Ruby which is reflected in `/opt/pwn/.ruby-version`. The easiest way to upgrade to the latest version of Ruby from a previous PWN installation is to run the following script:
data/bin/pwn_gqrx_scanner CHANGED
@@ -65,6 +65,10 @@ PWN::Driver::Parser.new do |options|
65
65
  opts[:baseband_gain] = b
66
66
  end
67
67
 
68
+ options.on('-k', '--keep-looping', '<Optional - Keep looping over the scan range indefinitely until CTRL+C is caught (Defaults to false)>') do |k|
69
+ opts[:keep_looping] = k
70
+ end
71
+
68
72
  options.on('-LFILE', '--scan-log=FILE', '<Optional - Path to log scan results to (Defaults to /tmp/pwn_sdr_gqrx_scan_<start_freq>-<target_freq>_<timestamp>.json)>') do |l|
69
73
  opts[:scan_log] = l
70
74
  end
@@ -72,10 +76,6 @@ PWN::Driver::Parser.new do |options|
72
76
  options.on('-wLOC', '--location=LOC', '<Optional - Location string to include in AI analysis (e.g. "New York, NY", 90210, GPS coords, etc.)>') do |l|
73
77
  opts[:location] = l
74
78
  end
75
-
76
- options.on('-k', '--keep-looping', '<Optional - Keep looping over the scan range indefinitely until CTRL+C is caught (Defaults to false)>') do |k|
77
- opts[:keep_looping] = k
78
- end
79
79
  end.parse!
80
80
 
81
81
  begin
@@ -132,10 +132,10 @@ begin
132
132
  baseband_gain = opts[:baseband_gain]
133
133
  baseband_gain = baseband_gain.to_f unless baseband_gain.nil?
134
134
 
135
+ keep_looping = opts[:keep_looping]
135
136
  scan_log = opts[:scan_log]
136
137
  decoder = opts[:decoder]
137
138
  location = opts[:location]
138
- keep_looping = opts[:keep_looping]
139
139
 
140
140
  # Merge opts again to ensure we override profile values with CLI values
141
141
  PWN::SDR::GQRX.scan_range(
@@ -151,10 +151,10 @@ begin
151
151
  rf_gain: rf_gain,
152
152
  intermediate_gain: intermediate_gain,
153
153
  baseband_gain: baseband_gain,
154
+ keep_looping: keep_looping,
154
155
  scan_log: scan_log,
155
156
  decoder: decoder,
156
- location: location,
157
- keep_looping: keep_looping
157
+ location: location
158
158
  )
159
159
  puts 'Scan Complete.'
160
160
  rescue StandardError => e
data/lib/pwn/sdr/gqrx.rb CHANGED
@@ -651,9 +651,9 @@ module PWN
651
651
  # rf_gain: 'optional - RF gain (defaults to 0.0)',
652
652
  # intermediate_gain: 'optional - Intermediate gain (defaults to 32.0)',
653
653
  # baseband_gain: 'optional - Baseband gain (defaults to 10.0)',
654
- # scan_log: 'optional - Path to save detected signals log (defaults to /tmp/pwn_sdr_gqrx_scan_<start_freq>-<target_freq>_<timestamp>.json)',
655
- # location: 'optional - Location string to include in AI analysis (e.g., "New York, NY", 90210, GPS coords, etc.)',
656
- # keep_looping: 'optional - Boolean to keep scanning indefinitely (defaults to false)'
654
+ # keep_looping: 'optional - Boolean to keep scanning indefinitely (defaults to false)',
655
+ # scan_log: 'optional - Path to save detected signals log (defaults to /tmp/pwn_sdr_gqrx_scan_<start_freq>-<target_freq>_<timestamp>_lN.json)',
656
+ # location: 'optional - Location string to include in AI analysis (e.g., "New York, NY", 90210, GPS coords, etc.)'
657
657
  # )
658
658
 
659
659
  public_class_method def self.scan_range(opts = {})
@@ -678,10 +678,21 @@ module PWN
678
678
  squelch = opts[:squelch] ||= (strength_lock - 3.0)
679
679
  decoder = opts[:decoder]
680
680
 
681
+ keep_looping = opts[:keep_looping] || false
682
+
681
683
  log_timestamp = Time.now.strftime('%Y-%m-%d')
682
- scan_log = opts[:scan_log] ||= "/tmp/pwn_sdr_gqrx_scan_#{PWN::SDR.hz_to_s(hz_start)}-#{PWN::SDR.hz_to_s(hz_target)}_#{log_timestamp}_l#{loop_count}.json"
684
+ scan_log = opts[:scan_log] ||= "/tmp/pwn_sdr_gqrx_scan_#{PWN::SDR.hz_to_s(hz_start)}-#{PWN::SDR.hz_to_s(hz_target)}_#{log_timestamp}.json"
685
+
686
+ if keep_looping
687
+ # inject _lN before file extension if keep_looping is true
688
+ scan_log.gsub!("_l#{loop_count}", '')
689
+ scan_log = File.join(
690
+ File.dirname(scan_log),
691
+ "#{File.basename(scan_log, '.*')}_l#{loop_count}#{File.extname(scan_log)}"
692
+ )
693
+ end
694
+
683
695
  location = opts[:location] ||= 'United States'
684
- keep_looping = opts[:keep_looping] || false
685
696
 
686
697
  step_hz = 10**(precision - 1)
687
698
  step_hz_direction = hz_start > hz_target ? -step_hz : step_hz
@@ -818,7 +829,7 @@ module PWN
818
829
  keep_alive: true
819
830
  )
820
831
  prev_freq_obj[:strength_lock] = strength_lock
821
- prev_freq_obj[:strength_db] = best_strength_db
832
+ prev_freq_obj[:strength_db] = best_strength_db.round(1)
822
833
 
823
834
  system_role_content = "Analyze signal data captured by a software-defined-radio using GQRX at the following location: #{location}. Respond with just FCC information about the transmission if available. If the frequency is unlicensed or not found in FCC records, state that clearly. Be clear and concise in your analysis."
824
835
  ai_analysis = PWN::AI::Introspection.reflect_on(
@@ -993,6 +1004,7 @@ module PWN
993
1004
  rf_gain: 'optional - RF gain (defaults to 0.0)',
994
1005
  intermediate_gain: 'optional - Intermediate gain (defaults to 32.0)',
995
1006
  baseband_gain: 'optional - Baseband gain (defaults to 10.0)',
1007
+ keep_looping: 'optional - Boolean to keep scanning indefinitely (defaults to false)',
996
1008
  scan_log: 'optional - Path to save detected signals log (defaults to /tmp/pwn_sdr_gqrx_scan_<start_freq>-<target_freq>_<timestamp>.json)',
997
1009
  location: 'optional - Location string to include in AI analysis (e.g., \"New York, NY\", 90210, GPS coords, etc.)'
998
1010
  )
data/lib/pwn/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PWN
4
- VERSION = '0.5.527'
4
+ VERSION = '0.5.529'
5
5
  end
@@ -1282,10 +1282,8 @@
1282
1282
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::GSM.start Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::GSM.start`: "}]}
1283
1283
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::GSM.stop Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::GSM.stop`: "}]}
1284
1284
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::RDS.authors Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::RDS.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1285
- {"messages":[{"role":"user","content":"PWN::SDR::Decoder::RDS.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::RDS.decode`: "}]}
1285
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::RDS.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::RDS.decode`: Supported Method Parameters\n\nrds_resp = PWN::SDR::GQRX.decode_rds(\n\nfreq_obj: 'required - GQRX socket object returned from #connect method'\n\n)\n"}]}
1286
1286
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::RDS.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::RDS.help`: "}]}
1287
- {"messages":[{"role":"user","content":"PWN::SDR::Decoder::RDS.start Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::RDS.start`: "}]}
1288
- {"messages":[{"role":"user","content":"PWN::SDR::Decoder::RDS.stop Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::RDS.stop`: "}]}
1289
1287
  {"messages":[{"role":"user","content":"PWN::SDR::FlipperZero.authors Usage"},{"role":"assistant","content":"`PWN::SDR::FlipperZero.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1290
1288
  {"messages":[{"role":"user","content":"PWN::SDR::FlipperZero.connect Usage"},{"role":"assistant","content":"`PWN::SDR::FlipperZero.connect`: Supported Method Parameters\n\nflipper_zero_obj = PWN::SDR::FlipperZero.connect(\n\nblock_dev: 'optional serial block device path (defaults to /dev/ttyACM0)',\nbaud: 'optional (defaults to 9600)',\ndata_bits: 'optional (defaults to 8)',\nstop_bits: 'optional (defaults to 1)',\nparity: 'optional - :even||:odd|:none (defaults to :none)'\n\n)\n"}]}
1291
1289
  {"messages":[{"role":"user","content":"PWN::SDR::FlipperZero.connect_via_screen Usage"},{"role":"assistant","content":"`PWN::SDR::FlipperZero.connect_via_screen`: Supported Method Parameters\n\nPWN::SDR::FlipperZero.connect_via_screen(\n\nblock_dev: 'optional - serial block device path (defaults to /dev/ttyACM0)'\n\n)\n"}]}
@@ -1304,10 +1302,10 @@
1304
1302
  {"messages":[{"role":"user","content":"PWN::SDR::GQRX.find_best_peak Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.find_best_peak`: Supported Method Parameters\n\nbest_peak = PWN::SDR::GQRX.find_best_peak(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\ncandidate_signals: 'required - Array of candidate signals from edge_detection',\nstep_hz: 'required - Frequency step in Hz for peak finding',\nstrength_lock: 'required - Strength lock in dBFS to determine signal edges'\n\n)\n"}]}
1305
1303
  {"messages":[{"role":"user","content":"PWN::SDR::GQRX.gqrx_cmd Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.gqrx_cmd`: Supported Method Parameters\n\ngqrx_resp = PWN::SDR::GQRX.gqrx_cmd(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\ncmd: 'required - GQRX command to execute',\nresp_ok: 'optional - Expected response from GQRX to indicate success'\n\n)\n"}]}
1306
1304
  {"messages":[{"role":"user","content":"PWN::SDR::GQRX.help Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.help`: "}]}
1307
- {"messages":[{"role":"user","content":"PWN::SDR::GQRX.init_freq Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.init_freq`: Supported Method Parameters\n\nfreq_obj = PWN::SDR::GQRX.init_freq(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nfreq: 'required - Frequency to set',\ndemodulator_mode: 'optional - Demodulator mode (defaults to WFM)',\nrds: 'optional - Boolean to enable/disable RDS decoding (defaults to false)',\nbandwidth: 'optional - Bandwidth (defaults to \"200.000\")',\nsquelch: 'optional - Squelch level to set (Defaults to current value)',\ndecoder: 'optional - Decoder key (e.g., :gsm) to start live decoding (starts recording if provided)',\nrecord_dir: 'optional - Directory where GQRX saves recordings (required if decoder provided; defaults to /tmp/gqrx_recordings)',\nsuppress_details: 'optional - Boolean to include extra frequency details in return hash (defaults to false)',\nkeep_alive: 'optional - Boolean to keep GQRX connection alive after method completion (defaults to false)'\n\n)\n"}]}
1305
+ {"messages":[{"role":"user","content":"PWN::SDR::GQRX.init_freq Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.init_freq`: Supported Method Parameters\n\nfreq_obj = PWN::SDR::GQRX.init_freq(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nfreq: 'required - Frequency to set',\ndemodulator_mode: 'optional - Demodulator mode (defaults to WFM)',\nbandwidth: 'optional - Bandwidth (defaults to \"200.000\")',\nsquelch: 'optional - Squelch level to set (Defaults to current value)',\ndecoder: 'optional - Decoder key (e.g., :gsm) to start live decoding (starts recording if provided)',\nrecord_dir: 'optional - Directory where GQRX saves recordings (required if decoder provided; defaults to /tmp/gqrx_recordings)',\nsuppress_details: 'optional - Boolean to include extra frequency details in return hash (defaults to false)',\nkeep_alive: 'optional - Boolean to keep GQRX connection alive after method completion (defaults to false)'\n\n)\n"}]}
1308
1306
  {"messages":[{"role":"user","content":"PWN::SDR::GQRX.log_signals Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.log_signals`: Supported Method Parameters\n\nscan_resp = PWN::SDR::GQRX.log_signals(\n\nsignals_arr: 'required - Array of detected signals',\ntimestamp_start: 'required - Scan start timestamp',\nscan_log: 'required - Path to save detected signals log'\n\n)\n"}]}
1309
1307
  {"messages":[{"role":"user","content":"PWN::SDR::GQRX.measure_signal_strength Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.measure_signal_strength`: Supported Method Parameters\n\nstrength_db = PWN::SDR::GQRX.measure_signal_strength(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nfreq: 'required - Frequency to measure signal strength',\nstrength_lock: 'optional - Strength lock in dBFS to determine signal edges (defaults to -70.0)',\nphase: 'optional - Phase of measurement for logging purposes (defaults to :find_candidates)'\n\n)\n"}]}
1310
- {"messages":[{"role":"user","content":"PWN::SDR::GQRX.scan_range Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.scan_range`: Supported Method Parameters\n\nscan_resp = PWN::SDR::GQRX.scan_range(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nstart_freq: 'required - Start frequency of scan range',\ntarget_freq: 'required - Target frequency of scan range',\ndemodulator_mode: 'optional - Demodulator mode (e.g. WFM, AM, FM, USB, LSB, RAW, CW, RTTY / defaults to WFM)',\nrds: 'optional - Boolean to enable/disable RDS decoding (defaults to false)',\nbandwidth: 'optional - Bandwidth in Hz (Defaults to \"200.000\")',\nprecision: 'optional - Frequency step precision (number of digits; defaults to 1)',\nstrength_lock: 'optional - Strength lock in dBFS (defaults to -70.0)',\nsquelch: 'optional - Squelch level in dBFS (defaults to strength_lock - 3.0)',\naudio_gain_db: 'optional - Audio gain in dB (defaults to 6.0)',\nrf_gain: 'optional - RF gain (defaults to 0.0)',\nintermediate_gain: 'optional - Intermediate gain (defaults to 32.0)',\nbaseband_gain: 'optional - Baseband gain (defaults to 10.0)',\nscan_log: 'optional - Path to save detected signals log (defaults to /tmp/pwn_sdr_gqrx_scan_<start_freq>-<target_freq>_<timestamp>.json)',\nlocation: 'optional - Location string to include in AI analysis (e.g., \"New York, NY\", 90210, GPS coords, etc.)'\n\n)\n"}]}
1308
+ {"messages":[{"role":"user","content":"PWN::SDR::GQRX.scan_range Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.scan_range`: Supported Method Parameters\n\nscan_resp = PWN::SDR::GQRX.scan_range(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nstart_freq: 'required - Start frequency of scan range',\ntarget_freq: 'required - Target frequency of scan range',\ndemodulator_mode: 'optional - Demodulator mode (e.g. WFM, AM, FM, USB, LSB, RAW, CW, RTTY / defaults to WFM)',\nbandwidth: 'optional - Bandwidth in Hz (Defaults to \"200.000\")',\nprecision: 'optional - Frequency step precision (number of digits; defaults to 1)',\nstrength_lock: 'optional - Strength lock in dBFS (defaults to -70.0)',\nsquelch: 'optional - Squelch level in dBFS (defaults to strength_lock - 3.0)',\naudio_gain_db: 'optional - Audio gain in dB (defaults to 6.0)',\nrf_gain: 'optional - RF gain (defaults to 0.0)',\nintermediate_gain: 'optional - Intermediate gain (defaults to 32.0)',\nbaseband_gain: 'optional - Baseband gain (defaults to 10.0)',\nkeep_looping: 'optional - Boolean to keep scanning indefinitely (defaults to false)',\nscan_log: 'optional - Path to save detected signals log (defaults to /tmp/pwn_sdr_gqrx_scan_<start_freq>-<target_freq>_<timestamp>_lN.json)',\nlocation: 'optional - Location string to include in AI analysis (e.g., \"New York, NY\", 90210, GPS coords, etc.)'\n\n)\n"}]}
1311
1309
  {"messages":[{"role":"user","content":"PWN::SDR::GQRX.tune_to Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.tune_to`: Supported Method Parameters\n\ntune_resp = PWN::SDR::GQRX.tune_to(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nhz: 'required - Frequency to tune to'\n\n)\n"}]}
1312
1310
  {"messages":[{"role":"user","content":"PWN::SDR::RFIDler.authors Usage"},{"role":"assistant","content":"`PWN::SDR::RFIDler.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1313
1311
  {"messages":[{"role":"user","content":"PWN::SDR::RFIDler.connect_via_screen Usage"},{"role":"assistant","content":"`PWN::SDR::RFIDler.connect_via_screen`: Supported Method Parameters\n\nPWN::SDR::RFIDler.connect_via_screen(\n\nblock_dev: 'optional - serial block device path (defaults to /dev/ttyUSB0)'\n\n)\n"}]}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.527
4
+ version: 0.5.529
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
@@ -113,14 +113,14 @@ dependencies:
113
113
  requirements:
114
114
  - - '='
115
115
  - !ruby/object:Gem::Version
116
- version: 7.1.1
116
+ version: 7.1.2
117
117
  type: :runtime
118
118
  prerelease: false
119
119
  version_requirements: !ruby/object:Gem::Requirement
120
120
  requirements:
121
121
  - - '='
122
122
  - !ruby/object:Gem::Version
123
- version: 7.1.1
123
+ version: 7.1.2
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: bson
126
126
  requirement: !ruby/object:Gem::Requirement
@@ -869,14 +869,14 @@ dependencies:
869
869
  requirements:
870
870
  - - '='
871
871
  - !ruby/object:Gem::Version
872
- version: 7.0.2
872
+ version: 7.0.3
873
873
  type: :development
874
874
  prerelease: false
875
875
  version_requirements: !ruby/object:Gem::Requirement
876
876
  requirements:
877
877
  - - '='
878
878
  - !ruby/object:Gem::Version
879
- version: 7.0.2
879
+ version: 7.0.3
880
880
  - !ruby/object:Gem::Dependency
881
881
  name: rest-client
882
882
  requirement: !ruby/object:Gem::Requirement
@@ -967,14 +967,14 @@ dependencies:
967
967
  requirements:
968
968
  - - '='
969
969
  - !ruby/object:Gem::Version
970
- version: 1.82.0
970
+ version: 1.82.1
971
971
  type: :runtime
972
972
  prerelease: false
973
973
  version_requirements: !ruby/object:Gem::Requirement
974
974
  requirements:
975
975
  - - '='
976
976
  - !ruby/object:Gem::Version
977
- version: 1.82.0
977
+ version: 1.82.1
978
978
  - !ruby/object:Gem::Dependency
979
979
  name: rubocop-rake
980
980
  requirement: !ruby/object:Gem::Requirement