pwn 0.5.712 → 0.5.713

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.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/etc/default_skills/pwn/ai/agent/learning/SKILL.md +3 -0
  3. data/etc/default_skills/pwn/ai/agent/mistakes/SKILL.md +1 -0
  4. data/etc/default_skills/pwn/ai/agent/swarm/SKILL.md +1 -0
  5. data/etc/default_skills/pwn/ai/agent/tool_guard/SKILL.md +8 -0
  6. data/etc/default_skills/pwn/ai/agent/tools/artifacts/SKILL.md +45 -0
  7. data/etc/default_skills/pwn/ai/agent/tools/binary_triage/SKILL.md +45 -0
  8. data/etc/default_skills/pwn/ai/agent/tools/exploitdev/SKILL.md +45 -0
  9. data/etc/default_skills/pwn/ai/agent/tools/finding_record/SKILL.md +45 -0
  10. data/etc/default_skills/pwn/ai/agent/tools/fuzz_campaign/SKILL.md +45 -0
  11. data/etc/default_skills/pwn/ai/agent/tools/intel_lookup/SKILL.md +45 -0
  12. data/etc/default_skills/pwn/ai/agent/tools/job_run/SKILL.md +45 -0
  13. data/etc/default_skills/pwn/ai/agent/tools/pty_session/SKILL.md +45 -0
  14. data/etc/default_skills/pwn/ai/agent/tools/session_export/SKILL.md +45 -0
  15. data/etc/default_skills/pwn/ai/agent/tools/swarm_map/SKILL.md +45 -0
  16. data/etc/default_skills/pwn/plugins/aflplusplus/SKILL.md +1 -0
  17. data/etc/default_skills/pwn/plugins/artifact_registry/SKILL.md +1 -0
  18. data/etc/default_skills/pwn/plugins/binary_parser/SKILL.md +1 -0
  19. data/etc/default_skills/pwn/plugins/detect_os/SKILL.md +1 -0
  20. data/etc/default_skills/pwn/plugins/findings/SKILL.md +50 -0
  21. data/etc/default_skills/pwn/plugins/jobs/SKILL.md +1 -0
  22. data/etc/default_skills/pwn/plugins/nmap_it/SKILL.md +1 -0
  23. data/etc/default_skills/pwn/plugins/preflight_checker/SKILL.md +2 -0
  24. data/etc/default_skills/pwn/plugins/transparent_browser/SKILL.md +2 -0
  25. data/etc/default_skills/pwn/sessions/SKILL.md +3 -0
  26. data/etc/intel/files_exploits.csv +2 -0
  27. data/lib/pwn/ai/agent/learning.rb +72 -0
  28. data/lib/pwn/ai/agent/loop.rb +52 -13
  29. data/lib/pwn/ai/agent/mistakes.rb +20 -1
  30. data/lib/pwn/ai/agent/prompt_builder.rb +13 -13
  31. data/lib/pwn/ai/agent/reward.rb +2 -1
  32. data/lib/pwn/ai/agent/swarm.rb +26 -0
  33. data/lib/pwn/ai/agent/tool_guard.rb +119 -0
  34. data/lib/pwn/ai/agent/tools/artifacts.rb +35 -0
  35. data/lib/pwn/ai/agent/tools/binary_triage.rb +20 -0
  36. data/lib/pwn/ai/agent/tools/exploitdev.rb +45 -0
  37. data/lib/pwn/ai/agent/tools/finding_record.rb +48 -0
  38. data/lib/pwn/ai/agent/tools/fuzz_campaign.rb +44 -0
  39. data/lib/pwn/ai/agent/tools/intel_lookup.rb +24 -0
  40. data/lib/pwn/ai/agent/tools/job_run.rb +56 -0
  41. data/lib/pwn/ai/agent/tools/pty_session.rb +73 -0
  42. data/lib/pwn/ai/agent/tools/session_export.rb +20 -0
  43. data/lib/pwn/ai/agent/tools/shell.rb +5 -0
  44. data/lib/pwn/ai/agent/tools/swarm_map.rb +26 -0
  45. data/lib/pwn/config.rb +4 -1
  46. data/lib/pwn/plugins/aflplusplus.rb +30 -1
  47. data/lib/pwn/plugins/artifact_registry.rb +14 -0
  48. data/lib/pwn/plugins/binary_parser.rb +31 -0
  49. data/lib/pwn/plugins/detect_os.rb +109 -2
  50. data/lib/pwn/plugins/exploit_db.rb +38 -1
  51. data/lib/pwn/plugins/findings.rb +105 -0
  52. data/lib/pwn/plugins/jobs.rb +12 -1
  53. data/lib/pwn/plugins/nmap_it.rb +29 -0
  54. data/lib/pwn/plugins/preflight_checker.rb +36 -0
  55. data/lib/pwn/plugins/transparent_browser.rb +29 -0
  56. data/lib/pwn/plugins.rb +1 -0
  57. data/lib/pwn/sessions.rb +92 -1
  58. data/lib/pwn/setup.rb +36 -15
  59. data/lib/pwn/version.rb +1 -1
  60. data/spec/ai/agent/fixtures/req09_docker.json +7 -0
  61. data/spec/ai/agent/fixtures_spec.rb +13 -0
  62. data/spec/lib/pwn/ai/agent/loop_spec.rb +42 -1
  63. data/spec/lib/pwn/ai/agent/tools/artifacts_spec.rb +15 -0
  64. data/spec/lib/pwn/ai/agent/tools/binary_triage_spec.rb +14 -0
  65. data/spec/lib/pwn/ai/agent/tools/exploitdev_spec.rb +14 -0
  66. data/spec/lib/pwn/ai/agent/tools/finding_record_spec.rb +15 -0
  67. data/spec/lib/pwn/ai/agent/tools/fuzz_campaign_spec.rb +14 -0
  68. data/spec/lib/pwn/ai/agent/tools/intel_lookup_spec.rb +14 -0
  69. data/spec/lib/pwn/ai/agent/tools/job_run_spec.rb +16 -0
  70. data/spec/lib/pwn/ai/agent/tools/pty_session_spec.rb +17 -0
  71. data/spec/lib/pwn/ai/agent/tools/session_export_spec.rb +14 -0
  72. data/spec/lib/pwn/ai/agent/tools/swarm_map_spec.rb +14 -0
  73. data/spec/lib/pwn/plugins/detect_os_spec.rb +40 -0
  74. data/spec/lib/pwn/plugins/findings_spec.rb +15 -0
  75. data/spec/lib/pwn/remaining_req_spec.rb +143 -0
  76. data/spec/lib/pwn/req24_spec.rb +82 -0
  77. data/spec/lib/pwn/setup_spec.rb +27 -0
  78. data/third_party/pwn_rdoc.jsonl +46 -2
  79. metadata +39 -2
  80. data/tmp_pwn_critic_skills_flaw.txt +0 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 24bf2b4c619ee3d57fe991bff09ab97838506283144fbcde635d39c7e368a3b1
4
- data.tar.gz: 1ed8d4f63cfc8331fd494172e65724037131a378cd42716df2d36e22dfdce6d5
3
+ metadata.gz: bc496486bb8a12f9803c7fe6d75ffeffe72a885486de20f2791363c050cf011d
4
+ data.tar.gz: 0a23407f3aa2707b806032e36ebc888428e63e6019825c0e24d6d6cf93269aa3
5
5
  SHA512:
6
- metadata.gz: d8ce0b58ac26c52adacedd0ae58df169357d87d53f1e5040d9c6eba4083bf83545065c8e504a6f2e7baebb84409b807af99fa6ef2cfd148682e898962794b67e
7
- data.tar.gz: 712a254b7346e7eb3668634c1b47bf336dce6393e960ad1ed24e0d0abc812752ed1cd442f277c44bd6b1c3360472b8d44075418758909fd7bbf435ea2d8ebe2f
6
+ metadata.gz: e0882283247eb1d1389b1f2171286a14df1a460b41a244a89b05e8a06926f81c9e5d381534d10bdc603e8b0d6663e62ee4e12f1abd9aedafec792f852bbad1e7
7
+ data.tar.gz: bd5dc6602f9d74153780ca07aa7fc3b81d7ae3148115916d47ea17ccc6a1b3433fe2d98fe9074b611bd00ab46bcc750062f5b94885799403697652fd8c6904d3
@@ -51,6 +51,9 @@ PWN::AI::Agent::Learning.note_outcome(opts)
51
51
  - `lean`
52
52
  - `gc_stores`
53
53
  - `purge_noise`
54
+ - `lesson_record`
55
+ - `lesson_observe`
56
+ - `lesson_prompt`
54
57
  - `authors`
55
58
  - `help`
56
59
  - `gc_stores!`
@@ -36,6 +36,7 @@ PWN::AI::Agent::Mistakes.load(opts)
36
36
  - `load`
37
37
  - `save`
38
38
  - `signature`
39
+ - `error_class`
39
40
  - `find`
40
41
  - `for_tool`
41
42
  - `record`
@@ -43,6 +43,7 @@ PWN::AI::Agent::Swarm.personas(opts)
43
43
  - `ask`
44
44
  - `debate`
45
45
  - `broadcast`
46
+ - `map_targets`
46
47
  - `authors`
47
48
  - `help`
48
49
 
@@ -53,9 +53,17 @@ PWN::AI::Agent::ToolGuard.present(opts)
53
53
  - `timeout_result`
54
54
  - `timeout_prior_count`
55
55
  - `refuse_copied_persist`
56
+ - `scope_refusal`
57
+ - `ip_in_cidr`
58
+ - `command_class`
59
+ - `record_runtime`
60
+ - `predicted_timeout`
61
+ - `auto_job`
56
62
  - `authors`
57
63
  - `help`
64
+ - `auto_job?`
58
65
  - `bashism?`
66
+ - `ip_in_cidr?`
59
67
  - `note_timeout!`
60
68
  - `placeholder?`
61
69
  - `present?`
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: pwn-ai-agent-tools-artifacts
3
+ description: Drive PWN::Ai::Agent::Tools::Artifacts from pwn_eval.
4
+ license: MIT
5
+ allowed-tools: [pwn, pwn_eval]
6
+ metadata:
7
+ bundled: true
8
+ generated: true
9
+ module: PWN::Ai::Agent::Tools::Artifacts
10
+ source: pwn/ai/agent/tools/artifacts.rb
11
+ ---
12
+
13
+ # PWN::Ai::Agent::Tools::Artifacts
14
+
15
+ Public API for PWN::Ai::Agent::Tools::Artifacts.
16
+
17
+ ## When to use
18
+
19
+ Call `PWN::Ai::Agent::Tools::Artifacts` from `pwn_eval` when the task needs this module.
20
+ Do not reimplement it in shell.
21
+
22
+ ## Methodologies
23
+
24
+ Generated from `pwn/ai/agent/tools/artifacts.rb`. Prefer the public class methods below.
25
+ Class methods take `(opts = {})` and read `opts`.
26
+
27
+ ## How to call
28
+
29
+ ```ruby
30
+ PWN::Ai::Agent::Tools::Artifacts.help
31
+ PWN::Ai::Agent::Tools::Artifacts.help(opts)
32
+ ```
33
+
34
+ ## Public methods
35
+
36
+ - _(no public class methods parsed)_
37
+
38
+ ## Source
39
+
40
+ `pwn/ai/agent/tools/artifacts.rb`
41
+
42
+ ## Verification
43
+
44
+ `PWN::Ai::Agent::Tools::Artifacts.respond_to?(:help)` after the
45
+ module is loaded. Read the source for parameter names.
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: pwn-ai-agent-tools-binarytriage
3
+ description: Drive PWN::Ai::Agent::Tools::BinaryTriage from pwn_eval.
4
+ license: MIT
5
+ allowed-tools: [pwn, pwn_eval]
6
+ metadata:
7
+ bundled: true
8
+ generated: true
9
+ module: PWN::Ai::Agent::Tools::BinaryTriage
10
+ source: pwn/ai/agent/tools/binary_triage.rb
11
+ ---
12
+
13
+ # PWN::Ai::Agent::Tools::BinaryTriage
14
+
15
+ Public API for PWN::Ai::Agent::Tools::BinaryTriage.
16
+
17
+ ## When to use
18
+
19
+ Call `PWN::Ai::Agent::Tools::BinaryTriage` from `pwn_eval` when the task needs this module.
20
+ Do not reimplement it in shell.
21
+
22
+ ## Methodologies
23
+
24
+ Generated from `pwn/ai/agent/tools/binary_triage.rb`. Prefer the public class methods below.
25
+ Class methods take `(opts = {})` and read `opts`.
26
+
27
+ ## How to call
28
+
29
+ ```ruby
30
+ PWN::Ai::Agent::Tools::BinaryTriage.help
31
+ PWN::Ai::Agent::Tools::BinaryTriage.help(opts)
32
+ ```
33
+
34
+ ## Public methods
35
+
36
+ - _(no public class methods parsed)_
37
+
38
+ ## Source
39
+
40
+ `pwn/ai/agent/tools/binary_triage.rb`
41
+
42
+ ## Verification
43
+
44
+ `PWN::Ai::Agent::Tools::BinaryTriage.respond_to?(:help)` after the
45
+ module is loaded. Read the source for parameter names.
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: pwn-ai-agent-tools-exploitdev
3
+ description: Drive PWN::Ai::Agent::Tools::Exploitdev from pwn_eval.
4
+ license: MIT
5
+ allowed-tools: [pwn, pwn_eval]
6
+ metadata:
7
+ bundled: true
8
+ generated: true
9
+ module: PWN::Ai::Agent::Tools::Exploitdev
10
+ source: pwn/ai/agent/tools/exploitdev.rb
11
+ ---
12
+
13
+ # PWN::Ai::Agent::Tools::Exploitdev
14
+
15
+ Public API for PWN::Ai::Agent::Tools::Exploitdev.
16
+
17
+ ## When to use
18
+
19
+ Call `PWN::Ai::Agent::Tools::Exploitdev` from `pwn_eval` when the task needs this module.
20
+ Do not reimplement it in shell.
21
+
22
+ ## Methodologies
23
+
24
+ Generated from `pwn/ai/agent/tools/exploitdev.rb`. Prefer the public class methods below.
25
+ Class methods take `(opts = {})` and read `opts`.
26
+
27
+ ## How to call
28
+
29
+ ```ruby
30
+ PWN::Ai::Agent::Tools::Exploitdev.help
31
+ PWN::Ai::Agent::Tools::Exploitdev.help(opts)
32
+ ```
33
+
34
+ ## Public methods
35
+
36
+ - _(no public class methods parsed)_
37
+
38
+ ## Source
39
+
40
+ `pwn/ai/agent/tools/exploitdev.rb`
41
+
42
+ ## Verification
43
+
44
+ `PWN::Ai::Agent::Tools::Exploitdev.respond_to?(:help)` after the
45
+ module is loaded. Read the source for parameter names.
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: pwn-ai-agent-tools-findingrecord
3
+ description: Drive PWN::Ai::Agent::Tools::FindingRecord from pwn_eval.
4
+ license: MIT
5
+ allowed-tools: [pwn, pwn_eval]
6
+ metadata:
7
+ bundled: true
8
+ generated: true
9
+ module: PWN::Ai::Agent::Tools::FindingRecord
10
+ source: pwn/ai/agent/tools/finding_record.rb
11
+ ---
12
+
13
+ # PWN::Ai::Agent::Tools::FindingRecord
14
+
15
+ Public API for PWN::Ai::Agent::Tools::FindingRecord.
16
+
17
+ ## When to use
18
+
19
+ Call `PWN::Ai::Agent::Tools::FindingRecord` from `pwn_eval` when the task needs this module.
20
+ Do not reimplement it in shell.
21
+
22
+ ## Methodologies
23
+
24
+ Generated from `pwn/ai/agent/tools/finding_record.rb`. Prefer the public class methods below.
25
+ Class methods take `(opts = {})` and read `opts`.
26
+
27
+ ## How to call
28
+
29
+ ```ruby
30
+ PWN::Ai::Agent::Tools::FindingRecord.help
31
+ PWN::Ai::Agent::Tools::FindingRecord.help(opts)
32
+ ```
33
+
34
+ ## Public methods
35
+
36
+ - _(no public class methods parsed)_
37
+
38
+ ## Source
39
+
40
+ `pwn/ai/agent/tools/finding_record.rb`
41
+
42
+ ## Verification
43
+
44
+ `PWN::Ai::Agent::Tools::FindingRecord.respond_to?(:help)` after the
45
+ module is loaded. Read the source for parameter names.
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: pwn-ai-agent-tools-fuzzcampaign
3
+ description: Drive PWN::Ai::Agent::Tools::FuzzCampaign from pwn_eval.
4
+ license: MIT
5
+ allowed-tools: [pwn, pwn_eval]
6
+ metadata:
7
+ bundled: true
8
+ generated: true
9
+ module: PWN::Ai::Agent::Tools::FuzzCampaign
10
+ source: pwn/ai/agent/tools/fuzz_campaign.rb
11
+ ---
12
+
13
+ # PWN::Ai::Agent::Tools::FuzzCampaign
14
+
15
+ Public API for PWN::Ai::Agent::Tools::FuzzCampaign.
16
+
17
+ ## When to use
18
+
19
+ Call `PWN::Ai::Agent::Tools::FuzzCampaign` from `pwn_eval` when the task needs this module.
20
+ Do not reimplement it in shell.
21
+
22
+ ## Methodologies
23
+
24
+ Generated from `pwn/ai/agent/tools/fuzz_campaign.rb`. Prefer the public class methods below.
25
+ Class methods take `(opts = {})` and read `opts`.
26
+
27
+ ## How to call
28
+
29
+ ```ruby
30
+ PWN::Ai::Agent::Tools::FuzzCampaign.help
31
+ PWN::Ai::Agent::Tools::FuzzCampaign.help(opts)
32
+ ```
33
+
34
+ ## Public methods
35
+
36
+ - _(no public class methods parsed)_
37
+
38
+ ## Source
39
+
40
+ `pwn/ai/agent/tools/fuzz_campaign.rb`
41
+
42
+ ## Verification
43
+
44
+ `PWN::Ai::Agent::Tools::FuzzCampaign.respond_to?(:help)` after the
45
+ module is loaded. Read the source for parameter names.
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: pwn-ai-agent-tools-intellookup
3
+ description: Drive PWN::Ai::Agent::Tools::IntelLookup from pwn_eval.
4
+ license: MIT
5
+ allowed-tools: [pwn, pwn_eval]
6
+ metadata:
7
+ bundled: true
8
+ generated: true
9
+ module: PWN::Ai::Agent::Tools::IntelLookup
10
+ source: pwn/ai/agent/tools/intel_lookup.rb
11
+ ---
12
+
13
+ # PWN::Ai::Agent::Tools::IntelLookup
14
+
15
+ Public API for PWN::Ai::Agent::Tools::IntelLookup.
16
+
17
+ ## When to use
18
+
19
+ Call `PWN::Ai::Agent::Tools::IntelLookup` from `pwn_eval` when the task needs this module.
20
+ Do not reimplement it in shell.
21
+
22
+ ## Methodologies
23
+
24
+ Generated from `pwn/ai/agent/tools/intel_lookup.rb`. Prefer the public class methods below.
25
+ Class methods take `(opts = {})` and read `opts`.
26
+
27
+ ## How to call
28
+
29
+ ```ruby
30
+ PWN::Ai::Agent::Tools::IntelLookup.help
31
+ PWN::Ai::Agent::Tools::IntelLookup.help(opts)
32
+ ```
33
+
34
+ ## Public methods
35
+
36
+ - _(no public class methods parsed)_
37
+
38
+ ## Source
39
+
40
+ `pwn/ai/agent/tools/intel_lookup.rb`
41
+
42
+ ## Verification
43
+
44
+ `PWN::Ai::Agent::Tools::IntelLookup.respond_to?(:help)` after the
45
+ module is loaded. Read the source for parameter names.
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: pwn-ai-agent-tools-jobrun
3
+ description: Drive PWN::Ai::Agent::Tools::JobRun from pwn_eval.
4
+ license: MIT
5
+ allowed-tools: [pwn, pwn_eval]
6
+ metadata:
7
+ bundled: true
8
+ generated: true
9
+ module: PWN::Ai::Agent::Tools::JobRun
10
+ source: pwn/ai/agent/tools/job_run.rb
11
+ ---
12
+
13
+ # PWN::Ai::Agent::Tools::JobRun
14
+
15
+ Public API for PWN::Ai::Agent::Tools::JobRun.
16
+
17
+ ## When to use
18
+
19
+ Call `PWN::Ai::Agent::Tools::JobRun` from `pwn_eval` when the task needs this module.
20
+ Do not reimplement it in shell.
21
+
22
+ ## Methodologies
23
+
24
+ Generated from `pwn/ai/agent/tools/job_run.rb`. Prefer the public class methods below.
25
+ Class methods take `(opts = {})` and read `opts`.
26
+
27
+ ## How to call
28
+
29
+ ```ruby
30
+ PWN::Ai::Agent::Tools::JobRun.help
31
+ PWN::Ai::Agent::Tools::JobRun.help(opts)
32
+ ```
33
+
34
+ ## Public methods
35
+
36
+ - _(no public class methods parsed)_
37
+
38
+ ## Source
39
+
40
+ `pwn/ai/agent/tools/job_run.rb`
41
+
42
+ ## Verification
43
+
44
+ `PWN::Ai::Agent::Tools::JobRun.respond_to?(:help)` after the
45
+ module is loaded. Read the source for parameter names.
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: pwn-ai-agent-tools-ptysession
3
+ description: Drive PWN::Ai::Agent::Tools::PtySession from pwn_eval.
4
+ license: MIT
5
+ allowed-tools: [pwn, pwn_eval]
6
+ metadata:
7
+ bundled: true
8
+ generated: true
9
+ module: PWN::Ai::Agent::Tools::PtySession
10
+ source: pwn/ai/agent/tools/pty_session.rb
11
+ ---
12
+
13
+ # PWN::Ai::Agent::Tools::PtySession
14
+
15
+ Public API for PWN::Ai::Agent::Tools::PtySession.
16
+
17
+ ## When to use
18
+
19
+ Call `PWN::Ai::Agent::Tools::PtySession` from `pwn_eval` when the task needs this module.
20
+ Do not reimplement it in shell.
21
+
22
+ ## Methodologies
23
+
24
+ Generated from `pwn/ai/agent/tools/pty_session.rb`. Prefer the public class methods below.
25
+ Class methods take `(opts = {})` and read `opts`.
26
+
27
+ ## How to call
28
+
29
+ ```ruby
30
+ PWN::Ai::Agent::Tools::PtySession.help
31
+ PWN::Ai::Agent::Tools::PtySession.help(opts)
32
+ ```
33
+
34
+ ## Public methods
35
+
36
+ - _(no public class methods parsed)_
37
+
38
+ ## Source
39
+
40
+ `pwn/ai/agent/tools/pty_session.rb`
41
+
42
+ ## Verification
43
+
44
+ `PWN::Ai::Agent::Tools::PtySession.respond_to?(:help)` after the
45
+ module is loaded. Read the source for parameter names.
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: pwn-ai-agent-tools-sessionexport
3
+ description: Drive PWN::Ai::Agent::Tools::SessionExport from pwn_eval.
4
+ license: MIT
5
+ allowed-tools: [pwn, pwn_eval]
6
+ metadata:
7
+ bundled: true
8
+ generated: true
9
+ module: PWN::Ai::Agent::Tools::SessionExport
10
+ source: pwn/ai/agent/tools/session_export.rb
11
+ ---
12
+
13
+ # PWN::Ai::Agent::Tools::SessionExport
14
+
15
+ Public API for PWN::Ai::Agent::Tools::SessionExport.
16
+
17
+ ## When to use
18
+
19
+ Call `PWN::Ai::Agent::Tools::SessionExport` from `pwn_eval` when the task needs this module.
20
+ Do not reimplement it in shell.
21
+
22
+ ## Methodologies
23
+
24
+ Generated from `pwn/ai/agent/tools/session_export.rb`. Prefer the public class methods below.
25
+ Class methods take `(opts = {})` and read `opts`.
26
+
27
+ ## How to call
28
+
29
+ ```ruby
30
+ PWN::Ai::Agent::Tools::SessionExport.help
31
+ PWN::Ai::Agent::Tools::SessionExport.help(opts)
32
+ ```
33
+
34
+ ## Public methods
35
+
36
+ - _(no public class methods parsed)_
37
+
38
+ ## Source
39
+
40
+ `pwn/ai/agent/tools/session_export.rb`
41
+
42
+ ## Verification
43
+
44
+ `PWN::Ai::Agent::Tools::SessionExport.respond_to?(:help)` after the
45
+ module is loaded. Read the source for parameter names.
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: pwn-ai-agent-tools-swarmmap
3
+ description: Drive PWN::Ai::Agent::Tools::SwarmMap from pwn_eval.
4
+ license: MIT
5
+ allowed-tools: [pwn, pwn_eval]
6
+ metadata:
7
+ bundled: true
8
+ generated: true
9
+ module: PWN::Ai::Agent::Tools::SwarmMap
10
+ source: pwn/ai/agent/tools/swarm_map.rb
11
+ ---
12
+
13
+ # PWN::Ai::Agent::Tools::SwarmMap
14
+
15
+ Public API for PWN::Ai::Agent::Tools::SwarmMap.
16
+
17
+ ## When to use
18
+
19
+ Call `PWN::Ai::Agent::Tools::SwarmMap` from `pwn_eval` when the task needs this module.
20
+ Do not reimplement it in shell.
21
+
22
+ ## Methodologies
23
+
24
+ Generated from `pwn/ai/agent/tools/swarm_map.rb`. Prefer the public class methods below.
25
+ Class methods take `(opts = {})` and read `opts`.
26
+
27
+ ## How to call
28
+
29
+ ```ruby
30
+ PWN::Ai::Agent::Tools::SwarmMap.help
31
+ PWN::Ai::Agent::Tools::SwarmMap.help(opts)
32
+ ```
33
+
34
+ ## Public methods
35
+
36
+ - _(no public class methods parsed)_
37
+
38
+ ## Source
39
+
40
+ `pwn/ai/agent/tools/swarm_map.rb`
41
+
42
+ ## Verification
43
+
44
+ `PWN::Ai::Agent::Tools::SwarmMap.respond_to?(:help)` after the
45
+ module is loaded. Read the source for parameter names.
@@ -35,6 +35,7 @@ PWN::Plugins::AFLplusplus.required_bins(opts)
35
35
 
36
36
  - `required_bins`
37
37
  - `fuzz`
38
+ - `parse_stats`
38
39
  - `crash_triage`
39
40
  - `authors`
40
41
  - `help`
@@ -36,6 +36,7 @@ PWN::Plugins::ArtifactRegistry.required_bins(opts)
36
36
  - `required_bins`
37
37
  - `register`
38
38
  - `list`
39
+ - `get`
39
40
  - `authors`
40
41
  - `help`
41
42
 
@@ -41,6 +41,7 @@ PWN::Plugins::BinaryParser.required_bins(opts)
41
41
  - `imports`
42
42
  - `exports`
43
43
  - `relocations`
44
+ - `triage`
44
45
  - `authors`
45
46
  - `help`
46
47
 
@@ -38,6 +38,7 @@ PWN::Plugins::DetectOS.type(opts)
38
38
  - `endian`
39
39
  - `distro`
40
40
  - `version`
41
+ - `living_off_the_land`
41
42
  - `authors`
42
43
  - `help`
43
44
 
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: pwn-plugins-findings
3
+ description: Drive PWN::Plugins::Findings from pwn_eval.
4
+ license: MIT
5
+ allowed-tools: [pwn, pwn_eval]
6
+ metadata:
7
+ bundled: true
8
+ generated: true
9
+ module: PWN::Plugins::Findings
10
+ source: pwn/plugins/findings.rb
11
+ ---
12
+
13
+ # PWN::Plugins::Findings
14
+
15
+ Persistent finding rows for pwn-ai (title, severity, host, evidence, PoC).
16
+
17
+ ## When to use
18
+
19
+ Call `PWN::Plugins::Findings` from `pwn_eval` when the task needs this module.
20
+ Do not reimplement it in shell.
21
+
22
+ ## Methodologies
23
+
24
+ Generated from `pwn/plugins/findings.rb`. Prefer the public class methods below.
25
+ Class methods take `(opts = {})` and read `opts`.
26
+
27
+ ## How to call
28
+
29
+ ```ruby
30
+ PWN::Plugins::Findings.help
31
+ PWN::Plugins::Findings.required_bins(opts)
32
+ ```
33
+
34
+ ## Public methods
35
+
36
+ - `required_bins`
37
+ - `record`
38
+ - `report`
39
+ - `render`
40
+ - `authors`
41
+ - `help`
42
+
43
+ ## Source
44
+
45
+ `pwn/plugins/findings.rb`
46
+
47
+ ## Verification
48
+
49
+ `PWN::Plugins::Findings.respond_to?(:required_bins)` after the
50
+ module is loaded. Read the source for parameter names.
@@ -37,6 +37,7 @@ PWN::Plugins::Jobs.required_bins(opts)
37
37
  - `start`
38
38
  - `status`
39
39
  - `tail`
40
+ - `result`
40
41
  - `stop`
41
42
  - `authors`
42
43
  - `help`
@@ -36,6 +36,7 @@ PWN::Plugins::NmapIt.port_scan(opts)
36
36
  - `port_scan`
37
37
  - `parse_xml_results`
38
38
  - `diff_xml_results`
39
+ - `to_findings`
39
40
  - `authors`
40
41
  - `help`
41
42
 
@@ -36,6 +36,8 @@ PWN::Plugins::PreflightChecker.required_bins(opts)
36
36
  - `required_bins`
37
37
  - `bin`
38
38
  - `require_bin`
39
+ - `route`
40
+ - `pick`
39
41
  - `cap_net_raw`
40
42
  - `require_cap_net_raw`
41
43
  - `service`
@@ -55,8 +55,10 @@ PWN::Plugins::TransparentBrowser.open(opts)
55
55
  - `toggle_devtools`
56
56
  - `jmp_devtools_panel`
57
57
  - `close`
58
+ - `evidence`
58
59
  - `authors`
59
60
  - `help`
61
+ - `evidence!`
60
62
 
61
63
  ## Source
62
64
 
@@ -46,6 +46,9 @@ PWN::Sessions.sessions_dir(opts)
46
46
  - `stats`
47
47
  - `lean`
48
48
  - `protected_session_ids`
49
+ - `export`
50
+ - `retain`
51
+ - `redact`
49
52
  - `authors`
50
53
  - `help`
51
54
  - `lean!`
@@ -0,0 +1,2 @@
1
+ id,file,description,date,author,type,platform,port,cve,cvss
2
+ 50592,exploits/multiple/remote/50592.py,Apache Log4j 2 JNDI injection Log4Shell,2021-12-10,pwn,remote,multiple,,CVE-2021-44228,10.0