pwn 0.5.549 → 0.5.551
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 +4 -4
- data/Gemfile +11 -11
- data/README.md +3 -3
- data/lib/pwn/ai/agent/assembly.rb +6 -0
- data/lib/pwn/ai/agent/btc.rb +3 -0
- data/lib/pwn/ai/agent/burp_suite.rb +3 -0
- data/lib/pwn/ai/agent/gqrx.rb +4 -0
- data/lib/pwn/ai/agent/hacker_one.rb +4 -0
- data/lib/pwn/ai/agent/sast.rb +3 -0
- data/lib/pwn/ai/agent/transparent_browser.rb +4 -0
- data/lib/pwn/ai/agent/vuln_gen.rb +27 -4
- data/lib/pwn/plugins/burp_suite.rb +4 -1
- data/lib/pwn/version.rb +1 -1
- data/third_party/pwn_rdoc.jsonl +1 -1
- metadata +24 -24
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0e0aad93e7d83b22a576c3ee41b5d804daf4fdfd21ac0711ac502b8703d18891
|
|
4
|
+
data.tar.gz: c2fc43c97a06e96a908899d28092a73f4ed39c0f73fc01d5f5525ecb4d930dc0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b7d2eda4eb05ecccdd31f7725d3c63da7e9190ec36d4559f959d538f929704305b7b9143e88aff63c68a4593a60c0ef9e5f5df395255540e501c6495623e3d42
|
|
7
|
+
data.tar.gz: 0bc1a8ba361fe00580d0bbe9405ee97387bb6ac9edf118fedb3206a7bd776d3a438722dde482085013e1631888767c74680825b5c342149d086ff36adde61212
|
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.
|
|
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,18 +20,18 @@ 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.
|
|
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'
|
|
27
27
|
gem 'credit_card_validations', '8.0.0'
|
|
28
|
-
gem 'curses', '1.
|
|
28
|
+
gem 'curses', '1.6.0'
|
|
29
29
|
gem 'diffy', '3.4.4'
|
|
30
30
|
gem 'eventmachine', '1.2.7'
|
|
31
31
|
gem 'executable-hooks', '1.7.1'
|
|
32
|
-
gem 'faker', '3.6.
|
|
32
|
+
gem 'faker', '3.6.1'
|
|
33
33
|
gem 'faye-websocket', '0.12.0'
|
|
34
|
-
gem 'ffi', '1.17.
|
|
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.
|
|
53
|
-
gem 'meshtastic', '0.0.
|
|
52
|
+
gem 'mcp', '0.9.1'
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
40
|
+
pwn[v0.5.551]:001 >>> PWN.help
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
[](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.
|
|
55
|
+
pwn[v0.5.551]: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.
|
|
65
|
+
pwn[v0.5.551]: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:
|
|
@@ -56,6 +56,12 @@ module PWN
|
|
|
56
56
|
|
|
57
57
|
public_class_method def self.help
|
|
58
58
|
puts "USAGE:
|
|
59
|
+
ai_analysis = PWN::AI::Agent::Assembly.analyze(
|
|
60
|
+
request: 'required - the assembly opcodes or instructions to be analyzed',
|
|
61
|
+
type: 'required - :opcodes_to_asm|:asm_to_opcodes - specify the type of analysis to perform',
|
|
62
|
+
arch: 'required - name of arch returned from `PWN::Plugins::Assembly.list_supported_archs` (e.g., :i386|:i686|:x86|:x64|:arm|:arm64, etc.)',
|
|
63
|
+
endian: 'required - the endianness of the assembly code (e.g., :little|:big)'
|
|
64
|
+
)
|
|
59
65
|
|
|
60
66
|
#{self}.authors
|
|
61
67
|
"
|
data/lib/pwn/ai/agent/btc.rb
CHANGED
|
@@ -37,6 +37,9 @@ module PWN
|
|
|
37
37
|
|
|
38
38
|
public_class_method def self.help
|
|
39
39
|
puts "USAGE:
|
|
40
|
+
ai_analysis = PWN::AI::Agent::BTC.analyze(
|
|
41
|
+
request: 'required - latest block information retrieved from a bitcoin node via `PWN::Blockchain::BTC.get_latest_block`'
|
|
42
|
+
)
|
|
40
43
|
|
|
41
44
|
#{self}.authors
|
|
42
45
|
"
|
data/lib/pwn/ai/agent/gqrx.rb
CHANGED
|
@@ -41,6 +41,10 @@ module PWN
|
|
|
41
41
|
|
|
42
42
|
public_class_method def self.help
|
|
43
43
|
puts "USAGE:
|
|
44
|
+
ai_analysis = PWN::AI::Agent::GQRX.analyze(
|
|
45
|
+
request: 'required - A string containing the signal data captured by GQRX that you want to analyze. This data should be in a format that can be interpreted by the AI for analysis, such as raw signal data, frequency information, or any relevant metadata associated with the capture.',
|
|
46
|
+
location: 'required - A string containing a city, state, country, or GPS coordinates where the signal data was captured. This information will be used to provide context for the analysis and to determine if the frequency is licensed or unlicensed based on FCC records.'
|
|
47
|
+
)
|
|
44
48
|
|
|
45
49
|
#{self}.authors
|
|
46
50
|
"
|
|
@@ -51,6 +51,10 @@ module PWN
|
|
|
51
51
|
|
|
52
52
|
public_class_method def self.help
|
|
53
53
|
puts "USAGE:
|
|
54
|
+
ai_analysis = PWN::AI::Agent::HackerOne.analyze(
|
|
55
|
+
request: 'required - dataset to analyze, such as bounty program details, scope details, or hacktivity details'
|
|
56
|
+
type: 'required - type of analysis to perform, such as :bounty_programs, :scope_details, or :hacktivity'
|
|
57
|
+
)
|
|
54
58
|
|
|
55
59
|
#{self}.authors
|
|
56
60
|
"
|
data/lib/pwn/ai/agent/sast.rb
CHANGED
|
@@ -37,6 +37,9 @@ module PWN
|
|
|
37
37
|
|
|
38
38
|
public_class_method def self.help
|
|
39
39
|
puts "USAGE:
|
|
40
|
+
ai_analysis = PWN::AI::Agent::SAST.analyze(
|
|
41
|
+
request: 'required - A string containing the source code snippet to be analyzed for SAST antipatterns and vulnerabilities.'
|
|
42
|
+
)
|
|
40
43
|
|
|
41
44
|
#{self}.authors
|
|
42
45
|
"
|
|
@@ -41,6 +41,10 @@ module PWN
|
|
|
41
41
|
|
|
42
42
|
public_class_method def self.help
|
|
43
43
|
puts "USAGE:
|
|
44
|
+
ai_analysis = PWN::AI::Agent::TransparentBrowser.analyze(
|
|
45
|
+
request: 'required - current step in the JavaScript debugging session to analyze',
|
|
46
|
+
source_to_review: 'required - the block of JavaScript code in which the current step resides'
|
|
47
|
+
)
|
|
44
48
|
|
|
45
49
|
#{self}.authors
|
|
46
50
|
"
|
|
@@ -7,15 +7,34 @@ module PWN
|
|
|
7
7
|
module VulnGen
|
|
8
8
|
# Supported Method Parameters::
|
|
9
9
|
# ai_analysis = PWN::AI::Agent::VulnGen.analyze(
|
|
10
|
-
# request: 'required - high level description of vulnerability discovered (e.g. "Discovered a SQLi vulnerability in /login"'
|
|
10
|
+
# request: 'required - high level description of vulnerability discovered (e.g. "Discovered a SQLi vulnerability in /login"',
|
|
11
|
+
# markup_type: 'optional - specify the type of markup to generate :jira|:markdown|:html|:confluence|:xml (default: :jira)'
|
|
11
12
|
# )
|
|
12
13
|
|
|
13
14
|
public_class_method def self.analyze(opts = {})
|
|
14
15
|
request = opts[:request]
|
|
15
16
|
raise 'ERROR: request parameter is required' if request.nil? || request.empty?
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
markup_type = opts[:markup_type] ||= :jira
|
|
19
|
+
|
|
20
|
+
markup = ''
|
|
21
|
+
case markup_type
|
|
22
|
+
when :jira
|
|
23
|
+
markup = 'Jira Wiki Markup'
|
|
24
|
+
when :markdown
|
|
25
|
+
markup = 'Markdown'
|
|
26
|
+
when :html
|
|
27
|
+
markup = 'HTML'
|
|
28
|
+
when :confluence
|
|
29
|
+
markup = 'Confluence Wiki Markup'
|
|
30
|
+
when :xml
|
|
31
|
+
markup = 'XML'
|
|
32
|
+
else
|
|
33
|
+
raise "ERROR: Unsupported markup_type '#{markup_type}'. Supported types are :jira, :markdown, :html, :confluence, :xml."
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
system_role_content = "
|
|
37
|
+
_ALWAYS_ Generate #{markup} security findings for the message provided with the following content:
|
|
19
38
|
|
|
20
39
|
1. Detailed Finding Description: This should be a deep, detailed technical description that should include exploit proof-of-concepts when possible.
|
|
21
40
|
|
|
@@ -28,7 +47,7 @@ module PWN
|
|
|
28
47
|
5. CWE Category, Brief CWE description, and CWE URI
|
|
29
48
|
|
|
30
49
|
6. NIST 800-53 Security Control that is impacted by this vulnerability.
|
|
31
|
-
|
|
50
|
+
"
|
|
32
51
|
|
|
33
52
|
PWN::AI::Introspection.reflect_on(
|
|
34
53
|
system_role_content: system_role_content,
|
|
@@ -51,6 +70,10 @@ module PWN
|
|
|
51
70
|
|
|
52
71
|
public_class_method def self.help
|
|
53
72
|
puts "USAGE:
|
|
73
|
+
ai_analysis = #{self}.analyze(
|
|
74
|
+
request: 'required - high level description of vulnerability discovered (e.g. \"Discovered a SQLi vulnerability in /login\"',
|
|
75
|
+
markup_type: 'optional - specify the type of markup to generate :jira|:markdown|:html|:confluence|:xml (default: :jira)'
|
|
76
|
+
)
|
|
54
77
|
|
|
55
78
|
#{self}.authors
|
|
56
79
|
"
|
|
@@ -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
|
|
|
@@ -241,9 +242,11 @@ module PWN
|
|
|
241
242
|
rescue StandardError => e
|
|
242
243
|
puts "BurpSuite AI Introspection Thread Error: #{e}"
|
|
243
244
|
puts e.backtrace
|
|
245
|
+
backtrace_file = Tempfile.new(["PWN_Plugins_BurpSuite_AI_Thread-#{type}", '.log'])
|
|
246
|
+
backtrace_file.write("#{e}\n#{e.backtrace.join("\n")}")
|
|
244
247
|
raise e
|
|
245
248
|
ensure
|
|
246
|
-
puts "BurpSuite
|
|
249
|
+
puts "BurpSuite: #{type} AI Introspection Thread >>> Goodbye."
|
|
247
250
|
end
|
|
248
251
|
|
|
249
252
|
burp_obj[:introspection_threads] = introspection_thread_arr.push(introspection_thread)
|
data/lib/pwn/version.rb
CHANGED
data/third_party/pwn_rdoc.jsonl
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
{"messages":[{"role":"user","content":"PWN::AI::Agent::TransparentBrowser.analyze Usage"},{"role":"assistant","content":"`PWN::AI::Agent::TransparentBrowser.analyze`: Supported Method Parameters\n\nai_analysis = PWN::AI::Agent::TransparentBrowser.analyze(\n\nrequest: 'required - current step in the JavaScript debugging session to analyze',\nsource_to_review: 'required - the block of JavaScript code in which the current step resides'\n\n)\n"}]}
|
|
23
23
|
{"messages":[{"role":"user","content":"PWN::AI::Agent::TransparentBrowser.authors Usage"},{"role":"assistant","content":"`PWN::AI::Agent::TransparentBrowser.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
|
|
24
24
|
{"messages":[{"role":"user","content":"PWN::AI::Agent::TransparentBrowser.help Usage"},{"role":"assistant","content":"`PWN::AI::Agent::TransparentBrowser.help`: "}]}
|
|
25
|
-
{"messages":[{"role":"user","content":"PWN::AI::Agent::VulnGen.analyze Usage"},{"role":"assistant","content":"`PWN::AI::Agent::VulnGen.analyze`: Supported Method Parameters\n\nai_analysis = PWN::AI::Agent::VulnGen.analyze(\n\nrequest: 'required - high level description of vulnerability discovered (e.g. \"Discovered a SQLi vulnerability in /login\"'\n\n)\n"}]}
|
|
25
|
+
{"messages":[{"role":"user","content":"PWN::AI::Agent::VulnGen.analyze Usage"},{"role":"assistant","content":"`PWN::AI::Agent::VulnGen.analyze`: Supported Method Parameters\n\nai_analysis = PWN::AI::Agent::VulnGen.analyze(\n\nrequest: 'required - high level description of vulnerability discovered (e.g. \"Discovered a SQLi vulnerability in /login\"',\nmarkup_type: 'optional - specify the type of markup to generate :jira|:markdown|:html|:confluence|:xml (default: :jira)'\n\n)\n"}]}
|
|
26
26
|
{"messages":[{"role":"user","content":"PWN::AI::Agent::VulnGen.authors Usage"},{"role":"assistant","content":"`PWN::AI::Agent::VulnGen.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
|
|
27
27
|
{"messages":[{"role":"user","content":"PWN::AI::Agent::VulnGen.help Usage"},{"role":"assistant","content":"`PWN::AI::Agent::VulnGen.help`: "}]}
|
|
28
28
|
{"messages":[{"role":"user","content":"PWN::AI::Grok.authors Usage"},{"role":"assistant","content":"`PWN::AI::Grok.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\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.
|
|
4
|
+
version: 0.5.551
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
151
|
+
version: 4.0.9
|
|
152
152
|
- !ruby/object:Gem::Dependency
|
|
153
153
|
name: bundler-audit
|
|
154
154
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -211,14 +211,14 @@ dependencies:
|
|
|
211
211
|
requirements:
|
|
212
212
|
- - '='
|
|
213
213
|
- !ruby/object:Gem::Version
|
|
214
|
-
version: 1.
|
|
214
|
+
version: 1.6.0
|
|
215
215
|
type: :runtime
|
|
216
216
|
prerelease: false
|
|
217
217
|
version_requirements: !ruby/object:Gem::Requirement
|
|
218
218
|
requirements:
|
|
219
219
|
- - '='
|
|
220
220
|
- !ruby/object:Gem::Version
|
|
221
|
-
version: 1.
|
|
221
|
+
version: 1.6.0
|
|
222
222
|
- !ruby/object:Gem::Dependency
|
|
223
223
|
name: diffy
|
|
224
224
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -267,14 +267,14 @@ dependencies:
|
|
|
267
267
|
requirements:
|
|
268
268
|
- - '='
|
|
269
269
|
- !ruby/object:Gem::Version
|
|
270
|
-
version: 3.6.
|
|
270
|
+
version: 3.6.1
|
|
271
271
|
type: :runtime
|
|
272
272
|
prerelease: false
|
|
273
273
|
version_requirements: !ruby/object:Gem::Requirement
|
|
274
274
|
requirements:
|
|
275
275
|
- - '='
|
|
276
276
|
- !ruby/object:Gem::Version
|
|
277
|
-
version: 3.6.
|
|
277
|
+
version: 3.6.1
|
|
278
278
|
- !ruby/object:Gem::Dependency
|
|
279
279
|
name: faye-websocket
|
|
280
280
|
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.
|
|
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.
|
|
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.
|
|
536
|
+
version: 0.9.1
|
|
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.
|
|
543
|
+
version: 0.9.1
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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: []
|