pwn 0.5.549 → 0.5.550

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: 4a49d7954811a03a2ce8a53a780306e1c9ba64274b7adc9431b1ded146f57142
4
- data.tar.gz: 4a8586c914e576b038b4dc29cdd903d8d2b5f6529ff9edd28aa3b19e39e6cd14
3
+ metadata.gz: 2a74ded9ce97c06a9d9351d25abdb3a2a0410d5131f8e63936c6e9432c1ab56d
4
+ data.tar.gz: 1983a6472a848c7c33f8de30d5c355e28056c5eb847cfab77a6894ee1d98d45f
5
5
  SHA512:
6
- metadata.gz: 341309e87c6e5a865e29e245b961bb6a59568ef0eaccb9d253a30a5627f7187aef65a00040409cd12a8287d5054b4aaec6e1e17c8f70ba2dcfd52e09c2c06f92
7
- data.tar.gz: 5fdeed08de40e3e3fd9dd43c1d8bbc7e56d1c06ad299ab646d370a9f7f89dd478f46e2cfb1e16b4357d7c71e0bbe7a0e10b64e94cc4cbcb51e5d63d1b2c0f41c
6
+ metadata.gz: 9e858bf97b28a1e9a989d52d0ff92c03ed23c6134381817d56e752cf04c27e935b91ecb8283ac242acf2708fa8b075d1b4e5af33f0becad70a793a59b9e8e4f3
7
+ data.tar.gz: e9e07591011448b93f47289b709c3df0545808a4aeb2309ef689f9fd59d4503b7e02c99496e22ec4e34f1f86d206749fe5b57c21f9536fa519ddfebd9f28d0f9
data/Gemfile CHANGED
@@ -25,11 +25,11 @@ 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.5.3'
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.0'
32
+ gem 'faker', '3.6.1'
33
33
  gem 'faye-websocket', '0.12.0'
34
34
  gem 'ffi', '1.17.3'
35
35
  # gem 'fftw3', '0.3'
@@ -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.7.1'
53
- gem 'meshtastic', '0.0.156'
52
+ gem 'mcp', '0.8.0'
53
+ gem 'meshtastic', '0.0.157'
54
54
  gem 'metasm', '1.0.5'
55
55
  gem 'mongo', '2.23.0'
56
56
  gem 'msfrpc-client', '1.1.2'
@@ -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.0'
84
+ gem 'rubocop', '1.85.1'
85
85
  gem 'rubocop-rake', '0.7.1'
86
86
  gem 'rubocop-rspec', '3.9.0'
87
87
  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.549]:001 >>> PWN.help
40
+ pwn[v0.5.550]: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.549]:001 >>> PWN.help
55
+ pwn[v0.5.550]: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.549]:001 >>> PWN.help
65
+ pwn[v0.5.550]: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
  "
@@ -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
  "
@@ -71,6 +71,9 @@ module PWN
71
71
 
72
72
  public_class_method def self.help
73
73
  puts "USAGE:
74
+ ai_analysis = PWN::AI::Agent::BurpSuite.analyze(
75
+ request: 'required HTTP request/response pair or WebSocket message as a string'
76
+ )
74
77
 
75
78
  #{self}.authors
76
79
  "
@@ -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
  "
@@ -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
- system_role_content = '
18
- _ALWAYS_ Generate markdown security findings for the message provided with the following content:
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
  "
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.549'
4
+ VERSION = '0.5.550'
5
5
  end
@@ -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.549
4
+ version: 0.5.550
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
@@ -211,14 +211,14 @@ dependencies:
211
211
  requirements:
212
212
  - - '='
213
213
  - !ruby/object:Gem::Version
214
- version: 1.5.3
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.5.3
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.0
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.0
277
+ version: 3.6.1
278
278
  - !ruby/object:Gem::Dependency
279
279
  name: faye-websocket
280
280
  requirement: !ruby/object:Gem::Requirement
@@ -533,28 +533,28 @@ dependencies:
533
533
  requirements:
534
534
  - - '='
535
535
  - !ruby/object:Gem::Version
536
- version: 0.7.1
536
+ version: 0.8.0
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.7.1
543
+ version: 0.8.0
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.156
550
+ version: 0.0.157
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.156
557
+ version: 0.0.157
558
558
  - !ruby/object:Gem::Dependency
559
559
  name: metasm
560
560
  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.0
984
+ version: 1.85.1
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.0
991
+ version: 1.85.1
992
992
  - !ruby/object:Gem::Dependency
993
993
  name: rubocop-rake
994
994
  requirement: !ruby/object:Gem::Requirement