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.
- checksums.yaml +4 -4
- data/Gemfile +10 -10
- data/README.md +117 -17
- data/bin/pwn +47 -2
- data/bin/pwn_gqrx_scanner +75 -18
- data/documentation/AI-Integration.md +36 -0
- data/documentation/BurpSuite.md +26 -0
- data/documentation/Contributing.md +31 -0
- data/documentation/Diagrams.md +140 -0
- data/documentation/Drivers.md +25 -0
- data/documentation/General-PWN-Usage.md +60 -0
- data/documentation/Home.md +78 -0
- data/documentation/How-PWN-Works.md +62 -0
- data/documentation/Installation.md +75 -0
- data/documentation/NmapIt.md +18 -0
- data/documentation/Plugins.md +59 -0
- data/documentation/Reporting.md +28 -0
- data/documentation/SAST.md +32 -0
- data/documentation/Skills-Memory-Learning.md +44 -0
- data/documentation/Transparent-Browser.md +32 -0
- data/documentation/Troubleshooting.md +38 -0
- data/documentation/What-is-PWN.md +53 -0
- data/documentation/Why-PWN.md +48 -0
- data/documentation/diagrams/ai-integration-tool-calling.svg +172 -0
- data/documentation/diagrams/build.sh +20 -0
- data/documentation/diagrams/burp-vs-zap-preference.svg +69 -0
- data/documentation/diagrams/code-scanning-sast.svg +172 -0
- data/documentation/diagrams/dot/_THEME.md +27 -0
- data/documentation/diagrams/dot/agent-tool-registry.dot +59 -0
- data/documentation/diagrams/dot/ai-integration-tool-calling.dot +50 -0
- data/documentation/diagrams/dot/aws-cloud-security.dot +48 -0
- data/documentation/diagrams/dot/burp-vs-zap-preference.dot +26 -0
- data/documentation/diagrams/dot/code-scanning-sast.dot +49 -0
- data/documentation/diagrams/dot/cron-scheduling.dot +40 -0
- data/documentation/diagrams/dot/driver-framework.dot +39 -0
- data/documentation/diagrams/dot/extrospection-world-awareness.dot +55 -0
- data/documentation/diagrams/dot/fuzzing-workflow.dot +47 -0
- data/documentation/diagrams/dot/history-to-drivers.dot +34 -0
- data/documentation/diagrams/dot/memory-skills-detailed.dot +60 -0
- data/documentation/diagrams/dot/network-infra-testing.dot +54 -0
- data/documentation/diagrams/dot/overall-pwn-architecture.dot +115 -0
- data/documentation/diagrams/dot/penetration-testing-workflow.dot +60 -0
- data/documentation/diagrams/dot/plugin-ecosystem.dot +45 -0
- data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +98 -0
- data/documentation/diagrams/dot/pwn-repl-prototyping.dot +56 -0
- data/documentation/diagrams/dot/reporting-pipeline.dot +46 -0
- data/documentation/diagrams/dot/reverse-engineering-flow.dot +43 -0
- data/documentation/diagrams/dot/sdr-radio-flow.dot +45 -0
- data/documentation/diagrams/dot/sessions-cron-automation.dot +44 -0
- data/documentation/diagrams/dot/swarm-multi-agent.dot +70 -0
- data/documentation/diagrams/dot/web-application-testing.dot +49 -0
- data/documentation/diagrams/dot/zero-day-research-flow.dot +49 -0
- data/documentation/diagrams/driver-framework.svg +111 -0
- data/documentation/diagrams/fuzzing-workflow.svg +160 -0
- data/documentation/diagrams/history-to-drivers.svg +119 -0
- data/documentation/diagrams/memory-skills-detailed.svg +202 -0
- data/documentation/diagrams/network-infra-testing.svg +183 -0
- data/documentation/diagrams/overall-pwn-architecture.svg +405 -0
- data/documentation/diagrams/penetration-testing-workflow.svg +201 -0
- data/documentation/diagrams/plugin-ecosystem.svg +276 -0
- data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +306 -0
- data/documentation/diagrams/pwn-repl-prototyping.svg +168 -0
- data/documentation/diagrams/reporting-pipeline.svg +151 -0
- data/documentation/diagrams/reverse-engineering-flow.svg +134 -0
- data/documentation/diagrams/sessions-cron-automation.svg +136 -0
- data/documentation/diagrams/web-application-testing.svg +173 -0
- data/documentation/diagrams/zero-day-research-flow.svg +153 -0
- data/documentation/pwn-REPL.md +33 -0
- data/documentation/pwn-ai-Agent.md +43 -0
- data/git_commit.sh +1 -1
- data/lib/pwn/ai/agent/assembly.rb +1 -1
- data/lib/pwn/ai/agent/btc.rb +1 -1
- data/lib/pwn/ai/agent/burp_suite.rb +1 -1
- data/lib/pwn/ai/agent/extrospection.rb +618 -0
- data/lib/pwn/ai/agent/gqrx.rb +2 -2
- data/lib/pwn/ai/agent/hacker_one.rb +1 -1
- data/lib/pwn/ai/agent/introspection.rb +91 -0
- data/lib/pwn/ai/agent/learning.rb +379 -0
- data/lib/pwn/ai/agent/loop.rb +33 -3
- data/lib/pwn/ai/agent/metrics.rb +155 -0
- data/lib/pwn/ai/agent/prompt_builder.rb +32 -3
- data/lib/pwn/ai/agent/sast.rb +1 -1
- data/lib/pwn/ai/agent/swarm.rb +437 -0
- data/lib/pwn/ai/agent/tools/cron.rb +163 -0
- data/lib/pwn/ai/agent/tools/extrospection.rb +280 -0
- data/lib/pwn/ai/agent/tools/learning.rb +221 -0
- data/lib/pwn/ai/agent/tools/memory.rb +27 -0
- data/lib/pwn/ai/agent/tools/metrics.rb +61 -0
- data/lib/pwn/ai/agent/tools/sessions.rb +139 -0
- data/lib/pwn/ai/agent/tools/skills.rb +124 -8
- data/lib/pwn/ai/agent/tools/swarm.rb +229 -0
- data/lib/pwn/ai/agent/transparent_browser.rb +1 -1
- data/lib/pwn/ai/agent/vuln_gen.rb +2 -2
- data/lib/pwn/ai/agent.rb +5 -0
- data/lib/pwn/ai/anthropic.rb +19 -4
- data/lib/pwn/ai/grok.rb +249 -106
- data/lib/pwn/ai.rb +0 -1
- data/lib/pwn/config.rb +96 -36
- data/lib/pwn/cron.rb +16 -7
- data/lib/pwn/plugins/monkey_patch.rb +2 -2
- data/lib/pwn/plugins/repl.rb +158 -284
- data/lib/pwn/sdr/decoder/base.rb +251 -0
- data/lib/pwn/sdr/decoder/gsm.rb +84 -185
- data/lib/pwn/sdr/decoder/pocsag.rb +62 -217
- data/lib/pwn/sdr/decoder.rb +1 -0
- data/lib/pwn/sdr/gqrx.rb +446 -65
- data/lib/pwn/version.rb +1 -1
- data/spec/lib/pwn/ai/agent/extrospection_spec.rb +15 -0
- data/spec/lib/pwn/ai/agent/introspection_spec.rb +15 -0
- data/spec/lib/pwn/ai/agent/learning_spec.rb +68 -0
- data/spec/lib/pwn/ai/agent/metrics_spec.rb +27 -0
- data/spec/lib/pwn/ai/agent/swarm_spec.rb +34 -0
- data/spec/lib/pwn/ai/agent/tools/cron_spec.rb +40 -0
- data/spec/lib/pwn/ai/agent/tools/extrospection_spec.rb +40 -0
- data/spec/lib/pwn/ai/agent/tools/learning_spec.rb +30 -0
- data/spec/lib/pwn/ai/agent/tools/metrics_spec.rb +20 -0
- data/spec/lib/pwn/ai/agent/tools/sessions_spec.rb +35 -0
- data/spec/lib/pwn/ai/agent/tools/swarm_spec.rb +17 -0
- data/spec/lib/pwn/{ai/introspection_spec.rb → sdr/decoder/base_spec.rb} +3 -3
- data/third_party/pwn_rdoc.jsonl +178 -33
- metadata +110 -36
- data/documentation/PWN.png +0 -0
- data/documentation/PWN_Contributors_and_Users.png +0 -0
- data/documentation/fax-spectrogram.png +0 -0
- data/documentation/fax-waveform.png +0 -0
- data/documentation/frozen_string_literal_files_changed_from_false_to_true.txt +0 -54
- data/documentation/lifecycle_authz_replay.example.yaml +0 -27
- data/documentation/pwn_android_war_dialer_session.png +0 -0
- data/documentation/pwn_install.png +0 -0
- data/documentation/pwn_wallpaper.jpg +0 -0
- data/documentation/ringing-spectrogram.png +0 -0
- data/documentation/ringing-waveform.png +0 -0
- data/documentation/vulnerability_report_template.md +0 -37
- 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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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/
|
|
1457
|
-
- documentation/
|
|
1458
|
-
- documentation/
|
|
1459
|
-
- documentation/
|
|
1460
|
-
- documentation/
|
|
1461
|
-
- documentation/
|
|
1462
|
-
- documentation/
|
|
1463
|
-
- documentation/
|
|
1464
|
-
- documentation/
|
|
1465
|
-
- documentation/
|
|
1466
|
-
- documentation/
|
|
1467
|
-
- documentation/
|
|
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.
|
|
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: []
|
data/documentation/PWN.png
DELETED
|
Binary file
|
|
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
|
|
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*
|
data/lib/pwn/ai/introspection.rb
DELETED
|
@@ -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
|