pwn 0.5.613 → 0.5.617

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 (134) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +10 -10
  3. data/README.md +117 -17
  4. data/bin/pwn +47 -2
  5. data/bin/pwn_gqrx_scanner +75 -18
  6. data/documentation/AI-Integration.md +36 -0
  7. data/documentation/BurpSuite.md +26 -0
  8. data/documentation/Contributing.md +31 -0
  9. data/documentation/Diagrams.md +140 -0
  10. data/documentation/Drivers.md +25 -0
  11. data/documentation/General-PWN-Usage.md +60 -0
  12. data/documentation/Home.md +78 -0
  13. data/documentation/How-PWN-Works.md +62 -0
  14. data/documentation/Installation.md +75 -0
  15. data/documentation/NmapIt.md +18 -0
  16. data/documentation/Plugins.md +59 -0
  17. data/documentation/Reporting.md +28 -0
  18. data/documentation/SAST.md +32 -0
  19. data/documentation/Skills-Memory-Learning.md +44 -0
  20. data/documentation/Transparent-Browser.md +32 -0
  21. data/documentation/Troubleshooting.md +38 -0
  22. data/documentation/What-is-PWN.md +53 -0
  23. data/documentation/Why-PWN.md +48 -0
  24. data/documentation/diagrams/ai-integration-tool-calling.svg +172 -0
  25. data/documentation/diagrams/build.sh +20 -0
  26. data/documentation/diagrams/burp-vs-zap-preference.svg +69 -0
  27. data/documentation/diagrams/code-scanning-sast.svg +172 -0
  28. data/documentation/diagrams/dot/_THEME.md +27 -0
  29. data/documentation/diagrams/dot/agent-tool-registry.dot +59 -0
  30. data/documentation/diagrams/dot/ai-integration-tool-calling.dot +50 -0
  31. data/documentation/diagrams/dot/aws-cloud-security.dot +48 -0
  32. data/documentation/diagrams/dot/burp-vs-zap-preference.dot +26 -0
  33. data/documentation/diagrams/dot/code-scanning-sast.dot +49 -0
  34. data/documentation/diagrams/dot/cron-scheduling.dot +40 -0
  35. data/documentation/diagrams/dot/driver-framework.dot +39 -0
  36. data/documentation/diagrams/dot/extrospection-world-awareness.dot +55 -0
  37. data/documentation/diagrams/dot/fuzzing-workflow.dot +47 -0
  38. data/documentation/diagrams/dot/history-to-drivers.dot +34 -0
  39. data/documentation/diagrams/dot/memory-skills-detailed.dot +60 -0
  40. data/documentation/diagrams/dot/network-infra-testing.dot +54 -0
  41. data/documentation/diagrams/dot/overall-pwn-architecture.dot +115 -0
  42. data/documentation/diagrams/dot/penetration-testing-workflow.dot +60 -0
  43. data/documentation/diagrams/dot/plugin-ecosystem.dot +45 -0
  44. data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +98 -0
  45. data/documentation/diagrams/dot/pwn-repl-prototyping.dot +56 -0
  46. data/documentation/diagrams/dot/reporting-pipeline.dot +46 -0
  47. data/documentation/diagrams/dot/reverse-engineering-flow.dot +43 -0
  48. data/documentation/diagrams/dot/sdr-radio-flow.dot +45 -0
  49. data/documentation/diagrams/dot/sessions-cron-automation.dot +44 -0
  50. data/documentation/diagrams/dot/swarm-multi-agent.dot +70 -0
  51. data/documentation/diagrams/dot/web-application-testing.dot +49 -0
  52. data/documentation/diagrams/dot/zero-day-research-flow.dot +49 -0
  53. data/documentation/diagrams/driver-framework.svg +111 -0
  54. data/documentation/diagrams/fuzzing-workflow.svg +160 -0
  55. data/documentation/diagrams/history-to-drivers.svg +119 -0
  56. data/documentation/diagrams/memory-skills-detailed.svg +202 -0
  57. data/documentation/diagrams/network-infra-testing.svg +183 -0
  58. data/documentation/diagrams/overall-pwn-architecture.svg +405 -0
  59. data/documentation/diagrams/penetration-testing-workflow.svg +201 -0
  60. data/documentation/diagrams/plugin-ecosystem.svg +276 -0
  61. data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +306 -0
  62. data/documentation/diagrams/pwn-repl-prototyping.svg +168 -0
  63. data/documentation/diagrams/reporting-pipeline.svg +151 -0
  64. data/documentation/diagrams/reverse-engineering-flow.svg +134 -0
  65. data/documentation/diagrams/sessions-cron-automation.svg +136 -0
  66. data/documentation/diagrams/web-application-testing.svg +173 -0
  67. data/documentation/diagrams/zero-day-research-flow.svg +153 -0
  68. data/documentation/pwn-REPL.md +33 -0
  69. data/documentation/pwn-ai-Agent.md +43 -0
  70. data/git_commit.sh +1 -1
  71. data/lib/pwn/ai/agent/assembly.rb +1 -1
  72. data/lib/pwn/ai/agent/btc.rb +1 -1
  73. data/lib/pwn/ai/agent/burp_suite.rb +1 -1
  74. data/lib/pwn/ai/agent/extrospection.rb +618 -0
  75. data/lib/pwn/ai/agent/gqrx.rb +2 -2
  76. data/lib/pwn/ai/agent/hacker_one.rb +1 -1
  77. data/lib/pwn/ai/agent/introspection.rb +91 -0
  78. data/lib/pwn/ai/agent/learning.rb +379 -0
  79. data/lib/pwn/ai/agent/loop.rb +33 -3
  80. data/lib/pwn/ai/agent/metrics.rb +155 -0
  81. data/lib/pwn/ai/agent/prompt_builder.rb +32 -3
  82. data/lib/pwn/ai/agent/sast.rb +1 -1
  83. data/lib/pwn/ai/agent/swarm.rb +437 -0
  84. data/lib/pwn/ai/agent/tools/cron.rb +163 -0
  85. data/lib/pwn/ai/agent/tools/extrospection.rb +280 -0
  86. data/lib/pwn/ai/agent/tools/learning.rb +221 -0
  87. data/lib/pwn/ai/agent/tools/memory.rb +27 -0
  88. data/lib/pwn/ai/agent/tools/metrics.rb +61 -0
  89. data/lib/pwn/ai/agent/tools/sessions.rb +139 -0
  90. data/lib/pwn/ai/agent/tools/skills.rb +124 -8
  91. data/lib/pwn/ai/agent/tools/swarm.rb +229 -0
  92. data/lib/pwn/ai/agent/transparent_browser.rb +1 -1
  93. data/lib/pwn/ai/agent/vuln_gen.rb +2 -2
  94. data/lib/pwn/ai/agent.rb +5 -0
  95. data/lib/pwn/ai/anthropic.rb +19 -4
  96. data/lib/pwn/ai/grok.rb +249 -106
  97. data/lib/pwn/ai.rb +0 -1
  98. data/lib/pwn/config.rb +96 -36
  99. data/lib/pwn/cron.rb +16 -7
  100. data/lib/pwn/plugins/monkey_patch.rb +2 -2
  101. data/lib/pwn/plugins/repl.rb +158 -284
  102. data/lib/pwn/sdr/decoder/base.rb +251 -0
  103. data/lib/pwn/sdr/decoder/gsm.rb +84 -185
  104. data/lib/pwn/sdr/decoder/pocsag.rb +62 -217
  105. data/lib/pwn/sdr/decoder.rb +1 -0
  106. data/lib/pwn/sdr/gqrx.rb +446 -65
  107. data/lib/pwn/version.rb +1 -1
  108. data/spec/lib/pwn/ai/agent/extrospection_spec.rb +15 -0
  109. data/spec/lib/pwn/ai/agent/introspection_spec.rb +15 -0
  110. data/spec/lib/pwn/ai/agent/learning_spec.rb +68 -0
  111. data/spec/lib/pwn/ai/agent/metrics_spec.rb +27 -0
  112. data/spec/lib/pwn/ai/agent/swarm_spec.rb +34 -0
  113. data/spec/lib/pwn/ai/agent/tools/cron_spec.rb +40 -0
  114. data/spec/lib/pwn/ai/agent/tools/extrospection_spec.rb +40 -0
  115. data/spec/lib/pwn/ai/agent/tools/learning_spec.rb +30 -0
  116. data/spec/lib/pwn/ai/agent/tools/metrics_spec.rb +20 -0
  117. data/spec/lib/pwn/ai/agent/tools/sessions_spec.rb +35 -0
  118. data/spec/lib/pwn/ai/agent/tools/swarm_spec.rb +17 -0
  119. data/spec/lib/pwn/{ai/introspection_spec.rb → sdr/decoder/base_spec.rb} +3 -3
  120. data/third_party/pwn_rdoc.jsonl +178 -33
  121. metadata +110 -36
  122. data/documentation/PWN.png +0 -0
  123. data/documentation/PWN_Contributors_and_Users.png +0 -0
  124. data/documentation/fax-spectrogram.png +0 -0
  125. data/documentation/fax-waveform.png +0 -0
  126. data/documentation/frozen_string_literal_files_changed_from_false_to_true.txt +0 -54
  127. data/documentation/lifecycle_authz_replay.example.yaml +0 -27
  128. data/documentation/pwn_android_war_dialer_session.png +0 -0
  129. data/documentation/pwn_install.png +0 -0
  130. data/documentation/pwn_wallpaper.jpg +0 -0
  131. data/documentation/ringing-spectrogram.png +0 -0
  132. data/documentation/ringing-waveform.png +0 -0
  133. data/documentation/vulnerability_report_template.md +0 -37
  134. data/lib/pwn/ai/introspection.rb +0 -76
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.613
4
+ version: 0.5.617
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
@@ -141,14 +141,14 @@ dependencies:
141
141
  requirements:
142
142
  - - ">="
143
143
  - !ruby/object:Gem::Version
144
- version: 4.0.14
144
+ version: 4.0.15
145
145
  type: :development
146
146
  prerelease: false
147
147
  version_requirements: !ruby/object:Gem::Requirement
148
148
  requirements:
149
149
  - - ">="
150
150
  - !ruby/object:Gem::Version
151
- version: 4.0.14
151
+ version: 4.0.15
152
152
  - !ruby/object:Gem::Dependency
153
153
  name: bundler-audit
154
154
  requirement: !ruby/object:Gem::Requirement
@@ -351,14 +351,14 @@ dependencies:
351
351
  requirements:
352
352
  - - '='
353
353
  - !ruby/object:Gem::Version
354
- version: 6.0.0
354
+ version: 6.1.0
355
355
  type: :runtime
356
356
  prerelease: false
357
357
  version_requirements: !ruby/object:Gem::Requirement
358
358
  requirements:
359
359
  - - '='
360
360
  - !ruby/object:Gem::Version
361
- version: 6.0.0
361
+ version: 6.1.0
362
362
  - !ruby/object:Gem::Dependency
363
363
  name: gruff
364
364
  requirement: !ruby/object:Gem::Requirement
@@ -519,42 +519,42 @@ dependencies:
519
519
  requirements:
520
520
  - - '='
521
521
  - !ruby/object:Gem::Version
522
- version: 2.9.0
522
+ version: 2.9.1
523
523
  type: :runtime
524
524
  prerelease: false
525
525
  version_requirements: !ruby/object:Gem::Requirement
526
526
  requirements:
527
527
  - - '='
528
528
  - !ruby/object:Gem::Version
529
- version: 2.9.0
529
+ version: 2.9.1
530
530
  - !ruby/object:Gem::Dependency
531
531
  name: mcp
532
532
  requirement: !ruby/object:Gem::Requirement
533
533
  requirements:
534
534
  - - '='
535
535
  - !ruby/object:Gem::Version
536
- version: 0.20.0
536
+ version: 0.23.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.20.0
543
+ version: 0.23.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.165
550
+ version: 0.0.167
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.165
557
+ version: 0.0.167
558
558
  - !ruby/object:Gem::Dependency
559
559
  name: metasm
560
560
  requirement: !ruby/object:Gem::Requirement
@@ -673,14 +673,14 @@ dependencies:
673
673
  requirements:
674
674
  - - '='
675
675
  - !ruby/object:Gem::Version
676
- version: 1.19.3
676
+ version: 1.19.4
677
677
  type: :runtime
678
678
  prerelease: false
679
679
  version_requirements: !ruby/object:Gem::Requirement
680
680
  requirements:
681
681
  - - '='
682
682
  - !ruby/object:Gem::Version
683
- version: 1.19.3
683
+ version: 1.19.4
684
684
  - !ruby/object:Gem::Dependency
685
685
  name: nokogiri-diff
686
686
  requirement: !ruby/object:Gem::Requirement
@@ -925,14 +925,14 @@ dependencies:
925
925
  requirements:
926
926
  - - '='
927
927
  - !ruby/object:Gem::Version
928
- version: 7.0.4
928
+ version: 7.0.5
929
929
  type: :runtime
930
930
  prerelease: false
931
931
  version_requirements: !ruby/object:Gem::Requirement
932
932
  requirements:
933
933
  - - '='
934
934
  - !ruby/object:Gem::Version
935
- version: 7.0.4
935
+ version: 7.0.5
936
936
  - !ruby/object:Gem::Dependency
937
937
  name: rqrcode
938
938
  requirement: !ruby/object:Gem::Requirement
@@ -981,14 +981,14 @@ dependencies:
981
981
  requirements:
982
982
  - - '='
983
983
  - !ruby/object:Gem::Version
984
- version: 1.88.0
984
+ version: 1.88.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.88.0
991
+ version: 1.88.1
992
992
  - !ruby/object:Gem::Dependency
993
993
  name: rubocop-rake
994
994
  requirement: !ruby/object:Gem::Requirement
@@ -1079,14 +1079,14 @@ dependencies:
1079
1079
  requirements:
1080
1080
  - - '='
1081
1081
  - !ruby/object:Gem::Version
1082
- version: 2.17.2
1082
+ version: 2.17.4
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: 2.17.2
1089
+ version: 2.17.4
1090
1090
  - !ruby/object:Gem::Dependency
1091
1091
  name: selenium-devtools
1092
1092
  requirement: !ruby/object:Gem::Requirement
@@ -1121,14 +1121,14 @@ dependencies:
1121
1121
  requirements:
1122
1122
  - - '='
1123
1123
  - !ruby/object:Gem::Version
1124
- version: 3.1.0
1124
+ version: 3.2.0
1125
1125
  type: :runtime
1126
1126
  prerelease: false
1127
1127
  version_requirements: !ruby/object:Gem::Requirement
1128
1128
  requirements:
1129
1129
  - - '='
1130
1130
  - !ruby/object:Gem::Version
1131
- version: 3.1.0
1131
+ version: 3.2.0
1132
1132
  - !ruby/object:Gem::Dependency
1133
1133
  name: socksify
1134
1134
  requirement: !ruby/object:Gem::Requirement
@@ -1453,18 +1453,70 @@ files:
1453
1453
  - bin/pwn_zaproxy_active_rest_api_scan
1454
1454
  - bin/pwn_zaproxy_active_scan
1455
1455
  - build_gem.sh
1456
- - documentation/PWN.png
1457
- - documentation/PWN_Contributors_and_Users.png
1458
- - documentation/fax-spectrogram.png
1459
- - documentation/fax-waveform.png
1460
- - documentation/frozen_string_literal_files_changed_from_false_to_true.txt
1461
- - documentation/lifecycle_authz_replay.example.yaml
1462
- - documentation/pwn_android_war_dialer_session.png
1463
- - documentation/pwn_install.png
1464
- - documentation/pwn_wallpaper.jpg
1465
- - documentation/ringing-spectrogram.png
1466
- - documentation/ringing-waveform.png
1467
- - documentation/vulnerability_report_template.md
1456
+ - documentation/AI-Integration.md
1457
+ - documentation/BurpSuite.md
1458
+ - documentation/Contributing.md
1459
+ - documentation/Diagrams.md
1460
+ - documentation/Drivers.md
1461
+ - documentation/General-PWN-Usage.md
1462
+ - documentation/Home.md
1463
+ - documentation/How-PWN-Works.md
1464
+ - documentation/Installation.md
1465
+ - documentation/NmapIt.md
1466
+ - documentation/Plugins.md
1467
+ - documentation/Reporting.md
1468
+ - documentation/SAST.md
1469
+ - documentation/Skills-Memory-Learning.md
1470
+ - documentation/Transparent-Browser.md
1471
+ - documentation/Troubleshooting.md
1472
+ - documentation/What-is-PWN.md
1473
+ - documentation/Why-PWN.md
1474
+ - documentation/diagrams/ai-integration-tool-calling.svg
1475
+ - documentation/diagrams/build.sh
1476
+ - documentation/diagrams/burp-vs-zap-preference.svg
1477
+ - documentation/diagrams/code-scanning-sast.svg
1478
+ - documentation/diagrams/dot/_THEME.md
1479
+ - documentation/diagrams/dot/agent-tool-registry.dot
1480
+ - documentation/diagrams/dot/ai-integration-tool-calling.dot
1481
+ - documentation/diagrams/dot/aws-cloud-security.dot
1482
+ - documentation/diagrams/dot/burp-vs-zap-preference.dot
1483
+ - documentation/diagrams/dot/code-scanning-sast.dot
1484
+ - documentation/diagrams/dot/cron-scheduling.dot
1485
+ - documentation/diagrams/dot/driver-framework.dot
1486
+ - documentation/diagrams/dot/extrospection-world-awareness.dot
1487
+ - documentation/diagrams/dot/fuzzing-workflow.dot
1488
+ - documentation/diagrams/dot/history-to-drivers.dot
1489
+ - documentation/diagrams/dot/memory-skills-detailed.dot
1490
+ - documentation/diagrams/dot/network-infra-testing.dot
1491
+ - documentation/diagrams/dot/overall-pwn-architecture.dot
1492
+ - documentation/diagrams/dot/penetration-testing-workflow.dot
1493
+ - documentation/diagrams/dot/plugin-ecosystem.dot
1494
+ - documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot
1495
+ - documentation/diagrams/dot/pwn-repl-prototyping.dot
1496
+ - documentation/diagrams/dot/reporting-pipeline.dot
1497
+ - documentation/diagrams/dot/reverse-engineering-flow.dot
1498
+ - documentation/diagrams/dot/sdr-radio-flow.dot
1499
+ - documentation/diagrams/dot/sessions-cron-automation.dot
1500
+ - documentation/diagrams/dot/swarm-multi-agent.dot
1501
+ - documentation/diagrams/dot/web-application-testing.dot
1502
+ - documentation/diagrams/dot/zero-day-research-flow.dot
1503
+ - documentation/diagrams/driver-framework.svg
1504
+ - documentation/diagrams/fuzzing-workflow.svg
1505
+ - documentation/diagrams/history-to-drivers.svg
1506
+ - documentation/diagrams/memory-skills-detailed.svg
1507
+ - documentation/diagrams/network-infra-testing.svg
1508
+ - documentation/diagrams/overall-pwn-architecture.svg
1509
+ - documentation/diagrams/penetration-testing-workflow.svg
1510
+ - documentation/diagrams/plugin-ecosystem.svg
1511
+ - documentation/diagrams/pwn-ai-feedback-learning-loop.svg
1512
+ - documentation/diagrams/pwn-repl-prototyping.svg
1513
+ - documentation/diagrams/reporting-pipeline.svg
1514
+ - documentation/diagrams/reverse-engineering-flow.svg
1515
+ - documentation/diagrams/sessions-cron-automation.svg
1516
+ - documentation/diagrams/web-application-testing.svg
1517
+ - documentation/diagrams/zero-day-research-flow.svg
1518
+ - documentation/pwn-REPL.md
1519
+ - documentation/pwn-ai-Agent.md
1468
1520
  - etc/systemd/msfrpcd.service
1469
1521
  - etc/systemd/openvas.service
1470
1522
  - etc/userland/aws/apache2/jenkins_443.conf
@@ -1779,23 +1831,33 @@ files:
1779
1831
  - lib/pwn/ai/agent/btc.rb
1780
1832
  - lib/pwn/ai/agent/burp_suite.rb
1781
1833
  - lib/pwn/ai/agent/dispatch.rb
1834
+ - lib/pwn/ai/agent/extrospection.rb
1782
1835
  - lib/pwn/ai/agent/gqrx.rb
1783
1836
  - lib/pwn/ai/agent/hacker_one.rb
1837
+ - lib/pwn/ai/agent/introspection.rb
1838
+ - lib/pwn/ai/agent/learning.rb
1784
1839
  - lib/pwn/ai/agent/loop.rb
1840
+ - lib/pwn/ai/agent/metrics.rb
1785
1841
  - lib/pwn/ai/agent/prompt_builder.rb
1786
1842
  - lib/pwn/ai/agent/registry.rb
1787
1843
  - lib/pwn/ai/agent/result.rb
1788
1844
  - lib/pwn/ai/agent/sast.rb
1845
+ - lib/pwn/ai/agent/swarm.rb
1846
+ - lib/pwn/ai/agent/tools/cron.rb
1847
+ - lib/pwn/ai/agent/tools/extrospection.rb
1848
+ - lib/pwn/ai/agent/tools/learning.rb
1789
1849
  - lib/pwn/ai/agent/tools/memory.rb
1850
+ - lib/pwn/ai/agent/tools/metrics.rb
1790
1851
  - lib/pwn/ai/agent/tools/ruby_eval.rb
1852
+ - lib/pwn/ai/agent/tools/sessions.rb
1791
1853
  - lib/pwn/ai/agent/tools/shell.rb
1792
1854
  - lib/pwn/ai/agent/tools/skills.rb
1855
+ - lib/pwn/ai/agent/tools/swarm.rb
1793
1856
  - lib/pwn/ai/agent/transparent_browser.rb
1794
1857
  - lib/pwn/ai/agent/vuln_gen.rb
1795
1858
  - lib/pwn/ai/anthropic.rb
1796
1859
  - lib/pwn/ai/gemini.rb
1797
1860
  - lib/pwn/ai/grok.rb
1798
- - lib/pwn/ai/introspection.rb
1799
1861
  - lib/pwn/ai/ollama.rb
1800
1862
  - lib/pwn/ai/open_ai.rb
1801
1863
  - lib/pwn/aws.rb
@@ -2041,6 +2103,7 @@ files:
2041
2103
  - lib/pwn/sast/window_location_hash.rb
2042
2104
  - lib/pwn/sdr.rb
2043
2105
  - lib/pwn/sdr/decoder.rb
2106
+ - lib/pwn/sdr/decoder/base.rb
2044
2107
  - lib/pwn/sdr/decoder/flex.rb
2045
2108
  - lib/pwn/sdr/decoder/gsm.rb
2046
2109
  - lib/pwn/sdr/decoder/pocsag.rb
@@ -2164,24 +2227,34 @@ files:
2164
2227
  - spec/lib/pwn/ai/agent/btc_spec.rb
2165
2228
  - spec/lib/pwn/ai/agent/burp_suite_spec.rb
2166
2229
  - spec/lib/pwn/ai/agent/dispatch_spec.rb
2230
+ - spec/lib/pwn/ai/agent/extrospection_spec.rb
2167
2231
  - spec/lib/pwn/ai/agent/gqrx_spec.rb
2168
2232
  - spec/lib/pwn/ai/agent/hacker_one_spec.rb
2233
+ - spec/lib/pwn/ai/agent/introspection_spec.rb
2234
+ - spec/lib/pwn/ai/agent/learning_spec.rb
2169
2235
  - spec/lib/pwn/ai/agent/loop_spec.rb
2236
+ - spec/lib/pwn/ai/agent/metrics_spec.rb
2170
2237
  - spec/lib/pwn/ai/agent/prompt_builder_spec.rb
2171
2238
  - spec/lib/pwn/ai/agent/registry_spec.rb
2172
2239
  - spec/lib/pwn/ai/agent/result_spec.rb
2173
2240
  - spec/lib/pwn/ai/agent/sast_spec.rb
2241
+ - spec/lib/pwn/ai/agent/swarm_spec.rb
2242
+ - spec/lib/pwn/ai/agent/tools/cron_spec.rb
2243
+ - spec/lib/pwn/ai/agent/tools/extrospection_spec.rb
2244
+ - spec/lib/pwn/ai/agent/tools/learning_spec.rb
2174
2245
  - spec/lib/pwn/ai/agent/tools/memory_spec.rb
2246
+ - spec/lib/pwn/ai/agent/tools/metrics_spec.rb
2175
2247
  - spec/lib/pwn/ai/agent/tools/ruby_eval_spec.rb
2248
+ - spec/lib/pwn/ai/agent/tools/sessions_spec.rb
2176
2249
  - spec/lib/pwn/ai/agent/tools/shell_spec.rb
2177
2250
  - spec/lib/pwn/ai/agent/tools/skills_spec.rb
2251
+ - spec/lib/pwn/ai/agent/tools/swarm_spec.rb
2178
2252
  - spec/lib/pwn/ai/agent/transparent_browser_spec.rb
2179
2253
  - spec/lib/pwn/ai/agent/vuln_gen_spec.rb
2180
2254
  - spec/lib/pwn/ai/agent_spec.rb
2181
2255
  - spec/lib/pwn/ai/anthropic_spec.rb
2182
2256
  - spec/lib/pwn/ai/gemini_spec.rb
2183
2257
  - spec/lib/pwn/ai/grok_spec.rb
2184
- - spec/lib/pwn/ai/introspection_spec.rb
2185
2258
  - spec/lib/pwn/ai/ollama_spec.rb
2186
2259
  - spec/lib/pwn/ai/open_ai_spec.rb
2187
2260
  - spec/lib/pwn/ai_spec.rb
@@ -2426,6 +2499,7 @@ files:
2426
2499
  - spec/lib/pwn/sast/version_spec.rb
2427
2500
  - spec/lib/pwn/sast/window_location_hash_spec.rb
2428
2501
  - spec/lib/pwn/sast_spec.rb
2502
+ - spec/lib/pwn/sdr/decoder/base_spec.rb
2429
2503
  - spec/lib/pwn/sdr/decoder/flex_spec.rb
2430
2504
  - spec/lib/pwn/sdr/decoder/gsm_spec.rb
2431
2505
  - spec/lib/pwn/sdr/decoder/pocsag_spec.rb
@@ -2519,7 +2593,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2519
2593
  - !ruby/object:Gem::Version
2520
2594
  version: '0'
2521
2595
  requirements: []
2522
- rubygems_version: 4.0.14
2596
+ rubygems_version: 4.0.15
2523
2597
  specification_version: 4
2524
2598
  summary: Automated Security Testing for CI/CD Pipelines & Beyond
2525
2599
  test_files: []
Binary file
Binary file
Binary file
@@ -1,54 +0,0 @@
1
- bin/pwn_shodan_search:# frozen_string_literal: false
2
- bin/pwn_sast:# frozen_string_literal: false
3
- bin/pwn_www_uri_buster:# frozen_string_literal: false
4
- bin/pwn_bdba_scan:# frozen_string_literal: false
5
- bin/pwn_serial_msr206:# frozen_string_literal: false
6
- bin/pwn_bdba_groups:# frozen_string_literal: false
7
- bin/pwn_serial_son_micro_sm132_rfid:# frozen_string_literal: false
8
- bin/pwn_gqrx_scanner:# frozen_string_literal: false
9
- bin/pwn_nmap_discover_tcp_udp:# frozen_string_literal: false
10
- lib/pwn/sast/beef_hook.rb:# frozen_string_literal: false
11
- lib/pwn/sast/local_storage.rb:# frozen_string_literal: false
12
- lib/pwn/sast/post_message.rb:# frozen_string_literal: false
13
- lib/pwn/sast/factory.rb:# frozen_string_literal: false
14
- lib/pwn/sast/base64.rb:# frozen_string_literal: false
15
- lib/pwn/sast/shell.rb:# frozen_string_literal: false
16
- lib/pwn/sast/aws.rb:# frozen_string_literal: false
17
- lib/pwn/sast/token.rb:# frozen_string_literal: false
18
- lib/pwn/sast/port.rb:# frozen_string_literal: false
19
- lib/pwn/sast/throw_errors.rb:# frozen_string_literal: false
20
- lib/pwn/sast/pom_version.rb:# frozen_string_literal: false
21
- lib/pwn/sast/outer_html.rb:# frozen_string_literal: false
22
- lib/pwn/sast/window_location_hash.rb:# frozen_string_literal: false
23
- lib/pwn/sast/deserial_java.rb:# frozen_string_literal: false
24
- lib/pwn/sast/php_input_mechanisms.rb:# frozen_string_literal: false
25
- lib/pwn/sast/redos.rb:# frozen_string_literal: false
26
- lib/pwn/sast/cmd_execution_python.rb:# frozen_string_literal: false
27
- lib/pwn/sast/type_script_type_juggling.rb:# frozen_string_literal: false
28
- lib/pwn/sast/version.rb:# frozen_string_literal: false
29
- lib/pwn/sast/sql.rb:# frozen_string_literal: false
30
- lib/pwn/sast/emoticon.rb:# frozen_string_literal: false
31
- lib/pwn/sast/redirect.rb:# frozen_string_literal: false
32
- lib/pwn/sast/cmd_execution_ruby.rb:# frozen_string_literal: false
33
- lib/pwn/sast/cmd_execution_java.rb:# frozen_string_literal: false
34
- lib/pwn/sast/private_key.rb:# frozen_string_literal: false
35
- lib/pwn/sast/location_hash.rb:# frozen_string_literal: false
36
- lib/pwn/sast/password.rb:# frozen_string_literal: false
37
- lib/pwn/sast/php_type_juggling.rb:# frozen_string_literal: false
38
- lib/pwn/sast/padding_oracle.rb:# frozen_string_literal: false
39
- lib/pwn/sast/md5.rb:# frozen_string_literal: false
40
- lib/pwn/sast/http_authorization_header.rb:# frozen_string_literal: false
41
- lib/pwn/sast/amqp_connect_as_guest.rb:# frozen_string_literal: false
42
- lib/pwn/sast/signature.rb:# frozen_string_literal: false
43
- lib/pwn/sast/apache_file_system_util_api.rb:# frozen_string_literal: false
44
- lib/pwn/sast/keystore.rb:# frozen_string_literal: false
45
- lib/pwn/sast/log4j.rb:# frozen_string_literal: false
46
- lib/pwn/sast/inner_html.rb:# frozen_string_literal: false
47
- lib/pwn/sast/task_tag.rb:# frozen_string_literal: false
48
- lib/pwn/sast/csrf.rb:# frozen_string_literal: false
49
- lib/pwn/sast/eval.rb:# frozen_string_literal: false
50
- lib/pwn/sast/logger.rb:# frozen_string_literal: false
51
- lib/pwn/sast/sudo.rb:# frozen_string_literal: false
52
- lib/pwn/sast/ssl.rb:# frozen_string_literal: false
53
- lib/pwn/sast/cmd_execution_scala.rb:# frozen_string_literal: false
54
- lib/pwn/sast/banned_function_calls_c.rb:# frozen_string_literal: false
@@ -1,27 +0,0 @@
1
- campaign:
2
- id: github-collaborator-revoke
3
- label: GitHub collaborator removal replay
4
- target: https://github.com/acme/private-repo
5
- change_event: remove_collaborator
6
- notes: Capture access before and after collaborator removal.
7
-
8
- actors:
9
- - id: owner
10
- label: Repository owner account
11
- - id: revoked_user
12
- label: User removed from repository
13
-
14
- surfaces:
15
- - id: repo_settings_page
16
- label: Repository settings HTML page
17
- - id: repo_metadata_api
18
- label: Repository metadata API endpoint
19
-
20
- checkpoints:
21
- - pre_change
22
- - post_change_t0
23
- - post_change_tn
24
-
25
- expected_denied_after:
26
- - post_change_t0
27
- - post_change_tn
Binary file
Binary file
Binary file
Binary file
@@ -1,37 +0,0 @@
1
- # Vulnerability Report Template
2
-
3
- **Program:** [HackerOne Program Name]
4
- **Report Date:** [YYYY-MM-DD]
5
- **Severity:** [Critical/High/Medium/Low]
6
-
7
- ## 1. Detailed finding description with technical depth and PoC when possible
8
-
9
- [Insert deep technical analysis, affected endpoints, steps to reproduce, PoC code/requests here.]
10
-
11
- ## 2. Business impact
12
-
13
- [Business/reputational/financial consequences.]
14
-
15
- ## 3. Remediation recommendations, including compensating controls / stop gaps
16
-
17
- [Fix recommendations, WAF rules, logging, etc.]
18
-
19
- ## 4. CVSS score, vector string, and first.org calculator URI
20
-
21
- **CVSS v3.1 Score:** X.X (High)
22
- **Vector:** AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
23
- **Calculator:** https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
24
-
25
- ## 5. CWE category, brief description, and CWE URI
26
-
27
- **CWE-XXX:** [Name] - [Brief desc]
28
- https://cwe.mitre.org/data/definitions/XXX.html
29
-
30
- ## 6. Relevant NIST 800-53 control
31
-
32
- **Control:** [e.g. SI-10, AC-6]
33
- [Description and how it maps.]
34
-
35
- ---
36
-
37
- *Generated with PWN::AI::Agent::VulnGen*
@@ -1,76 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'json'
4
- require 'rest-client'
5
-
6
- module PWN
7
- module AI
8
- # This plugin interacts with PWN::Env's `ai` data structure
9
- # when `PWN::Env[:ai][:introspection]` is set to `true`.
10
- module Introspection
11
- # Supported Method Parameters::
12
- # response = PWN::AI::Introspection.reflect_on(
13
- # request: 'required - String - What you want the AI to reflect on',
14
- # system_role_content: 'optional - context to set up the model behavior for reflection',
15
- # spinner: 'optional - Boolean - Display spinner during operation (default: false)',
16
- # suppress_pii_warning: 'optional - Boolean - Suppress PII Warnings (default: false)'
17
- # )
18
-
19
- public_class_method def self.reflect_on(opts = {})
20
- request = opts[:request]
21
- raise 'ERROR: request must be provided' if request.nil?
22
-
23
- system_role_content = opts[:system_role_content]
24
-
25
- spinner = opts[:spinner] || false
26
-
27
- suppress_pii_warning = opts[:suppress_pii_warning] || false
28
-
29
- response = nil
30
-
31
- ai_introspection = PWN::Env[:ai][:introspection]
32
-
33
- if ai_introspection && request.length.positive?
34
- engine = PWN::Env[:ai][:active].to_s.downcase.to_sym
35
- valid_ai_engines = PWN::AI.help.reject { |e| e.downcase == :introspection }.map(&:downcase)
36
- raise "ERROR: Unsupported AI engine. Supported engines are: #{valid_ai_engines}" unless valid_ai_engines.include?(engine)
37
-
38
- warn "AI Introspection is enabled. Ensure #{engine} has been authorized for use and/or requests are sanitized properly." unless suppress_pii_warning
39
- response = PWN::AI::Agent::Loop.run(
40
- request: request.chomp,
41
- system_role_content: system_role_content,
42
- enabled_toolsets: [],
43
- spinner: spinner
44
- )
45
- end
46
-
47
- response
48
- rescue StandardError => e
49
- raise e
50
- end
51
-
52
- # Author(s):: 0day Inc. <support@0dayinc.com>
53
-
54
- public_class_method def self.authors
55
- "AUTHOR(S):
56
- 0day Inc. <support@0dayinc.com>
57
- "
58
- end
59
-
60
- # Display Usage for this Module
61
-
62
- public_class_method def self.help
63
- puts "USAGE:
64
- #{self}.reflect_on(
65
- request: 'required - String - What you want the AI to reflect on',
66
- system_role_content: 'optional - context to set up the model behavior for reflection',
67
- spinner: 'optional - Boolean - Display spinner during operation (default: false)',
68
- suppress_pii_warning: 'optional - Boolean - Suppress PII Warnings (default: false)'
69
- )
70
-
71
- #{self}.authors
72
- "
73
- end
74
- end
75
- end
76
- end