pwn 0.5.721 → 0.5.723

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 (108) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -2
  3. data/bin/pwn_setup +5 -5
  4. data/documentation/AI-Integration.md +34 -1
  5. data/documentation/Policy-Benchmark.md +151 -0
  6. data/documentation/Reinforcement-Learning.md +27 -1
  7. data/etc/default_skills/pwn/ai/agent/engagement/SKILL.md +1 -0
  8. data/etc/default_skills/pwn/ai/agent/learning/SKILL.md +2 -0
  9. data/etc/default_skills/pwn/ai/agent/metrics/SKILL.md +4 -0
  10. data/etc/default_skills/pwn/ai/agent/mistakes/SKILL.md +2 -0
  11. data/etc/default_skills/pwn/ai/agent/policy/SKILL.md +1 -0
  12. data/etc/default_skills/pwn/ai/agent/reward/SKILL.md +2 -0
  13. data/etc/default_skills/pwn/ai/agent/swarm/SKILL.md +6 -0
  14. data/etc/default_skills/pwn/ai/agent/tools/capabilities/SKILL.md +45 -0
  15. data/etc/default_skills/pwn/ai/agent/tools/context/SKILL.md +45 -0
  16. data/etc/default_skills/pwn/ai/context/SKILL.md +50 -0
  17. data/etc/default_skills/pwn/ai/http_retry/SKILL.md +7 -0
  18. data/etc/default_skills/pwn/ai/http_retry/references/urls.md +4 -0
  19. data/etc/default_skills/pwn/ai/open_ai/SKILL.md +1 -0
  20. data/etc/default_skills/pwn/ai/open_ai/references/urls.md +1 -0
  21. data/etc/default_skills/pwn/plugins/exploit_dev/SKILL.md +1 -0
  22. data/etc/default_skills/pwn/plugins/findings/SKILL.md +1 -0
  23. data/etc/default_skills/pwn/plugins/gdb/SKILL.md +1 -0
  24. data/etc/default_skills/pwn/plugins/gdbmi/SKILL.md +55 -0
  25. data/etc/default_skills/pwn/plugins/ghidra_headless/SKILL.md +49 -0
  26. data/etc/default_skills/pwn/plugins/jobs/SKILL.md +6 -0
  27. data/etc/default_skills/pwn/plugins/packet/SKILL.md +3 -0
  28. data/etc/default_skills/pwn/plugins/preflight_checker/SKILL.md +1 -0
  29. data/etc/default_skills/pwn/plugins/radare2/SKILL.md +1 -0
  30. data/etc/default_skills/pwn/plugins/transparent_browser/SKILL.md +3 -0
  31. data/etc/default_skills/pwn/reports/engagement/SKILL.md +3 -2
  32. data/lib/pwn/ai/agent/curriculum.rb +37 -45
  33. data/lib/pwn/ai/agent/dispatch.rb +9 -0
  34. data/lib/pwn/ai/agent/engagement.rb +59 -0
  35. data/lib/pwn/ai/agent/learning.rb +111 -44
  36. data/lib/pwn/ai/agent/loop.rb +50 -8
  37. data/lib/pwn/ai/agent/metrics.rb +70 -2
  38. data/lib/pwn/ai/agent/mistakes.rb +67 -1
  39. data/lib/pwn/ai/agent/policy.rb +142 -16
  40. data/lib/pwn/ai/agent/registry.rb +1 -1
  41. data/lib/pwn/ai/agent/reward.rb +153 -53
  42. data/lib/pwn/ai/agent/swarm.rb +235 -35
  43. data/lib/pwn/ai/agent/tool_guard.rb +13 -1
  44. data/lib/pwn/ai/agent/tools/artifacts.rb +50 -3
  45. data/lib/pwn/ai/agent/tools/capabilities.rb +19 -0
  46. data/lib/pwn/ai/agent/tools/context.rb +38 -0
  47. data/lib/pwn/ai/agent/tools/finding_record.rb +18 -0
  48. data/lib/pwn/ai/agent/tools/fuzz_campaign.rb +10 -1
  49. data/lib/pwn/ai/agent/tools/job_run.rb +32 -0
  50. data/lib/pwn/ai/agent/tools/learning.rb +5 -6
  51. data/lib/pwn/ai/agent/tools/metrics.rb +16 -0
  52. data/lib/pwn/ai/agent/tools/pty_session.rb +4 -4
  53. data/lib/pwn/ai/agent/tools/ruby_eval.rb +6 -5
  54. data/lib/pwn/ai/agent/tools/shell.rb +10 -1
  55. data/lib/pwn/ai/agent/tools/skills.rb +30 -0
  56. data/lib/pwn/ai/agent/tools/swarm.rb +8 -2
  57. data/lib/pwn/ai/context.rb +193 -0
  58. data/lib/pwn/ai/http_retry.rb +53 -7
  59. data/lib/pwn/ai/open_ai.rb +302 -45
  60. data/lib/pwn/ai.rb +1 -0
  61. data/lib/pwn/migrate.rb +10 -1
  62. data/lib/pwn/plugins/artifact_registry.rb +40 -17
  63. data/lib/pwn/plugins/binary_parser.rb +4 -1
  64. data/lib/pwn/plugins/exploit_dev.rb +15 -0
  65. data/lib/pwn/plugins/findings.rb +48 -8
  66. data/lib/pwn/plugins/gdb.rb +17 -0
  67. data/lib/pwn/plugins/gdbmi.rb +128 -0
  68. data/lib/pwn/plugins/ghidra_headless.rb +104 -0
  69. data/lib/pwn/plugins/jobs.rb +72 -0
  70. data/lib/pwn/plugins/packet.rb +51 -0
  71. data/lib/pwn/plugins/preflight_checker.rb +29 -0
  72. data/lib/pwn/plugins/process_tube.rb +24 -7
  73. data/lib/pwn/plugins/radare2.rb +14 -2
  74. data/lib/pwn/plugins/repl.rb +6 -1
  75. data/lib/pwn/plugins/transparent_browser.rb +64 -0
  76. data/lib/pwn/plugins.rb +2 -0
  77. data/lib/pwn/reports/engagement.rb +19 -0
  78. data/lib/pwn/sessions.rb +3 -1
  79. data/lib/pwn/version.rb +1 -1
  80. data/scripts/benchmark_policy.rb +276 -0
  81. data/spec/documentation/installation_md_spec.rb +18 -4
  82. data/spec/integration/reinforced_feedback_loop_spec.rb +20 -13
  83. data/spec/lib/pwn/ai/agent/curriculum_spec.rb +267 -0
  84. data/spec/lib/pwn/ai/agent/engagement_spec.rb +12 -0
  85. data/spec/lib/pwn/ai/agent/learning_spec.rb +81 -3
  86. data/spec/lib/pwn/ai/agent/loop_spec.rb +51 -0
  87. data/spec/lib/pwn/ai/agent/metrics_spec.rb +44 -0
  88. data/spec/lib/pwn/ai/agent/mistakes_spec.rb +10 -0
  89. data/spec/lib/pwn/ai/agent/policy_spec.rb +103 -0
  90. data/spec/lib/pwn/ai/agent/registry_spec.rb +62 -0
  91. data/spec/lib/pwn/ai/agent/reward_spec.rb +175 -12
  92. data/spec/lib/pwn/ai/agent/swarm_spec.rb +121 -1
  93. data/spec/lib/pwn/ai/agent/tool_guard_spec.rb +6 -0
  94. data/spec/lib/pwn/ai/agent/tools/capabilities_spec.rb +14 -0
  95. data/spec/lib/pwn/ai/agent/tools/context_spec.rb +14 -0
  96. data/spec/lib/pwn/ai/agent/tools/job_run_spec.rb +2 -0
  97. data/spec/lib/pwn/ai/agent/tools/learning_spec.rb +25 -0
  98. data/spec/lib/pwn/ai/context_spec.rb +48 -0
  99. data/spec/lib/pwn/ai/http_retry_spec.rb +27 -0
  100. data/spec/lib/pwn/ai/open_ai_oauth_transport_spec.rb +245 -0
  101. data/spec/lib/pwn/ai/open_ai_spec.rb +150 -0
  102. data/spec/lib/pwn/migrate_spec.rb +24 -0
  103. data/spec/lib/pwn/plugins/artifact_registry_spec.rb +19 -0
  104. data/spec/lib/pwn/plugins/findings_spec.rb +2 -0
  105. data/spec/lib/pwn/plugins/gdbmi_spec.rb +17 -0
  106. data/spec/lib/pwn/plugins/ghidra_headless_spec.rb +17 -0
  107. data/third_party/pwn_rdoc.jsonl +86 -2
  108. metadata +24 -5
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.721
4
+ version: 0.5.723
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
@@ -505,14 +505,14 @@ dependencies:
505
505
  requirements:
506
506
  - - '='
507
507
  - !ruby/object:Gem::Version
508
- version: 1.4.0
508
+ version: 1.5.0
509
509
  type: :runtime
510
510
  prerelease: false
511
511
  version_requirements: !ruby/object:Gem::Requirement
512
512
  requirements:
513
513
  - - '='
514
514
  - !ruby/object:Gem::Version
515
- version: 1.4.0
515
+ version: 1.5.0
516
516
  - !ruby/object:Gem::Dependency
517
517
  name: meshtastic
518
518
  requirement: !ruby/object:Gem::Requirement
@@ -897,14 +897,14 @@ dependencies:
897
897
  requirements:
898
898
  - - '='
899
899
  - !ruby/object:Gem::Version
900
- version: 7.1.3
900
+ version: 7.1.4
901
901
  type: :development
902
902
  prerelease: false
903
903
  version_requirements: !ruby/object:Gem::Requirement
904
904
  requirements:
905
905
  - - '='
906
906
  - !ruby/object:Gem::Version
907
- version: 7.1.3
907
+ version: 7.1.4
908
908
  - !ruby/object:Gem::Dependency
909
909
  name: rqrcode
910
910
  requirement: !ruby/object:Gem::Requirement
@@ -1443,6 +1443,7 @@ files:
1443
1443
  - documentation/PWN.png
1444
1444
  - documentation/Persistence.md
1445
1445
  - documentation/Plugins.md
1446
+ - documentation/Policy-Benchmark.md
1446
1447
  - documentation/Reinforcement-Learning.md
1447
1448
  - documentation/Reporting.md
1448
1449
  - documentation/SAST.md
@@ -4938,6 +4939,8 @@ files:
4938
4939
  - etc/default_skills/pwn/ai/agent/tool_guard/SKILL.md
4939
4940
  - etc/default_skills/pwn/ai/agent/tools/artifacts/SKILL.md
4940
4941
  - etc/default_skills/pwn/ai/agent/tools/binary_triage/SKILL.md
4942
+ - etc/default_skills/pwn/ai/agent/tools/capabilities/SKILL.md
4943
+ - etc/default_skills/pwn/ai/agent/tools/context/SKILL.md
4941
4944
  - etc/default_skills/pwn/ai/agent/tools/cron/SKILL.md
4942
4945
  - etc/default_skills/pwn/ai/agent/tools/curriculum/SKILL.md
4943
4946
  - etc/default_skills/pwn/ai/agent/tools/debug_lane/SKILL.md
@@ -4973,11 +4976,13 @@ files:
4973
4976
  - etc/default_skills/pwn/ai/agent/vuln_gen/references/urls.md
4974
4977
  - etc/default_skills/pwn/ai/anthropic/SKILL.md
4975
4978
  - etc/default_skills/pwn/ai/anthropic/references/urls.md
4979
+ - etc/default_skills/pwn/ai/context/SKILL.md
4976
4980
  - etc/default_skills/pwn/ai/gemini/SKILL.md
4977
4981
  - etc/default_skills/pwn/ai/gemini/references/urls.md
4978
4982
  - etc/default_skills/pwn/ai/grok/SKILL.md
4979
4983
  - etc/default_skills/pwn/ai/grok/references/urls.md
4980
4984
  - etc/default_skills/pwn/ai/http_retry/SKILL.md
4985
+ - etc/default_skills/pwn/ai/http_retry/references/urls.md
4981
4986
  - etc/default_skills/pwn/ai/ollama/SKILL.md
4982
4987
  - etc/default_skills/pwn/ai/ollama/references/urls.md
4983
4988
  - etc/default_skills/pwn/ai/open_ai/SKILL.md
@@ -5222,7 +5227,9 @@ files:
5222
5227
  - etc/default_skills/pwn/plugins/frida/SKILL.md
5223
5228
  - etc/default_skills/pwn/plugins/fuzz/SKILL.md
5224
5229
  - etc/default_skills/pwn/plugins/gdb/SKILL.md
5230
+ - etc/default_skills/pwn/plugins/gdbmi/SKILL.md
5225
5231
  - etc/default_skills/pwn/plugins/ghidra/SKILL.md
5232
+ - etc/default_skills/pwn/plugins/ghidra_headless/SKILL.md
5226
5233
  - etc/default_skills/pwn/plugins/git/SKILL.md
5227
5234
  - etc/default_skills/pwn/plugins/github/SKILL.md
5228
5235
  - etc/default_skills/pwn/plugins/github/references/urls.md
@@ -5897,6 +5904,8 @@ files:
5897
5904
  - lib/pwn/ai/agent/tool_guard.rb
5898
5905
  - lib/pwn/ai/agent/tools/artifacts.rb
5899
5906
  - lib/pwn/ai/agent/tools/binary_triage.rb
5907
+ - lib/pwn/ai/agent/tools/capabilities.rb
5908
+ - lib/pwn/ai/agent/tools/context.rb
5900
5909
  - lib/pwn/ai/agent/tools/cron.rb
5901
5910
  - lib/pwn/ai/agent/tools/curriculum.rb
5902
5911
  - lib/pwn/ai/agent/tools/debug_lane.rb
@@ -5927,6 +5936,7 @@ files:
5927
5936
  - lib/pwn/ai/agent/turn_finalizer.rb
5928
5937
  - lib/pwn/ai/agent/vuln_gen.rb
5929
5938
  - lib/pwn/ai/anthropic.rb
5939
+ - lib/pwn/ai/context.rb
5930
5940
  - lib/pwn/ai/gemini.rb
5931
5941
  - lib/pwn/ai/grok.rb
5932
5942
  - lib/pwn/ai/http_retry.rb
@@ -6115,7 +6125,9 @@ files:
6115
6125
  - lib/pwn/plugins/frida.rb
6116
6126
  - lib/pwn/plugins/fuzz.rb
6117
6127
  - lib/pwn/plugins/gdb.rb
6128
+ - lib/pwn/plugins/gdbmi.rb
6118
6129
  - lib/pwn/plugins/ghidra.rb
6130
+ - lib/pwn/plugins/ghidra_headless.rb
6119
6131
  - lib/pwn/plugins/git.rb
6120
6132
  - lib/pwn/plugins/github.rb
6121
6133
  - lib/pwn/plugins/google_workspace.rb
@@ -6379,6 +6391,7 @@ files:
6379
6391
  - packer/provisioners/zzuf.sh
6380
6392
  - pwn.gemspec
6381
6393
  - reinstall_gemset.sh
6394
+ - scripts/benchmark_policy.rb
6382
6395
  - spec/conventions_spec.rb
6383
6396
  - spec/documentation/installation_md_spec.rb
6384
6397
  - spec/documentation/prompt_version_placeholder_spec.rb
@@ -6431,6 +6444,8 @@ files:
6431
6444
  - spec/lib/pwn/ai/agent/tool_guard_spec.rb
6432
6445
  - spec/lib/pwn/ai/agent/tools/artifacts_spec.rb
6433
6446
  - spec/lib/pwn/ai/agent/tools/binary_triage_spec.rb
6447
+ - spec/lib/pwn/ai/agent/tools/capabilities_spec.rb
6448
+ - spec/lib/pwn/ai/agent/tools/context_spec.rb
6434
6449
  - spec/lib/pwn/ai/agent/tools/cron_spec.rb
6435
6450
  - spec/lib/pwn/ai/agent/tools/curriculum_spec.rb
6436
6451
  - spec/lib/pwn/ai/agent/tools/debug_lane_spec.rb
@@ -6462,10 +6477,12 @@ files:
6462
6477
  - spec/lib/pwn/ai/agent/vuln_gen_spec.rb
6463
6478
  - spec/lib/pwn/ai/agent_spec.rb
6464
6479
  - spec/lib/pwn/ai/anthropic_spec.rb
6480
+ - spec/lib/pwn/ai/context_spec.rb
6465
6481
  - spec/lib/pwn/ai/gemini_spec.rb
6466
6482
  - spec/lib/pwn/ai/grok_spec.rb
6467
6483
  - spec/lib/pwn/ai/http_retry_spec.rb
6468
6484
  - spec/lib/pwn/ai/ollama_spec.rb
6485
+ - spec/lib/pwn/ai/open_ai_oauth_transport_spec.rb
6469
6486
  - spec/lib/pwn/ai/open_ai_spec.rb
6470
6487
  - spec/lib/pwn/ai/open_web_ui_spec.rb
6471
6488
  - spec/lib/pwn/ai/red_team/agent_protocol_abuse_spec.rb
@@ -6650,6 +6667,8 @@ files:
6650
6667
  - spec/lib/pwn/plugins/frida_spec.rb
6651
6668
  - spec/lib/pwn/plugins/fuzz_spec.rb
6652
6669
  - spec/lib/pwn/plugins/gdb_spec.rb
6670
+ - spec/lib/pwn/plugins/gdbmi_spec.rb
6671
+ - spec/lib/pwn/plugins/ghidra_headless_spec.rb
6653
6672
  - spec/lib/pwn/plugins/ghidra_spec.rb
6654
6673
  - spec/lib/pwn/plugins/git_spec.rb
6655
6674
  - spec/lib/pwn/plugins/github_spec.rb