pwn 0.5.446 → 0.5.447

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: a44431b941955353c7b0926e584ee754f3ef4cf02a22590dddf0613e4436545e
4
- data.tar.gz: d7f6286a33c71a051ac1f06e688c4e81974e0dbac83fca90834945df08e1de6a
3
+ metadata.gz: e9a181923fbe82cb42f983b6297b0f16898ab64bf5189f1a0a5f727bb507f0be
4
+ data.tar.gz: ef102ca4eaf9af0c1a454f9a94dba4bcd25b8f5cf7f9e810c2f7877a84c39864
5
5
  SHA512:
6
- metadata.gz: d7b633237440b907fa46d66526d80b403c5e30649aa8411d5e39d1dcabe24f7fe5db4010c120994daef10b5ff6ae61c28865d9327bfd27c29d2987add8bf6b07
7
- data.tar.gz: 01f0763257fd3e7f8404d0d5d2eadb08b5a50c5eb539f8d2eed70fe104b2f54c6cca65c46c2da2a55152a5c6fed5ca2acfc7a497b55c1d9eaa02e412495bb039
6
+ metadata.gz: 8fdbadc32ceaa6384430f75ceeb9c5ada8e8fea9e0be1ce2ecbc4defaeaba5d471a921333ec8d68383d6c36db275cf00e5051aed090c4d24320046cccbae7f35
7
+ data.tar.gz: 03bd251fb01de1e509d6a638060fdd57e03d781ef0430e7cf077c90a6e734045460661a49a308677ee19dfebc28b93321925a605c1bc241858f2f54891b0dab9
data/.rubocop_todo.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2025-10-08 18:25:54 UTC using RuboCop version 1.81.1.
3
+ # on 2025-10-08 21:02:36 UTC using RuboCop version 1.81.1.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
@@ -66,9 +66,10 @@ Metrics/ModuleLength:
66
66
  Exclude:
67
67
  - 'lib/pwn/plugins/android.rb'
68
68
 
69
- # Offense count: 2
69
+ # Offense count: 3
70
70
  Naming/AccessorMethodName:
71
71
  Exclude:
72
+ - 'lib/pwn/blockchain/btc.rb'
72
73
  - 'lib/pwn/plugins/vin.rb'
73
74
 
74
75
  # Offense count: 1
@@ -83,7 +84,7 @@ Style/Alias:
83
84
  Style/ClassVars:
84
85
  Enabled: false
85
86
 
86
- # Offense count: 274
87
+ # Offense count: 272
87
88
  # This cop supports safe autocorrection (--autocorrect).
88
89
  # Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
89
90
  # SupportedStyles: assign_to_condition, assign_inside_condition
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.446]:001 >>> PWN.help
40
+ pwn[v0.5.447]: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-3.4.4@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.5.446]:001 >>> PWN.help
55
+ pwn[v0.5.447]: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-3.4.4@pwn
62
62
  $ rvmsudo gem uninstall --all --executables pwn
63
63
  $ rvmsudo gem install --verbose pwn
64
64
  $ pwn
65
- pwn[v0.5.446]:001 >>> PWN.help
65
+ pwn[v0.5.447]: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:
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'bitcoin'
4
3
  require 'base64'
5
4
  require 'json'
6
5
  require 'rest-client'
7
6
  require 'tty-spinner'
7
+ require 'date'
8
8
 
9
9
  module PWN
10
10
  module Blockchain
@@ -111,15 +111,12 @@ module PWN
111
111
  spin.stop if spinner
112
112
  end
113
113
 
114
- # Supported Method Parameters::
115
- # latest_block = PWN::Blockchain::BTC.get_latest_block
116
-
117
- public_class_method def self.get_latest_block
114
+ private_class_method def self.btc_rpc_call(method:, params: [])
118
115
  http_body = {
119
116
  jsonrpc: '1.0',
120
117
  id: self,
121
- method: 'getblockchaininfo',
122
- params: []
118
+ method: method,
119
+ params: params
123
120
  }
124
121
 
125
122
  response = btc_rest_call(
@@ -127,25 +124,117 @@ module PWN
127
124
  http_body: http_body
128
125
  )
129
126
 
130
- JSON.parse(response.body, symbolize_names: true)
127
+ res = JSON.parse(response.body, symbolize_names: true)
128
+ raise "RPC Error: #{res[:error][:code]} - #{res[:error][:message]}" if res[:error]
129
+
130
+ res
131
+ rescue StandardError => e
132
+ raise e
133
+ end
134
+
135
+ private_class_method def self.get_block_timestamp(height)
136
+ res = btc_rpc_call(method: 'getblockhash', params: [height])
137
+ block_hash = res[:result]
138
+
139
+ res = btc_rpc_call(method: 'getblockheader', params: [block_hash])
140
+ res[:result][:time]
141
+ end
142
+
143
+ private_class_method def self.find_first_block_ge_timestamp(target_ts)
144
+ chain_info = get_latest_block[:result]
145
+ low = 0
146
+ high = chain_info[:blocks]
147
+ result = nil
148
+ while low <= high
149
+ mid = (low + high) / 2
150
+ ts = get_block_timestamp(mid)
151
+ if ts >= target_ts
152
+ result = mid
153
+ high = mid - 1
154
+ else
155
+ low = mid + 1
156
+ end
157
+ end
158
+ result
159
+ end
160
+
161
+ private_class_method def self.find_last_block_le_timestamp(target_ts)
162
+ chain_info = get_latest_block[:result]
163
+ low = 0
164
+ high = chain_info[:blocks]
165
+ result = nil
166
+ while low <= high
167
+ mid = (low + high) / 2
168
+ ts = get_block_timestamp(mid)
169
+ if ts <= target_ts
170
+ result = mid
171
+ low = mid + 1
172
+ else
173
+ high = mid - 1
174
+ end
175
+ end
176
+ result
177
+ end
178
+
179
+ # Supported Method Parameters::
180
+ # latest_block = PWN::Blockchain::BTC.get_latest_block
181
+
182
+ public_class_method def self.get_latest_block
183
+ btc_rpc_call(method: 'getblockchaininfo', params: [])
131
184
  rescue StandardError => e
132
185
  raise e
133
186
  end
134
187
 
135
188
  # Supported Method Parameters::
136
189
  # PWN::Blockchain::BTC.get_block_details(
137
- # height: 'required - block height number',
138
- # token: 'optional - API token for higher rate limits'
190
+ # height: 'required - block height as an integer (0 for genesis block)'
139
191
  # )
140
192
  public_class_method def self.get_block_details(opts = {})
141
- height = opts[:height]
142
- params = {}
143
- params[:token] = opts[:token] if opts[:token]
193
+ height = opts[:height] ||= 0
194
+
195
+ raise 'ERROR: height must be >= 0' if height.negative?
196
+
197
+ hash_res = btc_rpc_call(method: 'getblockhash', params: [height])
198
+ block_hash = hash_res[:result]
199
+
200
+ # Verbosity 1: block details with tx IDs
201
+ block_res = btc_rpc_call(method: 'getblock', params: [block_hash, 1])
202
+
203
+ block_res[:result]
204
+ rescue StandardError => e
205
+ raise e
206
+ end
207
+
208
+ # Supported Method Parameters::
209
+ # transactions = PWN::Blockchain::BTC.get_transactions(
210
+ # from: 'required - start date in YYYY-MM-DD format',
211
+ # to: 'required - end date in YYYY-MM-DD format'
212
+ # )
213
+
214
+ public_class_method def self.get_transactions(opts = {})
215
+ from_date = opts[:from]
216
+ to_date = opts[:to]
217
+
218
+ raise ArgumentError, 'from and to dates are required' if from_date.nil? || to_date.nil?
219
+
220
+ start_ts = Date.parse(from_date).to_time.to_i
221
+ end_ts = Date.parse(to_date).to_time.to_i + 86_399 # Include the entire end day
222
+
223
+ start_height = find_first_block_ge_timestamp(start_ts)
224
+ end_height = find_last_block_le_timestamp(end_ts)
144
225
 
145
- rest_call = "main/blocks/#{height}"
146
- response = btc_rest_call(rest_call: rest_call, params: params)
226
+ txs = []
227
+ if start_height && end_height && start_height <= end_height
228
+ (start_height..end_height).each do |height|
229
+ block_hash_res = btc_rpc_call(method: 'getblockhash', params: [height])
230
+ block_hash = block_hash_res[:result]
147
231
 
148
- JSON.parse(response.body, symbolize_names: true)
232
+ block_res = btc_rpc_call(method: 'getblock', params: [block_hash, 1])
233
+ txs.concat(block_res[:result][:tx])
234
+ end
235
+ end
236
+
237
+ txs
149
238
  rescue StandardError => e
150
239
  raise e
151
240
  end
@@ -165,7 +254,12 @@ module PWN
165
254
  latest_block = #{self}.get_latest_block
166
255
 
167
256
  block_details = #{self}.get_block_details(
168
- height: 'required - block height number'
257
+ height: 'required - block height as an integer (0 for genesis block)'
258
+ )
259
+
260
+ transactions = #{self}.get_transactions(
261
+ from: 'required - start date in YYYY-MM-DD format',
262
+ to: 'required - end date in YYYY-MM-DD format'
169
263
  )
170
264
 
171
265
  #{self}.authors
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.446'
4
+ VERSION = '0.5.447'
5
5
  end
@@ -444,8 +444,13 @@
444
444
  {"messages":[{"role":"user","content":"PWN::Blockchain.help Usage"},{"role":"assistant","content":"`PWN::Blockchain.help`: "}]}
445
445
  {"messages":[{"role":"user","content":"PWN::Blockchain::BTC.authors Usage"},{"role":"assistant","content":"`PWN::Blockchain::BTC.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
446
446
  {"messages":[{"role":"user","content":"PWN::Blockchain::BTC.btc_rest_call Usage"},{"role":"assistant","content":"`PWN::Blockchain::BTC.btc_rest_call`: Supported Method Parameters\n\nbtc_rest_call(\n\nhttp_method: 'optional HTTP method (defaults to GET)\nrest_call: 'required rest call to make per the schema',\nparams: 'optional params passed in the URI or HTTP Headers',\nhttp_body: 'optional HTTP body sent in HTTP methods that support it e.g. POST',\ntimeout: 'optional timeout in seconds (defaults to 180)',\nspinner: 'optional - display spinner (defaults to false)'\n\n)\n"}]}
447
+ {"messages":[{"role":"user","content":"PWN::Blockchain::BTC.btc_rpc_call Usage"},{"role":"assistant","content":"`PWN::Blockchain::BTC.btc_rpc_call`: "}]}
448
+ {"messages":[{"role":"user","content":"PWN::Blockchain::BTC.find_first_block_ge_timestamp Usage"},{"role":"assistant","content":"`PWN::Blockchain::BTC.find_first_block_ge_timestamp`: "}]}
449
+ {"messages":[{"role":"user","content":"PWN::Blockchain::BTC.find_last_block_le_timestamp Usage"},{"role":"assistant","content":"`PWN::Blockchain::BTC.find_last_block_le_timestamp`: "}]}
447
450
  {"messages":[{"role":"user","content":"PWN::Blockchain::BTC.get_block_details Usage"},{"role":"assistant","content":"`PWN::Blockchain::BTC.get_block_details`: Supported Method Parameters\n\nPWN::Blockchain::BTC.get_block_details(\n\nheight: 'required - block height number',\ntoken: 'optional - API token for higher rate limits'\n\n)\n"}]}
451
+ {"messages":[{"role":"user","content":"PWN::Blockchain::BTC.get_block_timestamp Usage"},{"role":"assistant","content":"`PWN::Blockchain::BTC.get_block_timestamp`: "}]}
448
452
  {"messages":[{"role":"user","content":"PWN::Blockchain::BTC.get_latest_block Usage"},{"role":"assistant","content":"`PWN::Blockchain::BTC.get_latest_block`: Supported Method Parameters\n\nlatest_block = PWN::Blockchain::BTC.get_latest_block(\n\ntoken: 'optional - API token for higher rate limits'\n\n)\n"}]}
453
+ {"messages":[{"role":"user","content":"PWN::Blockchain::BTC.get_transactions Usage"},{"role":"assistant","content":"`PWN::Blockchain::BTC.get_transactions`: Supported Method Parameters\n\ntransactions = PWN::Blockchain::BTC.get_transactions(\n\nfrom: 'required - start date in YYYY-MM-DD format',\nto: 'required - end date in YYYY-MM-DD format'\n\n)\n"}]}
449
454
  {"messages":[{"role":"user","content":"PWN::Blockchain::BTC.help Usage"},{"role":"assistant","content":"`PWN::Blockchain::BTC.help`: "}]}
450
455
  {"messages":[{"role":"user","content":"PWN::Blockchain::ETH.authors Usage"},{"role":"assistant","content":"`PWN::Blockchain::ETH.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
451
456
  {"messages":[{"role":"user","content":"PWN::Blockchain::ETH.eth_rest_call Usage"},{"role":"assistant","content":"`PWN::Blockchain::ETH.eth_rest_call`: Supported Method Parameters\n\neth_rest_call(\n\nhttp_method: 'optional HTTP method (defaults to GET)\nrest_call: 'required rest call to make per the schema',\nparams: 'optional params passed in the URI or HTTP Headers',\nhttp_body: 'optional HTTP body sent in HTTP methods that support it e.g. POST',\ntimeout: 'optional timeout in seconds (defaults to 180)',\nspinner: 'optional - display spinner (defaults to false)'\n\n)\n"}]}
@@ -485,9 +490,9 @@
485
490
  {"messages":[{"role":"user","content":"PWN::Plugins::Assembly.opcodes_to_asm Usage"},{"role":"assistant","content":"`PWN::Plugins::Assembly.opcodes_to_asm`: Supported Method Parameters\n\nPWN::Plugins::Assembly.opcodes_to_asm(\n\nopcodes: 'required - hex escaped opcode(s) (e.g. \"\\x90\\x90\\x90\")',\nopcodes_always_string_obj: 'optional - always interpret opcodes passed in as a string object (defaults to false)',\narch: 'optional - architecture returned from objdump --info (defaults to PWN::Plugins::DetectOS.arch)',\nendian: 'optional - endianess :big|:little (defaults to current system endianess)'\n\n)\n"}]}
486
491
  {"messages":[{"role":"user","content":"PWN::Plugins::AuthenticationHelper.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::AuthenticationHelper.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
487
492
  {"messages":[{"role":"user","content":"PWN::Plugins::AuthenticationHelper.help Usage"},{"role":"assistant","content":"`PWN::Plugins::AuthenticationHelper.help`: "}]}
488
- {"messages":[{"role":"user","content":"PWN::Plugins::AuthenticationHelper.mask_password Usage"},{"role":"assistant","content":"`PWN::Plugins::AuthenticationHelper.mask_password`: Supported Method Parameters\n\nPWN::Plugins::AuthenticationHelper.mask_password(\n\nprompt: 'optional - string to display at prompt'\n\n)\n"}]}
489
- {"messages":[{"role":"user","content":"PWN::Plugins::AuthenticationHelper.mfa Usage"},{"role":"assistant","content":"`PWN::Plugins::AuthenticationHelper.mfa`: Supported Method Parameters\n\nPWN::Plugins::AuthenticationHelper.mfa(\n\nprompt: 'optional - string to display at prompt'\n\n)\n"}]}
490
- {"messages":[{"role":"user","content":"PWN::Plugins::AuthenticationHelper.username Usage"},{"role":"assistant","content":"`PWN::Plugins::AuthenticationHelper.username`: Supported Method Parameters\n\nPWN::Plugins::AuthenticationHelper.username\n"}]}
493
+ {"messages":[{"role":"user","content":"PWN::Plugins::AuthenticationHelper.mask_password Usage"},{"role":"assistant","content":"`PWN::Plugins::AuthenticationHelper.mask_password`: Supported Method Parameters\n\nPWN::Plugins::AuthenticationHelper.mask_password(\n\nprompt: 'optional - string to display at prompt (Default: Password)'\n\n)\n"}]}
494
+ {"messages":[{"role":"user","content":"PWN::Plugins::AuthenticationHelper.mfa Usage"},{"role":"assistant","content":"`PWN::Plugins::AuthenticationHelper.mfa`: Supported Method Parameters\n\nPWN::Plugins::AuthenticationHelper.mfa(\n\nprompt: 'optional - string to display at prompt (Default: MFA Token)'\n\n)\n"}]}
495
+ {"messages":[{"role":"user","content":"PWN::Plugins::AuthenticationHelper.username Usage"},{"role":"assistant","content":"`PWN::Plugins::AuthenticationHelper.username`: Supported Method Parameters\n\nPWN::Plugins::AuthenticationHelper.username(\n\nprompt: 'optional - string to display at prompt (Default: Username)'\n\n)\n"}]}
491
496
  {"messages":[{"role":"user","content":"PWN::Plugins::BareSIP.apply_src_num_rules Usage"},{"role":"assistant","content":"`PWN::Plugins::BareSIP.apply_src_num_rules`: Supported Method Parameters\n\nPWN::Plugins::BareSIP.apply_src_num_rules(\n\ntarget_num: 'Required - destination number to derive source number',\nsrc_num_rules: 'Optional - Comma-delimited list of rules for src_num format (i.e. XXXXXXXXXX, self, same_country, same_area, and/or same_prefix [Defaults to random src_num w/ same length as target_num])'\n\n)\n"}]}
492
497
  {"messages":[{"role":"user","content":"PWN::Plugins::BareSIP.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::BareSIP.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
493
498
  {"messages":[{"role":"user","content":"PWN::Plugins::BareSIP.baresip_exec Usage"},{"role":"assistant","content":"`PWN::Plugins::BareSIP.baresip_exec`: Supported Method Parameters\n\ncmd_resp = PWN::Plugins::BareSIP.baresip_exec(\n\nbaresip_obj: 'Required - baresip obj returned from #start method',\ncmd: 'Required - command to send to baresip HTTP daemon'\n\n)\n"}]}
@@ -649,8 +654,7 @@
649
654
  {"messages":[{"role":"user","content":"PWN::Plugins::EIN.help Usage"},{"role":"assistant","content":"`PWN::Plugins::EIN.help`: "}]}
650
655
  {"messages":[{"role":"user","content":"PWN::Plugins::FileFu.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::FileFu.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
651
656
  {"messages":[{"role":"user","content":"PWN::Plugins::FileFu.help Usage"},{"role":"assistant","content":"`PWN::Plugins::FileFu.help`: "}]}
652
- {"messages":[{"role":"user","content":"PWN::Plugins::FileFu.recurse_dir Usage"},{"role":"assistant","content":"`PWN::Plugins::FileFu.recurse_dir`: Supported Method Parameters\n\nPWN::Plugins::FileFu.recurse_dir(\n\ndir_path: 'optional path to dir defaults to .'\n\n)\n"}]}
653
- {"messages":[{"role":"user","content":"PWN::Plugins::FileFu.recurse_in_dir Usage"},{"role":"assistant","content":"`PWN::Plugins::FileFu.recurse_in_dir`: Supported Method Parameters\n\nPWN::Plugins::FileFu.recurse_in_dir(\n\ndir_path: 'optional path to dir defaults to .'\n\n)\n"}]}
657
+ {"messages":[{"role":"user","content":"PWN::Plugins::FileFu.recurse_in_dir Usage"},{"role":"assistant","content":"`PWN::Plugins::FileFu.recurse_in_dir`: Supported Method Parameters\n\nPWN::Plugins::FileFu.recurse_in_dir(\n\ndir_path: 'optional path to dir defaults to .',\ninclude_extensions: 'optional - array of file extensions to search for in scan (e.g. ['.js', '.php'])',\nexclude_extensions: 'optional - array of file extensions to exclude from scan (e.g. ['.log', '.txt', '.spec'])'\n\n)\n"}]}
654
658
  {"messages":[{"role":"user","content":"PWN::Plugins::FileFu.untar_gz_file Usage"},{"role":"assistant","content":"`PWN::Plugins::FileFu.untar_gz_file`: Supported Method Parameters\n\nPWN::Plugins::FileFu.untar_gz_file(\n\ntar_gz_file: 'required - path to .tar.gz file',\ndestination: 'required - destination folder to save extracted contents'\n\n)\n"}]}
655
659
  {"messages":[{"role":"user","content":"PWN::Plugins::FlipperZero.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::FlipperZero.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
656
660
  {"messages":[{"role":"user","content":"PWN::Plugins::FlipperZero.connect Usage"},{"role":"assistant","content":"`PWN::Plugins::FlipperZero.connect`: Supported Method Parameters\n\nflipper_zero_obj = PWN::Plugins::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"}]}
@@ -776,6 +780,7 @@
776
780
  {"messages":[{"role":"user","content":"PWN::Plugins::MonkeyPatch.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::MonkeyPatch.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
777
781
  {"messages":[{"role":"user","content":"PWN::Plugins::MonkeyPatch.help Usage"},{"role":"assistant","content":"`PWN::Plugins::MonkeyPatch.help`: "}]}
778
782
  {"messages":[{"role":"user","content":"PWN::Plugins::MonkeyPatch.pry Usage"},{"role":"assistant","content":"`PWN::Plugins::MonkeyPatch.pry`: Supported Method Parameters\n\nPWN::Plugins::MonkeyPatch.pry\n"}]}
783
+ {"messages":[{"role":"user","content":"PWN::Plugins::MonkeyPatch.complete_expression? Usage"},{"role":"assistant","content":"`PWN::Plugins::MonkeyPatch.complete_expression?`: "}]}
779
784
  {"messages":[{"role":"user","content":"PWN::Plugins::MonkeyPatch.evaluate_ruby Usage"},{"role":"assistant","content":"`PWN::Plugins::MonkeyPatch.evaluate_ruby`: "}]}
780
785
  {"messages":[{"role":"user","content":"PWN::Plugins::MonkeyPatch.handle_line Usage"},{"role":"assistant","content":"`PWN::Plugins::MonkeyPatch.handle_line`: "}]}
781
786
  {"messages":[{"role":"user","content":"PWN::Plugins::MonkeyPatch.push Usage"},{"role":"assistant","content":"`PWN::Plugins::MonkeyPatch.push`: "}]}
@@ -1121,6 +1126,10 @@
1121
1126
  {"messages":[{"role":"user","content":"PWN::SAST::CSRF.help Usage"},{"role":"assistant","content":"`PWN::SAST::CSRF.help`: "}]}
1122
1127
  {"messages":[{"role":"user","content":"PWN::SAST::CSRF.scan Usage"},{"role":"assistant","content":"`PWN::SAST::CSRF.scan`: Supported Method Parameters\n\nPWN::SAST::CSRF.scan(\n\n:dir_path => 'optional path to dir defaults to .'\n:git_repo_root_uri => 'optional http uri of git repo scanned'\n\n\n)\n"}]}
1123
1128
  {"messages":[{"role":"user","content":"PWN::SAST::CSRF.security_references Usage"},{"role":"assistant","content":"`PWN::SAST::CSRF.security_references`: "}]}
1129
+ {"messages":[{"role":"user","content":"PWN::SAST::CmdExecutionGoLang.authors Usage"},{"role":"assistant","content":"`PWN::SAST::CmdExecutionGoLang.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1130
+ {"messages":[{"role":"user","content":"PWN::SAST::CmdExecutionGoLang.help Usage"},{"role":"assistant","content":"`PWN::SAST::CmdExecutionGoLang.help`: "}]}
1131
+ {"messages":[{"role":"user","content":"PWN::SAST::CmdExecutionGoLang.scan Usage"},{"role":"assistant","content":"`PWN::SAST::CmdExecutionGoLang.scan`: Supported Method Parameters\n\nPWN::SAST::CmdExecutionGoLang.scan(\n\ndir_path: 'optional path to dir defaults to .'\ngit_repo_root_uri: 'optional http uri of git repo scanned'\n\n)\n"}]}
1132
+ {"messages":[{"role":"user","content":"PWN::SAST::CmdExecutionGoLang.security_references Usage"},{"role":"assistant","content":"`PWN::SAST::CmdExecutionGoLang.security_references`: "}]}
1124
1133
  {"messages":[{"role":"user","content":"PWN::SAST::CmdExecutionJava.authors Usage"},{"role":"assistant","content":"`PWN::SAST::CmdExecutionJava.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1125
1134
  {"messages":[{"role":"user","content":"PWN::SAST::CmdExecutionJava.help Usage"},{"role":"assistant","content":"`PWN::SAST::CmdExecutionJava.help`: "}]}
1126
1135
  {"messages":[{"role":"user","content":"PWN::SAST::CmdExecutionJava.scan Usage"},{"role":"assistant","content":"`PWN::SAST::CmdExecutionJava.scan`: Supported Method Parameters\n\nPWN::SAST::CmdExecutionJava.scan(\n\ndir_path: 'optional path to dir defaults to .'\ngit_repo_root_uri: 'optional http uri of git repo scanned'\n\n)\n"}]}
@@ -1253,6 +1262,9 @@
1253
1262
  {"messages":[{"role":"user","content":"PWN::SAST::TaskTag.help Usage"},{"role":"assistant","content":"`PWN::SAST::TaskTag.help`: "}]}
1254
1263
  {"messages":[{"role":"user","content":"PWN::SAST::TaskTag.scan Usage"},{"role":"assistant","content":"`PWN::SAST::TaskTag.scan`: Supported Method Parameters\n\nPWN::SAST::TaskTag.scan(\n\ndir_path: 'optional path to dir defaults to .'\ngit_repo_root_uri: 'optional http uri of git repo scanned'\n\n)\n"}]}
1255
1264
  {"messages":[{"role":"user","content":"PWN::SAST::TaskTag.security_references Usage"},{"role":"assistant","content":"`PWN::SAST::TaskTag.security_references`: "}]}
1265
+ {"messages":[{"role":"user","content":"PWN::SAST::TestCaseEngine.authors Usage"},{"role":"assistant","content":"`PWN::SAST::TestCaseEngine.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1266
+ {"messages":[{"role":"user","content":"PWN::SAST::TestCaseEngine.execute Usage"},{"role":"assistant","content":"`PWN::SAST::TestCaseEngine.execute`: Supported Method Parameters\n\nPWN::SAST::TestCaseEngine.execute(\n\ntest_case_filter: 'required - grep command to filter results',\nsecurity_references: 'required - Hash with keys :sast_module, :section, :nist_800_53_uri, :cwe_id, :cwe_uri',\ndir_path: 'optional - path to dir defaults to .',\ninclude_extensions: 'optional - array of file extensions to search for in scan (Defaults to all file types / i.e. [])',\nexclude_extensions: 'optional - array of file extensions to exclude from scan (Defaults to [.bin, .dat, .JS-BEAUTIFIED, .o, .test, .png, .jpg, .jpeg, .gif, .svg, .ico, .so, .spec, .zip, .tar, .gz, .tgz, .7z, .mp3, .mp4, .mov, .avi, .wmv, .flv, .mkv])',\ngit_repo_root_uri: 'optional - http uri of git repo scanned'\n\n)\n"}]}
1267
+ {"messages":[{"role":"user","content":"PWN::SAST::TestCaseEngine.help Usage"},{"role":"assistant","content":"`PWN::SAST::TestCaseEngine.help`: "}]}
1256
1268
  {"messages":[{"role":"user","content":"PWN::SAST::ThrowErrors.authors Usage"},{"role":"assistant","content":"`PWN::SAST::ThrowErrors.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1257
1269
  {"messages":[{"role":"user","content":"PWN::SAST::ThrowErrors.help Usage"},{"role":"assistant","content":"`PWN::SAST::ThrowErrors.help`: "}]}
1258
1270
  {"messages":[{"role":"user","content":"PWN::SAST::ThrowErrors.scan Usage"},{"role":"assistant","content":"`PWN::SAST::ThrowErrors.scan`: Supported Method Parameters\n\nPWN::SAST::ThrowErrors.scan(\n\ndir_path: 'optional path to dir defaults to .'\ngit_repo_root_uri: 'optional http uri of git repo scanned'\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.446
4
+ version: 0.5.447
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.