pwn 0.5.615 → 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/README.md +24 -10
- data/bin/pwn +47 -2
- data/bin/pwn_gqrx_scanner +75 -18
- data/documentation/Diagrams.md +123 -40
- data/documentation/General-PWN-Usage.md +50 -30
- data/documentation/Home.md +78 -51
- data/documentation/How-PWN-Works.md +59 -57
- data/documentation/Installation.md +53 -28
- data/documentation/What-is-PWN.md +51 -32
- data/documentation/Why-PWN.md +41 -11
- data/documentation/diagrams/ai-integration-tool-calling.svg +141 -103
- data/documentation/diagrams/build.sh +20 -0
- data/documentation/diagrams/burp-vs-zap-preference.svg +47 -62
- data/documentation/diagrams/code-scanning-sast.svg +139 -79
- 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 +47 -20
- data/documentation/diagrams/dot/aws-cloud-security.dot +48 -0
- data/documentation/diagrams/dot/burp-vs-zap-preference.dot +23 -12
- data/documentation/diagrams/dot/code-scanning-sast.dot +46 -18
- data/documentation/diagrams/dot/cron-scheduling.dot +40 -0
- data/documentation/diagrams/dot/driver-framework.dot +36 -14
- data/documentation/diagrams/dot/extrospection-world-awareness.dot +55 -0
- data/documentation/diagrams/dot/fuzzing-workflow.dot +44 -24
- data/documentation/diagrams/dot/history-to-drivers.dot +31 -17
- data/documentation/diagrams/dot/memory-skills-detailed.dot +57 -25
- data/documentation/diagrams/dot/network-infra-testing.dot +51 -19
- data/documentation/diagrams/dot/overall-pwn-architecture.dot +110 -44
- data/documentation/diagrams/dot/penetration-testing-workflow.dot +56 -25
- data/documentation/diagrams/dot/plugin-ecosystem.dot +41 -27
- data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +87 -46
- data/documentation/diagrams/dot/pwn-repl-prototyping.dot +49 -30
- data/documentation/diagrams/dot/reporting-pipeline.dot +43 -14
- data/documentation/diagrams/dot/reverse-engineering-flow.dot +40 -18
- data/documentation/diagrams/dot/sdr-radio-flow.dot +45 -0
- data/documentation/diagrams/dot/sessions-cron-automation.dot +41 -14
- data/documentation/diagrams/dot/swarm-multi-agent.dot +70 -0
- data/documentation/diagrams/dot/web-application-testing.dot +45 -23
- data/documentation/diagrams/dot/zero-day-research-flow.dot +46 -24
- data/documentation/diagrams/driver-framework.svg +87 -66
- data/documentation/diagrams/fuzzing-workflow.svg +128 -115
- data/documentation/diagrams/history-to-drivers.svg +84 -82
- data/documentation/diagrams/memory-skills-detailed.svg +167 -119
- data/documentation/diagrams/network-infra-testing.svg +146 -84
- data/documentation/diagrams/overall-pwn-architecture.svg +356 -185
- data/documentation/diagrams/penetration-testing-workflow.svg +161 -108
- data/documentation/diagrams/plugin-ecosystem.svg +225 -121
- data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +257 -185
- data/documentation/diagrams/pwn-repl-prototyping.svg +126 -137
- data/documentation/diagrams/reporting-pipeline.svg +128 -68
- data/documentation/diagrams/reverse-engineering-flow.svg +100 -80
- data/documentation/diagrams/sessions-cron-automation.svg +112 -68
- data/documentation/diagrams/web-application-testing.svg +136 -100
- data/documentation/diagrams/zero-day-research-flow.svg +116 -112
- 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 +6 -4
- data/lib/pwn/ai/agent/loop.rb +15 -0
- data/lib/pwn/ai/agent/prompt_builder.rb +10 -1
- 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 +108 -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 +30 -0
- 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 +3 -0
- data/lib/pwn/ai/anthropic.rb +19 -4
- data/lib/pwn/ai.rb +0 -1
- data/lib/pwn/config.rb +10 -23
- data/lib/pwn/cron.rb +16 -7
- data/lib/pwn/plugins/repl.rb +90 -281
- 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/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/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 +27 -3
- 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.
|
|
@@ -1472,12 +1472,18 @@ files:
|
|
|
1472
1472
|
- documentation/What-is-PWN.md
|
|
1473
1473
|
- documentation/Why-PWN.md
|
|
1474
1474
|
- documentation/diagrams/ai-integration-tool-calling.svg
|
|
1475
|
+
- documentation/diagrams/build.sh
|
|
1475
1476
|
- documentation/diagrams/burp-vs-zap-preference.svg
|
|
1476
1477
|
- documentation/diagrams/code-scanning-sast.svg
|
|
1478
|
+
- documentation/diagrams/dot/_THEME.md
|
|
1479
|
+
- documentation/diagrams/dot/agent-tool-registry.dot
|
|
1477
1480
|
- documentation/diagrams/dot/ai-integration-tool-calling.dot
|
|
1481
|
+
- documentation/diagrams/dot/aws-cloud-security.dot
|
|
1478
1482
|
- documentation/diagrams/dot/burp-vs-zap-preference.dot
|
|
1479
1483
|
- documentation/diagrams/dot/code-scanning-sast.dot
|
|
1484
|
+
- documentation/diagrams/dot/cron-scheduling.dot
|
|
1480
1485
|
- documentation/diagrams/dot/driver-framework.dot
|
|
1486
|
+
- documentation/diagrams/dot/extrospection-world-awareness.dot
|
|
1481
1487
|
- documentation/diagrams/dot/fuzzing-workflow.dot
|
|
1482
1488
|
- documentation/diagrams/dot/history-to-drivers.dot
|
|
1483
1489
|
- documentation/diagrams/dot/memory-skills-detailed.dot
|
|
@@ -1489,7 +1495,9 @@ files:
|
|
|
1489
1495
|
- documentation/diagrams/dot/pwn-repl-prototyping.dot
|
|
1490
1496
|
- documentation/diagrams/dot/reporting-pipeline.dot
|
|
1491
1497
|
- documentation/diagrams/dot/reverse-engineering-flow.dot
|
|
1498
|
+
- documentation/diagrams/dot/sdr-radio-flow.dot
|
|
1492
1499
|
- documentation/diagrams/dot/sessions-cron-automation.dot
|
|
1500
|
+
- documentation/diagrams/dot/swarm-multi-agent.dot
|
|
1493
1501
|
- documentation/diagrams/dot/web-application-testing.dot
|
|
1494
1502
|
- documentation/diagrams/dot/zero-day-research-flow.dot
|
|
1495
1503
|
- documentation/diagrams/driver-framework.svg
|
|
@@ -1823,8 +1831,10 @@ files:
|
|
|
1823
1831
|
- lib/pwn/ai/agent/btc.rb
|
|
1824
1832
|
- lib/pwn/ai/agent/burp_suite.rb
|
|
1825
1833
|
- lib/pwn/ai/agent/dispatch.rb
|
|
1834
|
+
- lib/pwn/ai/agent/extrospection.rb
|
|
1826
1835
|
- lib/pwn/ai/agent/gqrx.rb
|
|
1827
1836
|
- lib/pwn/ai/agent/hacker_one.rb
|
|
1837
|
+
- lib/pwn/ai/agent/introspection.rb
|
|
1828
1838
|
- lib/pwn/ai/agent/learning.rb
|
|
1829
1839
|
- lib/pwn/ai/agent/loop.rb
|
|
1830
1840
|
- lib/pwn/ai/agent/metrics.rb
|
|
@@ -1832,17 +1842,22 @@ files:
|
|
|
1832
1842
|
- lib/pwn/ai/agent/registry.rb
|
|
1833
1843
|
- lib/pwn/ai/agent/result.rb
|
|
1834
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
|
|
1835
1848
|
- lib/pwn/ai/agent/tools/learning.rb
|
|
1836
1849
|
- lib/pwn/ai/agent/tools/memory.rb
|
|
1850
|
+
- lib/pwn/ai/agent/tools/metrics.rb
|
|
1837
1851
|
- lib/pwn/ai/agent/tools/ruby_eval.rb
|
|
1852
|
+
- lib/pwn/ai/agent/tools/sessions.rb
|
|
1838
1853
|
- lib/pwn/ai/agent/tools/shell.rb
|
|
1839
1854
|
- lib/pwn/ai/agent/tools/skills.rb
|
|
1855
|
+
- lib/pwn/ai/agent/tools/swarm.rb
|
|
1840
1856
|
- lib/pwn/ai/agent/transparent_browser.rb
|
|
1841
1857
|
- lib/pwn/ai/agent/vuln_gen.rb
|
|
1842
1858
|
- lib/pwn/ai/anthropic.rb
|
|
1843
1859
|
- lib/pwn/ai/gemini.rb
|
|
1844
1860
|
- lib/pwn/ai/grok.rb
|
|
1845
|
-
- lib/pwn/ai/introspection.rb
|
|
1846
1861
|
- lib/pwn/ai/ollama.rb
|
|
1847
1862
|
- lib/pwn/ai/open_ai.rb
|
|
1848
1863
|
- lib/pwn/aws.rb
|
|
@@ -2088,6 +2103,7 @@ files:
|
|
|
2088
2103
|
- lib/pwn/sast/window_location_hash.rb
|
|
2089
2104
|
- lib/pwn/sdr.rb
|
|
2090
2105
|
- lib/pwn/sdr/decoder.rb
|
|
2106
|
+
- lib/pwn/sdr/decoder/base.rb
|
|
2091
2107
|
- lib/pwn/sdr/decoder/flex.rb
|
|
2092
2108
|
- lib/pwn/sdr/decoder/gsm.rb
|
|
2093
2109
|
- lib/pwn/sdr/decoder/pocsag.rb
|
|
@@ -2211,8 +2227,10 @@ files:
|
|
|
2211
2227
|
- spec/lib/pwn/ai/agent/btc_spec.rb
|
|
2212
2228
|
- spec/lib/pwn/ai/agent/burp_suite_spec.rb
|
|
2213
2229
|
- spec/lib/pwn/ai/agent/dispatch_spec.rb
|
|
2230
|
+
- spec/lib/pwn/ai/agent/extrospection_spec.rb
|
|
2214
2231
|
- spec/lib/pwn/ai/agent/gqrx_spec.rb
|
|
2215
2232
|
- spec/lib/pwn/ai/agent/hacker_one_spec.rb
|
|
2233
|
+
- spec/lib/pwn/ai/agent/introspection_spec.rb
|
|
2216
2234
|
- spec/lib/pwn/ai/agent/learning_spec.rb
|
|
2217
2235
|
- spec/lib/pwn/ai/agent/loop_spec.rb
|
|
2218
2236
|
- spec/lib/pwn/ai/agent/metrics_spec.rb
|
|
@@ -2220,18 +2238,23 @@ files:
|
|
|
2220
2238
|
- spec/lib/pwn/ai/agent/registry_spec.rb
|
|
2221
2239
|
- spec/lib/pwn/ai/agent/result_spec.rb
|
|
2222
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
|
|
2223
2244
|
- spec/lib/pwn/ai/agent/tools/learning_spec.rb
|
|
2224
2245
|
- spec/lib/pwn/ai/agent/tools/memory_spec.rb
|
|
2246
|
+
- spec/lib/pwn/ai/agent/tools/metrics_spec.rb
|
|
2225
2247
|
- spec/lib/pwn/ai/agent/tools/ruby_eval_spec.rb
|
|
2248
|
+
- spec/lib/pwn/ai/agent/tools/sessions_spec.rb
|
|
2226
2249
|
- spec/lib/pwn/ai/agent/tools/shell_spec.rb
|
|
2227
2250
|
- spec/lib/pwn/ai/agent/tools/skills_spec.rb
|
|
2251
|
+
- spec/lib/pwn/ai/agent/tools/swarm_spec.rb
|
|
2228
2252
|
- spec/lib/pwn/ai/agent/transparent_browser_spec.rb
|
|
2229
2253
|
- spec/lib/pwn/ai/agent/vuln_gen_spec.rb
|
|
2230
2254
|
- spec/lib/pwn/ai/agent_spec.rb
|
|
2231
2255
|
- spec/lib/pwn/ai/anthropic_spec.rb
|
|
2232
2256
|
- spec/lib/pwn/ai/gemini_spec.rb
|
|
2233
2257
|
- spec/lib/pwn/ai/grok_spec.rb
|
|
2234
|
-
- spec/lib/pwn/ai/introspection_spec.rb
|
|
2235
2258
|
- spec/lib/pwn/ai/ollama_spec.rb
|
|
2236
2259
|
- spec/lib/pwn/ai/open_ai_spec.rb
|
|
2237
2260
|
- spec/lib/pwn/ai_spec.rb
|
|
@@ -2476,6 +2499,7 @@ files:
|
|
|
2476
2499
|
- spec/lib/pwn/sast/version_spec.rb
|
|
2477
2500
|
- spec/lib/pwn/sast/window_location_hash_spec.rb
|
|
2478
2501
|
- spec/lib/pwn/sast_spec.rb
|
|
2502
|
+
- spec/lib/pwn/sdr/decoder/base_spec.rb
|
|
2479
2503
|
- spec/lib/pwn/sdr/decoder/flex_spec.rb
|
|
2480
2504
|
- spec/lib/pwn/sdr/decoder/gsm_spec.rb
|
|
2481
2505
|
- spec/lib/pwn/sdr/decoder/pocsag_spec.rb
|
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
|