pwn 0.5.550 → 0.5.552

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: 2a74ded9ce97c06a9d9351d25abdb3a2a0410d5131f8e63936c6e9432c1ab56d
4
- data.tar.gz: 1983a6472a848c7c33f8de30d5c355e28056c5eb847cfab77a6894ee1d98d45f
3
+ metadata.gz: 0eb71ac056fca69e9b903f0cfca9c905f1acafa556aad10dfb3da0cd64675b0d
4
+ data.tar.gz: 4416c11597a1ba0ee7c84267be3f47cdf67bb236f2ab89f766155a86b72eaaea
5
5
  SHA512:
6
- metadata.gz: 9e858bf97b28a1e9a989d52d0ff92c03ed23c6134381817d56e752cf04c27e935b91ecb8283ac242acf2708fa8b075d1b4e5af33f0becad70a793a59b9e8e4f3
7
- data.tar.gz: e9e07591011448b93f47289b709c3df0545808a4aeb2309ef689f9fd59d4503b7e02c99496e22ec4e34f1f86d206749fe5b57c21f9536fa519ddfebd9f28d0f9
6
+ metadata.gz: a8815c6bb53071f7a6094ced8da45d537b0bf6a454b404325cbb30e446034827fd1fcac537cc90f3dd0213da498793fd46b1d762b593d0b2040d80da09658eb8
7
+ data.tar.gz: efc39f2cf19f17aedf98b7fb7a8784865821e387df44382390b5488e2ae1df1da4fb0b582f86cf3c6914f42b217b0c6f4700c7d092c1c445ba16b491eb452e14
data/.rubocop.yml CHANGED
@@ -18,7 +18,7 @@ Metrics/CyclomaticComplexity:
18
18
  Metrics/MethodLength:
19
19
  Max: 733
20
20
  Metrics/ModuleLength:
21
- Max: 1574
21
+ Max: 1584
22
22
  Metrics/PerceivedComplexity:
23
23
  Max: 157
24
24
  Style/HashEachMethods:
data/Gemfile CHANGED
@@ -11,7 +11,7 @@ gemspec
11
11
  # In some circumstances custom flags are passed to gems in order
12
12
  # to build appropriately. Defer to ./reinstall_pwn_gemset.sh
13
13
  # to review these custom flags (e.g. pg, serialport, etc).
14
- gem 'activesupport', '<8.1.2'
14
+ gem 'activesupport', '<8.1.3'
15
15
  gem 'anemone', '0.7.2'
16
16
  gem 'authy', '3.0.1'
17
17
  gem 'aws-sdk', '3.3.0'
@@ -20,7 +20,7 @@ gem 'base32', '0.3.4'
20
20
  gem 'bitcoin-ruby', '0.0.20'
21
21
  gem 'brakeman', '8.0.4'
22
22
  gem 'bson', '5.2.0'
23
- gem 'bundler', '>=4.0.7'
23
+ gem 'bundler', '>=4.0.9'
24
24
  gem 'bundler-audit', '>=0.9.3'
25
25
  gem 'bunny', '2.24.0'
26
26
  gem 'colorize', '1.1.0'
@@ -31,7 +31,7 @@ gem 'eventmachine', '1.2.7'
31
31
  gem 'executable-hooks', '1.7.1'
32
32
  gem 'faker', '3.6.1'
33
33
  gem 'faye-websocket', '0.12.0'
34
- gem 'ffi', '1.17.3'
34
+ gem 'ffi', '1.17.4'
35
35
  # gem 'fftw3', '0.3'
36
36
  gem 'gdb', '1.0.0'
37
37
  gem 'gem-wrappers', '1.4.0'
@@ -49,8 +49,8 @@ gem 'jwt', '3.1.2'
49
49
  gem 'libusb', '0.7.2'
50
50
  gem 'luhn', '3.0.0'
51
51
  gem 'mail', '2.9.0'
52
- gem 'mcp', '0.8.0'
53
- gem 'meshtastic', '0.0.157'
52
+ gem 'mcp', '0.9.2'
53
+ gem 'meshtastic', '0.0.158'
54
54
  gem 'metasm', '1.0.5'
55
55
  gem 'mongo', '2.23.0'
56
56
  gem 'msfrpc-client', '1.1.2'
@@ -59,7 +59,7 @@ gem 'net-ldap', '0.20.0'
59
59
  gem 'net-openvpn', '0.8.7'
60
60
  gem 'net-smtp', '0.5.1'
61
61
  gem 'nexpose', '7.3.0'
62
- gem 'nokogiri', '1.19.1'
62
+ gem 'nokogiri', '1.19.2'
63
63
  gem 'nokogiri-diff', '0.3.0'
64
64
  gem 'oily_png', '1.2.1'
65
65
  gem 'open3', '0.2.1'
@@ -81,7 +81,7 @@ gem 'rmagick', '6.2.0'
81
81
  gem 'rqrcode', '3.2.0'
82
82
  gem 'rspec', '3.13.2'
83
83
  gem 'rtesseract', '3.1.4'
84
- gem 'rubocop', '1.85.1'
84
+ gem 'rubocop', '1.86.0'
85
85
  gem 'rubocop-rake', '0.7.1'
86
86
  gem 'rubocop-rspec', '3.9.0'
87
87
  gem 'ruby-audio', '1.6.1'
@@ -89,12 +89,12 @@ gem 'ruby-nmap', '1.0.3'
89
89
  gem 'ruby-saml', '1.18.1'
90
90
  gem 'rvm', '1.11.3.9'
91
91
  gem 'savon', '2.15.1'
92
- gem 'selenium-devtools', '0.143.0'
92
+ gem 'selenium-devtools', '0.145.0'
93
93
  gem 'selenium-webdriver', '4.41.0'
94
94
  gem 'slack-ruby-client', '3.1.0'
95
95
  gem 'socksify', '1.8.1'
96
96
  gem 'spreadsheet', '1.3.4'
97
- gem 'sqlite3', '2.9.1'
97
+ gem 'sqlite3', '2.9.2'
98
98
  gem 'thin', '2.0.1'
99
99
  gem 'tty-prompt', '0.23.1'
100
100
  gem 'tty-spinner', '0.9.3'
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.550]:001 >>> PWN.help
40
+ pwn[v0.5.552]: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)
@@ -52,7 +52,7 @@ $ rvm use ruby-4.0.1@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.5.550]:001 >>> PWN.help
55
+ pwn[v0.5.552]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
  If you're using a multi-user install of RVM do:
@@ -62,7 +62,7 @@ $ rvm use ruby-4.0.1@pwn
62
62
  $ rvmsudo gem uninstall --all --executables pwn
63
63
  $ rvmsudo gem install --verbose pwn
64
64
  $ pwn
65
- pwn[v0.5.550]:001 >>> PWN.help
65
+ pwn[v0.5.552]: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:
@@ -3,6 +3,7 @@
3
3
  require 'base64'
4
4
  require 'json'
5
5
  require 'socket'
6
+ require 'tempfile'
6
7
  require 'uri'
7
8
  require 'yaml'
8
9
 
@@ -89,14 +90,22 @@ module PWN
89
90
  end
90
91
 
91
92
  default_http_ports = [80, 443]
93
+ offset = 0
94
+ limit = 200
95
+
92
96
  loop do
93
97
  # TODO: Implement repeater into the loop? This reduces load to LLM but is slooow.
94
98
  # Repeater should analyze the reqesut/response pair and suggest
95
99
  # modifications to the request to further probe for vulnerabilities _quickly_.
96
100
  case type
97
101
  when :proxy_history
98
- sitemap = get_sitemap(burp_obj: burp_obj)
99
- proxy_history = get_proxy_history(burp_obj: burp_obj)
102
+ proxy_history = get_proxy_history(
103
+ burp_obj: burp_obj,
104
+ limit: limit,
105
+ offset: offset
106
+ )
107
+
108
+ offset = 0 if proxy_history.empty?
100
109
  proxy_history.each do |entry|
101
110
  request = entry[:request]
102
111
  response = entry[:response]
@@ -114,6 +123,7 @@ module PWN
114
123
 
115
124
  # If sitemap comment and highlight color exists, use that instead of re-analyzing
116
125
  sitemap_entry = nil
126
+ sitemap = get_sitemap(burp_obj: burp_obj, uri: uri)
117
127
  if sitemap.any?
118
128
  sitemap_entry = sitemap.find do |site|
119
129
  next unless site.key?(:http_service) && site.key?(:request)
@@ -151,8 +161,12 @@ module PWN
151
161
  sleep Random.rand(30..60)
152
162
 
153
163
  when :sitemap
154
- proxy_history = get_proxy_history(burp_obj: burp_obj)
155
- sitemap = get_sitemap(burp_obj: burp_obj)
164
+ sitemap = get_sitemap(
165
+ burp_obj: burp_obj,
166
+ limit: limit,
167
+ offset: offset
168
+ )
169
+ offset = 0 if sitemap.empty?
156
170
  sitemap.each do |entry|
157
171
  request = entry[:request]
158
172
  response = entry[:response]
@@ -169,6 +183,7 @@ module PWN
169
183
  next unless entry.key?(:comment) && entry[:comment].to_s.strip.empty?
170
184
 
171
185
  proxy_history_entry = nil
186
+ proxy_history = get_proxy_history(burp_obj: burp_obj, uri: uri)
172
187
  if proxy_history.any?
173
188
  proxy_history_entry = proxy_history.find do |proxy_entry|
174
189
  next unless proxy_entry.key?(:http_service) && proxy_entry.key?(:request)
@@ -205,7 +220,12 @@ module PWN
205
220
  sleep Random.rand(60..90)
206
221
 
207
222
  when :websocket_history
208
- websocket_history = get_websocket_history(burp_obj: burp_obj)
223
+ websocket_history = get_websocket_history(
224
+ burp_obj: burp_obj,
225
+ limit: limit,
226
+ offset: offset
227
+ )
228
+ offset = 0 if websocket_history.empty?
209
229
  websocket_history.each do |entry|
210
230
  uri = entry[:url]
211
231
  next unless in_scope(burp_obj: burp_obj, uri: uri)
@@ -235,15 +255,18 @@ module PWN
235
255
  end
236
256
  sleep Random.rand(3..10)
237
257
  end
258
+ offset += limit
238
259
  end
239
260
  rescue Errno::ECONNREFUSED
240
261
  puts "BurpSuite:#{type} AI Introspection Thread >>> Terminating API Calls..."
241
262
  rescue StandardError => e
242
263
  puts "BurpSuite AI Introspection Thread Error: #{e}"
243
264
  puts e.backtrace
265
+ backtrace_file = Tempfile.new(["PWN_Plugins_BurpSuite_AI_Thread-#{type}", '.log'])
266
+ backtrace_file.write("#{e}\n#{e.backtrace.join("\n")}")
244
267
  raise e
245
268
  ensure
246
- puts "BurpSuite:#{type} AI Introspection Thread >>> Goodbye."
269
+ puts "BurpSuite: #{type} AI Introspection Thread >>> Goodbye."
247
270
  end
248
271
 
249
272
  burp_obj[:introspection_threads] = introspection_thread_arr.push(introspection_thread)
@@ -589,6 +612,9 @@ module PWN
589
612
  # Supported Method Parameters::
590
613
  # json_proxy_history = PWN::Plugins::BurpSuite.get_proxy_history(
591
614
  # burp_obj: 'required - burp_obj returned by #start method',
615
+ # limit: 'optional - number of proxy history entries to return (default: 200)',
616
+ # offset: 'optional - offset for pagination of proxy history entries (default: 0)',
617
+ # uri: 'optional - filter proxy history entries by URI (default: nil)',
592
618
  # keyword: 'optional - keyword to filter proxy history entries (default: nil)',
593
619
  # return_as: 'optional - :base64 or :har (defaults to :base64)'
594
620
  # )
@@ -597,10 +623,19 @@ module PWN
597
623
  burp_obj = opts[:burp_obj]
598
624
  rest_browser = burp_obj[:rest_browser]
599
625
  mitm_rest_api = burp_obj[:mitm_rest_api]
626
+
627
+ limit = opts[:limit] ||= 200
628
+ offset = opts[:offset] ||= 0
629
+ uri = opts[:uri]
600
630
  keyword = opts[:keyword]
601
631
  return_as = opts[:return_as] ||= :base64
602
632
 
603
- rest_call = "http://#{mitm_rest_api}/proxy/history"
633
+ if uri.nil?
634
+ rest_call = "http://#{mitm_rest_api}/proxy/history?limit=#{limit}&offset=#{offset}"
635
+ else
636
+ base64_encoded_uri = Base64.strict_encode64(uri.to_s.scrub.strip.chomp)
637
+ rest_call = "http://#{mitm_rest_api}/proxy/history/#{base64_encoded_uri}?limit=#{limit}&offset=#{offset}"
638
+ end
604
639
 
605
640
  sitemap = rest_browser.get(
606
641
  rest_call,
@@ -807,6 +842,8 @@ module PWN
807
842
  # Supported Method Parameters::
808
843
  # json_web_socket_history = PWN::Plugins::BurpSuite.get_websocket_history(
809
844
  # burp_obj: 'required - burp_obj returned by #start method',
845
+ # limit: 'optional - number of websocket history entries to return (default: 200)',
846
+ # offset: 'optional - offset for pagination of websocket history entries (default: 0)',
810
847
  # keyword: 'optional - keyword to filter websocket history entries (default: nil)'
811
848
  # )
812
849
 
@@ -814,9 +851,12 @@ module PWN
814
851
  burp_obj = opts[:burp_obj]
815
852
  rest_browser = burp_obj[:rest_browser]
816
853
  mitm_rest_api = burp_obj[:mitm_rest_api]
854
+
855
+ limit = opts[:limit] ||= 200
856
+ offset = opts[:offset] ||= 0
817
857
  keyword = opts[:keyword]
818
858
 
819
- rest_call = "http://#{mitm_rest_api}/websocket/history"
859
+ rest_call = "http://#{mitm_rest_api}/websocket/history?limit=#{limit}&offset=#{offset}"
820
860
 
821
861
  sitemap = rest_browser.get(
822
862
  rest_call,
@@ -878,6 +918,9 @@ module PWN
878
918
  # Supported Method Parameters::
879
919
  # json_sitemap = PWN::Plugins::BurpSuite.get_sitemap(
880
920
  # burp_obj: 'required - burp_obj returned by #start method',
921
+ # limit: 'optional - number of sitemap entries to return (default: 200)',
922
+ # offset: 'optional - offset for pagination of sitemap entries (default: 0)',
923
+ # uri: 'optional - URI to filter sitemap entries (default: nil)',
881
924
  # keyword: 'optional - keyword to filter sitemap entries (default: nil)',
882
925
  # return_as: 'optional - :base64 or :har (defaults to :base64)'
883
926
  # )
@@ -886,10 +929,19 @@ module PWN
886
929
  burp_obj = opts[:burp_obj]
887
930
  rest_browser = burp_obj[:rest_browser]
888
931
  mitm_rest_api = burp_obj[:mitm_rest_api]
932
+
933
+ limit = opts[:limit] ||= 200
934
+ offset = opts[:offset] ||= 0
935
+ uri = opts[:uri]
889
936
  keyword = opts[:keyword]
890
937
  return_as = opts[:return_as] ||= :base64
891
938
 
892
- rest_call = "http://#{mitm_rest_api}/sitemap"
939
+ if uri.nil?
940
+ rest_call = "http://#{mitm_rest_api}/sitemap?limit=#{limit}&offset=#{offset}"
941
+ else
942
+ base64_encoded_uri = Base64.strict_encode64(uri.to_s.scrub.strip.chomp)
943
+ rest_call = "http://#{mitm_rest_api}/sitemap/#{base64_encoded_uri}?limit=#{limit}&offset=#{offset}"
944
+ end
893
945
 
894
946
  sitemap = rest_browser.get(
895
947
  rest_call,
@@ -1611,7 +1663,7 @@ module PWN
1611
1663
  target_port = URI.parse(target_url).port.to_i
1612
1664
  active_scan_url_arr = []
1613
1665
 
1614
- json_sitemap = get_sitemap(burp_obj: burp_obj, target_url: target_url)
1666
+ json_sitemap = get_sitemap(burp_obj: burp_obj, url: target_url)
1615
1667
  json_sitemap.uniq.each do |site|
1616
1668
  # Skip if the site does not have a request or http_service
1617
1669
  next if site[:request].empty?
@@ -2058,6 +2110,9 @@ module PWN
2058
2110
 
2059
2111
  json_proxy_history = #{self}.get_proxy_history(
2060
2112
  burp_obj: 'required - burp_obj returned by #start method',
2113
+ limit: 'optional - integer to limit number of proxy history entries returned (default: 200)',
2114
+ offset: 'optional - integer to offset proxy history results (default: 0)',
2115
+ uri: 'optional - URI to filter proxy history results (default: nil)',
2061
2116
  keyword: 'optional - keyword to filter proxy history results (default: nil)',
2062
2117
  return_as: 'optional - :base64 or :har (defaults to :base64)'
2063
2118
  )
@@ -2069,6 +2124,8 @@ module PWN
2069
2124
 
2070
2125
  json_proxy_history = #{self}.get_websocket_history(
2071
2126
  burp_obj: 'required - burp_obj returned by #start method',
2127
+ limit: 'optional - integer to limit number of websocket history entries returned (default: 200)',
2128
+ offset: 'optional - integer to offset websocket history results (default: 0)',
2072
2129
  keyword: 'optional - keyword to filter websocket history results (default: nil)'
2073
2130
  )
2074
2131
 
@@ -2079,6 +2136,9 @@ module PWN
2079
2136
 
2080
2137
  json_sitemap = #{self}.get_sitemap(
2081
2138
  burp_obj: 'required - burp_obj returned by #start method',
2139
+ limit: 'optional - integer to limit number of sitemap entries returned (default: 200)',
2140
+ offset: 'optional - integer to offset sitemap results (default: 0)',
2141
+ uri: 'optional - URI to filter sitemap results (default: nil)',
2082
2142
  keyword: 'optional - keyword to filter sitemap results (default: nil)',
2083
2143
  return_as: 'optional - :base64 or :har (defaults to :base64)'
2084
2144
  )
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.550'
4
+ VERSION = '0.5.552'
5
5
  end
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.550
4
+ version: 0.5.552
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - "<"
17
17
  - !ruby/object:Gem::Version
18
- version: 8.1.2
18
+ version: 8.1.3
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "<"
24
24
  - !ruby/object:Gem::Version
25
- version: 8.1.2
25
+ version: 8.1.3
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: anemone
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -141,14 +141,14 @@ dependencies:
141
141
  requirements:
142
142
  - - ">="
143
143
  - !ruby/object:Gem::Version
144
- version: 4.0.7
144
+ version: 4.0.9
145
145
  type: :development
146
146
  prerelease: false
147
147
  version_requirements: !ruby/object:Gem::Requirement
148
148
  requirements:
149
149
  - - ">="
150
150
  - !ruby/object:Gem::Version
151
- version: 4.0.7
151
+ version: 4.0.9
152
152
  - !ruby/object:Gem::Dependency
153
153
  name: bundler-audit
154
154
  requirement: !ruby/object:Gem::Requirement
@@ -295,14 +295,14 @@ dependencies:
295
295
  requirements:
296
296
  - - '='
297
297
  - !ruby/object:Gem::Version
298
- version: 1.17.3
298
+ version: 1.17.4
299
299
  type: :runtime
300
300
  prerelease: false
301
301
  version_requirements: !ruby/object:Gem::Requirement
302
302
  requirements:
303
303
  - - '='
304
304
  - !ruby/object:Gem::Version
305
- version: 1.17.3
305
+ version: 1.17.4
306
306
  - !ruby/object:Gem::Dependency
307
307
  name: gdb
308
308
  requirement: !ruby/object:Gem::Requirement
@@ -533,28 +533,28 @@ dependencies:
533
533
  requirements:
534
534
  - - '='
535
535
  - !ruby/object:Gem::Version
536
- version: 0.8.0
536
+ version: 0.9.2
537
537
  type: :runtime
538
538
  prerelease: false
539
539
  version_requirements: !ruby/object:Gem::Requirement
540
540
  requirements:
541
541
  - - '='
542
542
  - !ruby/object:Gem::Version
543
- version: 0.8.0
543
+ version: 0.9.2
544
544
  - !ruby/object:Gem::Dependency
545
545
  name: meshtastic
546
546
  requirement: !ruby/object:Gem::Requirement
547
547
  requirements:
548
548
  - - '='
549
549
  - !ruby/object:Gem::Version
550
- version: 0.0.157
550
+ version: 0.0.158
551
551
  type: :runtime
552
552
  prerelease: false
553
553
  version_requirements: !ruby/object:Gem::Requirement
554
554
  requirements:
555
555
  - - '='
556
556
  - !ruby/object:Gem::Version
557
- version: 0.0.157
557
+ version: 0.0.158
558
558
  - !ruby/object:Gem::Dependency
559
559
  name: metasm
560
560
  requirement: !ruby/object:Gem::Requirement
@@ -673,14 +673,14 @@ dependencies:
673
673
  requirements:
674
674
  - - '='
675
675
  - !ruby/object:Gem::Version
676
- version: 1.19.1
676
+ version: 1.19.2
677
677
  type: :runtime
678
678
  prerelease: false
679
679
  version_requirements: !ruby/object:Gem::Requirement
680
680
  requirements:
681
681
  - - '='
682
682
  - !ruby/object:Gem::Version
683
- version: 1.19.1
683
+ version: 1.19.2
684
684
  - !ruby/object:Gem::Dependency
685
685
  name: nokogiri-diff
686
686
  requirement: !ruby/object:Gem::Requirement
@@ -981,14 +981,14 @@ dependencies:
981
981
  requirements:
982
982
  - - '='
983
983
  - !ruby/object:Gem::Version
984
- version: 1.85.1
984
+ version: 1.86.0
985
985
  type: :runtime
986
986
  prerelease: false
987
987
  version_requirements: !ruby/object:Gem::Requirement
988
988
  requirements:
989
989
  - - '='
990
990
  - !ruby/object:Gem::Version
991
- version: 1.85.1
991
+ version: 1.86.0
992
992
  - !ruby/object:Gem::Dependency
993
993
  name: rubocop-rake
994
994
  requirement: !ruby/object:Gem::Requirement
@@ -1093,14 +1093,14 @@ dependencies:
1093
1093
  requirements:
1094
1094
  - - '='
1095
1095
  - !ruby/object:Gem::Version
1096
- version: 0.143.0
1096
+ version: 0.145.0
1097
1097
  type: :runtime
1098
1098
  prerelease: false
1099
1099
  version_requirements: !ruby/object:Gem::Requirement
1100
1100
  requirements:
1101
1101
  - - '='
1102
1102
  - !ruby/object:Gem::Version
1103
- version: 0.143.0
1103
+ version: 0.145.0
1104
1104
  - !ruby/object:Gem::Dependency
1105
1105
  name: selenium-webdriver
1106
1106
  requirement: !ruby/object:Gem::Requirement
@@ -1163,14 +1163,14 @@ dependencies:
1163
1163
  requirements:
1164
1164
  - - '='
1165
1165
  - !ruby/object:Gem::Version
1166
- version: 2.9.1
1166
+ version: 2.9.2
1167
1167
  type: :runtime
1168
1168
  prerelease: false
1169
1169
  version_requirements: !ruby/object:Gem::Requirement
1170
1170
  requirements:
1171
1171
  - - '='
1172
1172
  - !ruby/object:Gem::Version
1173
- version: 2.9.1
1173
+ version: 2.9.2
1174
1174
  - !ruby/object:Gem::Dependency
1175
1175
  name: thin
1176
1176
  requirement: !ruby/object:Gem::Requirement
@@ -2483,7 +2483,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2483
2483
  - !ruby/object:Gem::Version
2484
2484
  version: '0'
2485
2485
  requirements: []
2486
- rubygems_version: 4.0.7
2486
+ rubygems_version: 4.0.9
2487
2487
  specification_version: 4
2488
2488
  summary: Automated Security Testing for CI/CD Pipelines & Beyond
2489
2489
  test_files: []