pwn 0.5.615 → 0.5.618
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 +109 -85
- data/README.md.bak +200 -0
- data/bin/pwn +47 -2
- data/bin/pwn_gqrx_scanner +75 -18
- data/documentation/AI-Integration.md +42 -26
- data/documentation/AWS.md +57 -0
- data/documentation/Agent-Tool-Registry.md +56 -0
- data/documentation/Banner.md +17 -0
- data/documentation/Blockchain.md +18 -0
- data/documentation/Bounty.md +21 -0
- data/documentation/BurpSuite.md +41 -16
- data/documentation/CLI-Drivers.md +58 -0
- data/documentation/Configuration.md +66 -0
- data/documentation/Contributing.md +33 -19
- data/documentation/Cron.md +47 -0
- data/documentation/Diagrams.md +123 -40
- data/documentation/Drivers.md +43 -16
- data/documentation/Extrospection.md +54 -0
- data/documentation/FFI.md +14 -0
- data/documentation/Fuzzing.md +36 -0
- data/documentation/General-PWN-Usage.md +50 -30
- data/documentation/Hardware.md +40 -0
- data/documentation/Home.md +78 -51
- data/documentation/How-PWN-Works.md +59 -57
- data/documentation/Installation.md +53 -28
- data/documentation/Metasploit.md +34 -0
- data/documentation/NmapIt.md +18 -12
- data/documentation/PWN.png +0 -0
- data/documentation/PWN_Contributors_and_Users.png +0 -0
- data/documentation/Persistence.md +38 -0
- data/documentation/Plugins.md +97 -47
- data/documentation/Reporting.md +25 -18
- data/documentation/SAST.md +39 -22
- data/documentation/SDR.md +40 -0
- data/documentation/Sessions.md +39 -0
- data/documentation/Skills-Memory-Learning.md +49 -29
- data/documentation/Swarm.md +71 -0
- data/documentation/Transparent-Browser.md +26 -22
- data/documentation/Troubleshooting.md +44 -25
- data/documentation/WWW.md +32 -0
- data/documentation/What-is-PWN.md +51 -32
- data/documentation/Why-PWN.md +41 -11
- data/documentation/diagrams/agent-tool-registry.svg +284 -0
- data/documentation/diagrams/ai-integration-tool-calling.svg +141 -103
- data/documentation/diagrams/aws-cloud-security.svg +166 -0
- 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/cron-scheduling.svg +148 -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 +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/hardware-hacking.dot +48 -0
- 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/persistence-filesystem.dot +29 -0
- 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/extrospection-world-awareness.svg +185 -0
- data/documentation/diagrams/fuzzing-workflow.svg +128 -115
- data/documentation/diagrams/hardware-hacking.svg +163 -0
- 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/persistence-filesystem.svg +174 -0
- 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/sdr-radio-flow.svg +146 -0
- data/documentation/diagrams/sessions-cron-automation.svg +112 -68
- data/documentation/diagrams/swarm-multi-agent.svg +225 -0
- data/documentation/diagrams/web-application-testing.svg +136 -100
- data/documentation/diagrams/zero-day-research-flow.svg +116 -112
- data/documentation/fax-spectrogram.png +0 -0
- data/documentation/fax-waveform.png +0 -0
- data/documentation/pwn-REPL.md +40 -24
- data/documentation/pwn-ai-Agent.md +59 -30
- 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/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 +199 -37
- metadata +65 -3
- data/lib/pwn/ai/introspection.rb +0 -76
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'spec_helper'
|
|
4
|
+
|
|
5
|
+
describe 'PWN::AI::Agent::Tools extrospection' do
|
|
6
|
+
it 'registers the extro_snapshot tool' do
|
|
7
|
+
PWN::AI::Agent::Registry.discover(force: true)
|
|
8
|
+
expect(PWN::AI::Agent::Registry.lookup(name: 'extro_snapshot')).not_to be_nil
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it 'registers the extro_drift tool' do
|
|
12
|
+
PWN::AI::Agent::Registry.discover(force: true)
|
|
13
|
+
expect(PWN::AI::Agent::Registry.lookup(name: 'extro_drift')).not_to be_nil
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it 'registers the extro_observe tool' do
|
|
17
|
+
PWN::AI::Agent::Registry.discover(force: true)
|
|
18
|
+
expect(PWN::AI::Agent::Registry.lookup(name: 'extro_observe')).not_to be_nil
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
it 'registers the extro_observations tool' do
|
|
22
|
+
PWN::AI::Agent::Registry.discover(force: true)
|
|
23
|
+
expect(PWN::AI::Agent::Registry.lookup(name: 'extro_observations')).not_to be_nil
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it 'registers the extro_intel tool' do
|
|
27
|
+
PWN::AI::Agent::Registry.discover(force: true)
|
|
28
|
+
expect(PWN::AI::Agent::Registry.lookup(name: 'extro_intel')).not_to be_nil
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
it 'registers the extro_correlate tool' do
|
|
32
|
+
PWN::AI::Agent::Registry.discover(force: true)
|
|
33
|
+
expect(PWN::AI::Agent::Registry.lookup(name: 'extro_correlate')).not_to be_nil
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
it 'exposes the extrospection toolset in the registry' do
|
|
37
|
+
PWN::AI::Agent::Registry.discover(force: true)
|
|
38
|
+
expect(PWN::AI::Agent::Registry.toolsets).to include('extrospection')
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'spec_helper'
|
|
4
|
+
|
|
5
|
+
describe 'PWN::AI::Agent::Tools metrics' do
|
|
6
|
+
it 'registers the metrics_summary tool' do
|
|
7
|
+
PWN::AI::Agent::Registry.discover(force: true)
|
|
8
|
+
expect(PWN::AI::Agent::Registry.lookup(name: 'metrics_summary')).not_to be_nil
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it 'registers the metrics_reset tool' do
|
|
12
|
+
PWN::AI::Agent::Registry.discover(force: true)
|
|
13
|
+
expect(PWN::AI::Agent::Registry.lookup(name: 'metrics_reset')).not_to be_nil
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it 'exposes the metrics toolset in the registry' do
|
|
17
|
+
PWN::AI::Agent::Registry.discover(force: true)
|
|
18
|
+
expect(PWN::AI::Agent::Registry.toolsets).to include('metrics')
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'spec_helper'
|
|
4
|
+
|
|
5
|
+
describe 'PWN::AI::Agent::Tools sessions' do
|
|
6
|
+
it 'registers the sessions_list tool' do
|
|
7
|
+
PWN::AI::Agent::Registry.discover(force: true)
|
|
8
|
+
expect(PWN::AI::Agent::Registry.lookup(name: 'sessions_list')).not_to be_nil
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it 'registers the sessions_view tool' do
|
|
12
|
+
PWN::AI::Agent::Registry.discover(force: true)
|
|
13
|
+
expect(PWN::AI::Agent::Registry.lookup(name: 'sessions_view')).not_to be_nil
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it 'registers the sessions_delete tool' do
|
|
17
|
+
PWN::AI::Agent::Registry.discover(force: true)
|
|
18
|
+
expect(PWN::AI::Agent::Registry.lookup(name: 'sessions_delete')).not_to be_nil
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
it 'registers the sessions_stats tool' do
|
|
22
|
+
PWN::AI::Agent::Registry.discover(force: true)
|
|
23
|
+
expect(PWN::AI::Agent::Registry.lookup(name: 'sessions_stats')).not_to be_nil
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it 'registers the sessions_current tool' do
|
|
27
|
+
PWN::AI::Agent::Registry.discover(force: true)
|
|
28
|
+
expect(PWN::AI::Agent::Registry.lookup(name: 'sessions_current')).not_to be_nil
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
it 'exposes the sessions toolset in the registry' do
|
|
32
|
+
PWN::AI::Agent::Registry.discover(force: true)
|
|
33
|
+
expect(PWN::AI::Agent::Registry.toolsets).to include('sessions')
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'spec_helper'
|
|
4
|
+
|
|
5
|
+
describe 'PWN::AI::Agent::Tools swarm' do
|
|
6
|
+
before(:all) { PWN::AI::Agent::Registry.discover(force: true) }
|
|
7
|
+
|
|
8
|
+
%w[agent_list agent_spawn agent_ask agent_debate agent_broadcast swarm_bus swarm_list].each do |tool|
|
|
9
|
+
it "registers the #{tool} tool" do
|
|
10
|
+
expect(PWN::AI::Agent::Registry.lookup(name: tool)).not_to be_nil
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it 'exposes the swarm toolset in the registry' do
|
|
15
|
+
expect(PWN::AI::Agent::Registry.toolsets).to include('swarm')
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
|
|
5
|
-
describe PWN::
|
|
5
|
+
describe PWN::SDR::Decoder::Base do
|
|
6
6
|
it 'should display information for authors' do
|
|
7
|
-
authors_response = PWN::
|
|
7
|
+
authors_response = PWN::SDR::Decoder::Base
|
|
8
8
|
expect(authors_response).to respond_to :authors
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
it 'should display information for existing help method' do
|
|
12
|
-
help_response = PWN::
|
|
12
|
+
help_response = PWN::SDR::Decoder::Base
|
|
13
13
|
expect(help_response).to respond_to :help
|
|
14
14
|
end
|
|
15
15
|
end
|