pwn 0.5.461 → 0.5.463
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/.rubocop_todo.yml +2 -2
- data/Gemfile +2 -2
- data/README.md +3 -3
- data/lib/pwn/plugins/jira_server.rb +34 -3
- data/lib/pwn/version.rb +1 -1
- data/third_party/pwn_rdoc.jsonl +11 -10
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5780100847051667d337b384cd5fc617fe46cface20e5903cd62dc23d59536cd
|
|
4
|
+
data.tar.gz: 8607ae725c223b7cd7c84a41d2532baf7cb6f9b623d184706ffa9e2a1c3a998e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d2add06f66b9dd45458d2aa6b8c1ca0ad31f4af264e8a2c8edb8f9e861b10390244f48dea601bfdf65a29e536201c4b09ab8cb85f523d024498568879a79d556
|
|
7
|
+
data.tar.gz: dc0c22a8f9f089c455fdceb78ffc429fb8a3647a8b4a0a7a903d7b5da1e6eb975133e0d2cbea9402cb7455eb32230ac4b1fd6c7581a975e5beff02464766d035
|
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-17
|
|
3
|
+
# on 2025-10-17 21:43: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
|
|
@@ -30,7 +30,7 @@ Lint/RedundantTypeConversion:
|
|
|
30
30
|
- 'lib/pwn/plugins/jenkins.rb'
|
|
31
31
|
- 'lib/pwn/plugins/repl.rb'
|
|
32
32
|
|
|
33
|
-
# Offense count:
|
|
33
|
+
# Offense count: 288
|
|
34
34
|
# This cop supports safe autocorrection (--autocorrect).
|
|
35
35
|
Lint/UselessAssignment:
|
|
36
36
|
Enabled: false
|
data/Gemfile
CHANGED
|
@@ -87,8 +87,8 @@ gem 'ruby-nmap', '1.0.3'
|
|
|
87
87
|
gem 'ruby-saml', '1.18.1'
|
|
88
88
|
gem 'rvm', '1.11.3.9'
|
|
89
89
|
gem 'savon', '2.15.1'
|
|
90
|
-
gem 'selenium-devtools', '0.
|
|
91
|
-
gem 'selenium-webdriver', '4.
|
|
90
|
+
gem 'selenium-devtools', '0.141.0'
|
|
91
|
+
gem 'selenium-webdriver', '4.37.0'
|
|
92
92
|
gem 'slack-ruby-client', '3.0.0'
|
|
93
93
|
gem 'socksify', '1.8.1'
|
|
94
94
|
gem 'spreadsheet', '1.3.4'
|
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.463]:001 >>> PWN.help
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
[](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.
|
|
55
|
+
pwn[v0.5.463]: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.
|
|
65
|
+
pwn[v0.5.463]: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:
|
|
@@ -384,6 +384,24 @@ module PWN
|
|
|
384
384
|
raise e
|
|
385
385
|
end
|
|
386
386
|
|
|
387
|
+
# Supported Method Parameters::
|
|
388
|
+
# issue_type_metadata = PWN::Plugins::JiraServer.get_issue_type_metadata(
|
|
389
|
+
# project_key: 'required - project key (e.g. PWN)',
|
|
390
|
+
# issue_type_id: 'required - issue type ID (e.g. 10000)'
|
|
391
|
+
# )
|
|
392
|
+
|
|
393
|
+
public_class_method def self.get_issue_type_metadata(opts = {})
|
|
394
|
+
project_key = opts[:project_key]
|
|
395
|
+
raise 'ERROR: project_key cannot be nil.' if project_key.nil?
|
|
396
|
+
|
|
397
|
+
issue_type_id = opts[:issue_type_id]
|
|
398
|
+
raise 'ERROR: issue_type_id cannot be nil.' if issue_type_id.nil?
|
|
399
|
+
|
|
400
|
+
rest_call(rest_call: "issue/createmeta/#{project_key}/issuetypes/#{issue_type_id}")
|
|
401
|
+
rescue StandardError => e
|
|
402
|
+
raise e
|
|
403
|
+
end
|
|
404
|
+
|
|
387
405
|
# Supported Method Parameters::
|
|
388
406
|
# issue_resp = PWN::Plugins::JiraServer.clone_issue(
|
|
389
407
|
# issue: 'required - issue to clone (e.g. Bug, Issue, Story, or Epic ID)'
|
|
@@ -398,6 +416,8 @@ module PWN
|
|
|
398
416
|
project_key = issue_data[:fields][:project][:key]
|
|
399
417
|
summary = "CLONE - #{issue_data[:fields][:summary]}"
|
|
400
418
|
issue_type = issue_data[:fields][:issuetype][:name].downcase.to_sym
|
|
419
|
+
issue_type_id = issue_data[:fields][:issuetype][:id]
|
|
420
|
+
|
|
401
421
|
epic_name = nil
|
|
402
422
|
if issue_type == :epic
|
|
403
423
|
all_fields = get_all_fields
|
|
@@ -405,9 +425,15 @@ module PWN
|
|
|
405
425
|
epic_name = issue_data[:fields][epic_name_field_key.to_sym]
|
|
406
426
|
end
|
|
407
427
|
description = issue_data[:fields][:description]
|
|
408
|
-
#
|
|
409
|
-
#
|
|
410
|
-
#
|
|
428
|
+
# TODO: Better Field Handling:
|
|
429
|
+
# GET issue/createmeta/{projectIdOrKey}/issuetypes/{issueTypeId}
|
|
430
|
+
# to discover required/allowed fields dynamically before
|
|
431
|
+
# building the payload. Copy only what makes sense—some fields
|
|
432
|
+
# (e.g., status, created date) can't be set on creation.
|
|
433
|
+
issue_type_metadata = get_issue_type_metadata(
|
|
434
|
+
project_key: project_key,
|
|
435
|
+
issue_type_id: issue_type_id
|
|
436
|
+
)
|
|
411
437
|
filtered_fields = issue_data[:fields].compact
|
|
412
438
|
additional_fields = { fields: filtered_fields }
|
|
413
439
|
|
|
@@ -506,6 +532,11 @@ module PWN
|
|
|
506
532
|
comment: 'optional - comment to add or update in the issue (e.g. \"This is a comment\")'
|
|
507
533
|
)
|
|
508
534
|
|
|
535
|
+
issue_type_metadata = #{self}.get_issue_type_metadata(
|
|
536
|
+
project_key: 'required - project key (e.g. PWN)',
|
|
537
|
+
issue_type_id: 'required - issue type ID (e.g. 10000)'
|
|
538
|
+
)
|
|
539
|
+
|
|
509
540
|
issue_resp = #{self}.clone_issue(
|
|
510
541
|
issue: 'required - issue to clone (e.g. Bug, Issue, Story, or Epic ID)'
|
|
511
542
|
)
|
data/lib/pwn/version.rb
CHANGED
data/third_party/pwn_rdoc.jsonl
CHANGED
|
@@ -458,11 +458,11 @@
|
|
|
458
458
|
{"messages":[{"role":"user","content":"PWN::Blockchain::ETH.get_latest_block Usage"},{"role":"assistant","content":"`PWN::Blockchain::ETH.get_latest_block`: Supported Method Parameters\n\nlatest_block = PWN::Blockchain::ETH.get_latest_block(\n\ntoken: 'optional - API token for higher rate limits'\n\n)\n"}]}
|
|
459
459
|
{"messages":[{"role":"user","content":"PWN::Blockchain::ETH.help Usage"},{"role":"assistant","content":"`PWN::Blockchain::ETH.help`: "}]}
|
|
460
460
|
{"messages":[{"role":"user","content":"PWN::Config.authors Usage"},{"role":"assistant","content":"`PWN::Config.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
|
|
461
|
-
{"messages":[{"role":"user","content":"PWN::Config.default_env Usage"},{"role":"assistant","content":"`PWN::Config.default_env`: Supported Method Parameters\n\nenv = PWN::Config.default_env\n"}]}
|
|
461
|
+
{"messages":[{"role":"user","content":"PWN::Config.default_env Usage"},{"role":"assistant","content":"`PWN::Config.default_env`: Supported Method Parameters\n\nenv = PWN::Config.default_env(\n\npwn_env_path: 'optional - Path to pwn.yaml file. Defaults to ~/.pwn/pwn.yaml'\n\n)\n"}]}
|
|
462
462
|
{"messages":[{"role":"user","content":"PWN::Config.help Usage"},{"role":"assistant","content":"`PWN::Config.help`: "}]}
|
|
463
463
|
{"messages":[{"role":"user","content":"PWN::Config.init_driver_options Usage"},{"role":"assistant","content":"`PWN::Config.init_driver_options`: Supported Method Parameters\n\nenv = PWN::Config.init_driver_options\n"}]}
|
|
464
464
|
{"messages":[{"role":"user","content":"PWN::Config.redact_sensitive_artifacts Usage"},{"role":"assistant","content":"`PWN::Config.redact_sensitive_artifacts`: Supported Method Parameters\n\nPWN::Config.redact_sensitive_artifacts(\n\nconfig: 'optional - Hash to redact sensitive artifacts from. Defaults to PWN::Env'\n\n)\n"}]}
|
|
465
|
-
{"messages":[{"role":"user","content":"PWN::Config.refresh_env Usage"},{"role":"assistant","content":"`PWN::Config.refresh_env`: Supported Method Parameters\n\nPWN::Config.refresh_env(\n\npwn_env_path: 'optional - Path to pwn.yaml file. Defaults to ~/.pwn/pwn.yaml',\npwn_dec_path: 'optional - Path to pwn.decryptor
|
|
465
|
+
{"messages":[{"role":"user","content":"PWN::Config.refresh_env Usage"},{"role":"assistant","content":"`PWN::Config.refresh_env`: Supported Method Parameters\n\nPWN::Config.refresh_env(\n\npwn_env_path: 'optional - Path to pwn.yaml file. Defaults to ~/.pwn/pwn.yaml',\npwn_dec_path: 'optional - Path to pwn.yaml.decryptor file. Defaults to ~/.pwn/pwn.yaml.decryptor'\n\n)\n"}]}
|
|
466
466
|
{"messages":[{"role":"user","content":"PWN::Driver.authors Usage"},{"role":"assistant","content":"`PWN::Driver.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
|
|
467
467
|
{"messages":[{"role":"user","content":"PWN::Driver.help Usage"},{"role":"assistant","content":"`PWN::Driver.help`: "}]}
|
|
468
468
|
{"messages":[{"role":"user","content":"PWN::Driver::Parser.new Usage"},{"role":"assistant","content":"`PWN::Driver::Parser.new`: "}]}
|
|
@@ -737,16 +737,17 @@
|
|
|
737
737
|
{"messages":[{"role":"user","content":"PWN::Plugins::Jenkins.list_nested_jobs Usage"},{"role":"assistant","content":"`PWN::Plugins::Jenkins.list_nested_jobs`: Supported Method Parameters\n\nPWN::Plugins::Jenkins.list_nested_jobs(\n\njenkins_obj: 'required jenkins_obj returned from #connect method',\nview_path: 'required view path to list jobs'\n\n)\n"}]}
|
|
738
738
|
{"messages":[{"role":"user","content":"PWN::Plugins::Jenkins.list_nested_views Usage"},{"role":"assistant","content":"`PWN::Plugins::Jenkins.list_nested_views`: Supported Method Parameters\n\nPWN::Plugins::Jenkins.list_nested_views(\n\njenkins_obj: 'required jenkins_obj returned from #connect method',\nview_path: 'required view path list sub-views'\n\n)\n"}]}
|
|
739
739
|
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
|
|
740
|
-
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.
|
|
741
|
-
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.
|
|
742
|
-
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.
|
|
743
|
-
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.
|
|
744
|
-
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.
|
|
745
|
-
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.
|
|
740
|
+
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.clone_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.clone_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.clone_issue(\n\nissue: 'required - issue to clone (e.g. Bug, Issue, Story, or Epic ID)'\n\n)\n"}]}
|
|
741
|
+
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.create_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.create_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.create_issue(\n\nproject_key: 'required - project key (e.g. PWN)',\nsummary: 'required - summary of the issue (e.g. Epic for PWN-1337)',\nissue_type: 'required - issue type (e.g. :epic, :story, :bug)',\ndescription: 'optional - description of the issue',\nepic_name: 'optional - name of the epic',\nadditional_fields: 'optional - additional fields to set in the issue (e.g. labels, components, custom fields, etc.)'\nattachments: 'optional - array of attachment paths to upload to the issue (e.g. [\"/tmp/file1.txt\", \"/tmp/file2.txt\"])',\ncomment: 'optional - comment to add to the issue (e.g. \"This is a comment\")'\n\n)\n"}]}
|
|
742
|
+
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.delete_attachment Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.delete_attachment`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.delete_attachment(\n\nid: 'required - attachment ID to delete (e.g. 10000) found in #get_issue method'\n\n)\n"}]}
|
|
743
|
+
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.delete_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.delete_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.delete_issue(\n\nissue: 'required - issue to delete (e.g. Bug, Issue, Story, or Epic ID)'\n\n)\n"}]}
|
|
744
|
+
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.get_all_fields Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.get_all_fields`: Supported Method Parameters\n\nall_fields = PWN::Plugins::JiraServer.get_all_fields\n"}]}
|
|
745
|
+
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.get_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.get_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.get_issue(\n\nissue: 'required - issue to lookup (e.g. Bug, Issue, Story, or Epic ID)',\nparams: 'optional - additional parameters to pass in the URI (e.g. fields, expand, etc.)'\n\n)\n"}]}
|
|
746
|
+
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.get_user Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.get_user`: Supported Method Parameters\n\nuser = PWN::Plugins::JiraServer.get_user(\n\nusername: 'required - username to lookup (e.g. jane.doe)',\nparams: 'optional - additional parameters to pass in the URI (e.g. expand, etc.)'\n\n)\n"}]}
|
|
746
747
|
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.help Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.help`: "}]}
|
|
747
|
-
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.issue_comment Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.issue_comment`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.issue_comment(\n\
|
|
748
|
+
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.issue_comment Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.issue_comment`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.issue_comment(\n\nissue: 'required - issue to delete (e.g. Bug, Issue, Story, or Epic ID)',\ncomment_action: 'required - action to perform on the issue comment (e.g. :delete, :add, :update - Defaults to :add)',\ncomment_id: 'optional - comment ID to delete or update (e.g. 10000)',\nauthor: 'optional - author of the comment (e.g. \"jane.doe\")',\ncomment: 'optional - comment to add or update in the issue (e.g. \"This is a comment\")'\n\n)\n"}]}
|
|
748
749
|
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.rest_call Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.rest_call`: Supported Method Parameters\n\nrest_call(\n\ntoken: 'required - personal access token',\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'\n\n)\n"}]}
|
|
749
|
-
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.update_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.update_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.update_issue(\n\
|
|
750
|
+
{"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.update_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.update_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.update_issue(\n\nfields: 'required - fields to update in the issue (e.g. summary, description, labels, components, custom fields, etc.)',\nattachments: 'optional - array of attachment paths to upload to the issue (e.g. [\"/tmp/file1.txt\", \"/tmp/file2.txt\"])',\n\n)\n"}]}
|
|
750
751
|
{"messages":[{"role":"user","content":"PWN::Plugins::Log.append Usage"},{"role":"assistant","content":"`PWN::Plugins::Log.append`: Supported Method Parameters\n\nPWN::Log.create( )\n"}]}
|
|
751
752
|
{"messages":[{"role":"user","content":"PWN::Plugins::Log.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::Log.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
|
|
752
753
|
{"messages":[{"role":"user","content":"PWN::Plugins::Log.help Usage"},{"role":"assistant","content":"`PWN::Plugins::Log.help`: "}]}
|
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.463
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- 0day Inc.
|
|
@@ -1065,28 +1065,28 @@ dependencies:
|
|
|
1065
1065
|
requirements:
|
|
1066
1066
|
- - '='
|
|
1067
1067
|
- !ruby/object:Gem::Version
|
|
1068
|
-
version: 0.
|
|
1068
|
+
version: 0.141.0
|
|
1069
1069
|
type: :runtime
|
|
1070
1070
|
prerelease: false
|
|
1071
1071
|
version_requirements: !ruby/object:Gem::Requirement
|
|
1072
1072
|
requirements:
|
|
1073
1073
|
- - '='
|
|
1074
1074
|
- !ruby/object:Gem::Version
|
|
1075
|
-
version: 0.
|
|
1075
|
+
version: 0.141.0
|
|
1076
1076
|
- !ruby/object:Gem::Dependency
|
|
1077
1077
|
name: selenium-webdriver
|
|
1078
1078
|
requirement: !ruby/object:Gem::Requirement
|
|
1079
1079
|
requirements:
|
|
1080
1080
|
- - '='
|
|
1081
1081
|
- !ruby/object:Gem::Version
|
|
1082
|
-
version: 4.
|
|
1082
|
+
version: 4.37.0
|
|
1083
1083
|
type: :runtime
|
|
1084
1084
|
prerelease: false
|
|
1085
1085
|
version_requirements: !ruby/object:Gem::Requirement
|
|
1086
1086
|
requirements:
|
|
1087
1087
|
- - '='
|
|
1088
1088
|
- !ruby/object:Gem::Version
|
|
1089
|
-
version: 4.
|
|
1089
|
+
version: 4.37.0
|
|
1090
1090
|
- !ruby/object:Gem::Dependency
|
|
1091
1091
|
name: slack-ruby-client
|
|
1092
1092
|
requirement: !ruby/object:Gem::Requirement
|