pwn 0.5.628 → 0.5.631
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 +44 -36
- data/bin/pwn +35 -1
- data/bin/pwn_setup +64 -0
- data/documentation/AI-Integration.md +50 -11
- data/documentation/AWS.md +3 -3
- data/documentation/Agent-Tool-Registry.md +24 -0
- data/documentation/Banner.md +1 -1
- data/documentation/Blockchain.md +3 -3
- data/documentation/Bounty.md +4 -4
- data/documentation/BurpSuite.md +5 -2
- data/documentation/CLI-Drivers.md +29 -12
- data/documentation/Configuration.md +92 -65
- data/documentation/Contributing.md +14 -4
- data/documentation/Cron.md +5 -5
- data/documentation/Diagrams.md +4 -4
- data/documentation/Drivers.md +4 -4
- data/documentation/Extrospection.md +162 -152
- data/documentation/FFI.md +61 -24
- data/documentation/Fuzzing.md +4 -1
- data/documentation/General-PWN-Usage.md +13 -1
- data/documentation/Hardware.md +11 -7
- data/documentation/Home.md +9 -9
- data/documentation/How-PWN-Works.md +13 -12
- data/documentation/Installation.md +201 -37
- data/documentation/Metasploit.md +7 -4
- data/documentation/Mistakes.md +22 -22
- data/documentation/NmapIt.md +3 -0
- data/documentation/Persistence.md +8 -5
- data/documentation/Plugins.md +11 -11
- data/documentation/Reporting.md +5 -2
- data/documentation/SAST.md +1 -1
- data/documentation/SDR.md +55 -17
- data/documentation/Sessions.md +5 -5
- data/documentation/Skills-Memory-Learning.md +82 -69
- data/documentation/Swarm.md +26 -6
- data/documentation/Transparent-Browser.md +11 -8
- data/documentation/Troubleshooting.md +66 -10
- data/documentation/WWW.md +2 -2
- data/documentation/What-is-PWN.md +11 -11
- data/documentation/Why-PWN.md +4 -4
- data/documentation/diagrams/agent-tool-registry.svg +120 -109
- data/documentation/diagrams/ai-integration-tool-calling.svg +76 -65
- data/documentation/diagrams/aws-cloud-security.svg +1 -1
- data/documentation/diagrams/burp-vs-zap-preference.svg +27 -27
- data/documentation/diagrams/code-scanning-sast.svg +1 -1
- data/documentation/diagrams/cron-scheduling.svg +1 -1
- data/documentation/diagrams/dot/_THEME.md +1 -1
- data/documentation/diagrams/dot/agent-tool-registry.dot +6 -4
- data/documentation/diagrams/dot/ai-integration-tool-calling.dot +4 -3
- data/documentation/diagrams/dot/aws-cloud-security.dot +1 -1
- data/documentation/diagrams/dot/burp-vs-zap-preference.dot +1 -1
- data/documentation/diagrams/dot/code-scanning-sast.dot +1 -1
- data/documentation/diagrams/dot/cron-scheduling.dot +1 -1
- data/documentation/diagrams/dot/driver-framework.dot +1 -1
- data/documentation/diagrams/dot/extrospection-world-awareness.dot +1 -1
- data/documentation/diagrams/dot/history-to-drivers.dot +1 -1
- data/documentation/diagrams/dot/memory-skills-detailed.dot +27 -5
- data/documentation/diagrams/dot/mistakes-negative-feedback.dot +6 -6
- data/documentation/diagrams/dot/overall-pwn-architecture.dot +7 -5
- data/documentation/diagrams/dot/persistence-filesystem.dot +6 -4
- data/documentation/diagrams/dot/plugin-ecosystem.dot +1 -1
- data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +31 -10
- data/documentation/diagrams/dot/pwn-repl-prototyping.dot +1 -1
- data/documentation/diagrams/dot/reporting-pipeline.dot +1 -1
- data/documentation/diagrams/dot/sdr-radio-flow.dot +16 -12
- data/documentation/diagrams/dot/sessions-cron-automation.dot +1 -1
- data/documentation/diagrams/dot/swarm-multi-agent.dot +8 -2
- data/documentation/diagrams/driver-framework.svg +1 -1
- data/documentation/diagrams/extrospection-world-awareness.svg +129 -129
- data/documentation/diagrams/history-to-drivers.svg +32 -32
- data/documentation/diagrams/memory-skills-detailed.svg +268 -137
- data/documentation/diagrams/mistakes-negative-feedback.svg +51 -51
- data/documentation/diagrams/overall-pwn-architecture.svg +188 -171
- data/documentation/diagrams/persistence-filesystem.svg +120 -89
- data/documentation/diagrams/plugin-ecosystem.svg +1 -1
- data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +407 -255
- data/documentation/diagrams/pwn-repl-prototyping.svg +1 -1
- data/documentation/diagrams/reporting-pipeline.svg +1 -1
- data/documentation/diagrams/sdr-radio-flow.svg +181 -146
- data/documentation/diagrams/sessions-cron-automation.svg +1 -1
- data/documentation/diagrams/swarm-multi-agent.svg +156 -119
- data/documentation/pwn-REPL.md +8 -7
- data/documentation/pwn-ai-Agent.md +57 -29
- data/lib/pwn/ai/agent/dispatch.rb +1 -1
- data/lib/pwn/ai/agent/extrospection.rb +39 -39
- data/lib/pwn/ai/agent/learning.rb +1 -1
- data/lib/pwn/ai/agent/loop.rb +40 -0
- data/lib/pwn/ai/agent/metrics.rb +1 -1
- data/lib/pwn/ai/agent/tools/extrospection.rb +20 -20
- data/lib/pwn/config.rb +3 -3
- data/lib/pwn/ffi/hack_rf.rb +119 -0
- data/lib/pwn/ffi/soapy_sdr.rb +165 -3
- data/lib/pwn/memory_index.rb +1 -1
- data/lib/pwn/plugins/repl.rb +26 -2
- data/lib/pwn/sdr/decoder/adsb.rb +1 -1
- data/lib/pwn/sdr/decoder/base.rb +30 -16
- data/lib/pwn/sdr/decoder/flex.rb +378 -120
- data/lib/pwn/sdr/decoder/rtl433.rb +1 -1
- data/lib/pwn/sdr/decoder/rtty.rb +1 -1
- data/lib/pwn/sdr/decoder.rb +1 -1
- data/lib/pwn/sdr/gqrx.rb +7 -7
- data/lib/pwn/setup.rb +563 -0
- data/lib/pwn/version.rb +1 -1
- data/lib/pwn.rb +1 -0
- data/spec/lib/pwn/sdr/decoder/flex_spec.rb +67 -0
- data/spec/lib/pwn/setup_spec.rb +28 -0
- data/third_party/pwn_rdoc.jsonl +40 -12
- metadata +5 -1
|
@@ -4,169 +4,180 @@
|
|
|
4
4
|
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
5
|
-->
|
|
6
6
|
<!-- Title: PWN_AI_Integration Pages: 1 -->
|
|
7
|
-
<svg width="
|
|
8
|
-
viewBox="0.00 0.00
|
|
9
|
-
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2
|
|
7
|
+
<svg width="798pt" height="530pt"
|
|
8
|
+
viewBox="0.00 0.00 798.00 530.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
9
|
+
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2 486.95)">
|
|
10
10
|
<title>PWN_AI_Integration</title>
|
|
11
|
-
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-
|
|
12
|
-
<text xml:space="preserve" text-anchor="start" x="
|
|
13
|
-
<text xml:space="preserve" text-anchor="start" x="
|
|
11
|
+
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-486.95 754.95,-486.95 754.95,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="164.62" y="-421.75" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">PWN::AI - Multi-Provider LLM Integration</text>
|
|
13
|
+
<text xml:space="preserve" text-anchor="start" x="245.25" y="-410.3" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">one Agent Loop · five interchangeable engines</text>
|
|
14
14
|
<g id="clust1" class="cluster">
|
|
15
15
|
<title>cluster_c</title>
|
|
16
|
-
<path fill="#2e1065" stroke="#6d28d9" d="
|
|
17
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
16
|
+
<path fill="#2e1065" stroke="#6d28d9" d="M331.5,-33.75C331.5,-33.75 483.25,-33.75 483.25,-33.75 489.25,-33.75 495.25,-39.75 495.25,-45.75 495.25,-45.75 495.25,-384.75 495.25,-384.75 495.25,-390.75 489.25,-396.75 483.25,-396.75 483.25,-396.75 331.5,-396.75 331.5,-396.75 325.5,-396.75 319.5,-390.75 319.5,-384.75 319.5,-384.75 319.5,-45.75 319.5,-45.75 319.5,-39.75 325.5,-33.75 331.5,-33.75"/>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="407.38" y="-373.75" font-family="sans-Serif" font-size="20.00" fill="#ddd6fe">PWN::AI::* Clients</text>
|
|
18
18
|
</g>
|
|
19
19
|
<g id="clust3" class="cluster">
|
|
20
20
|
<title>cluster_api</title>
|
|
21
|
-
<path fill="#450a0a" stroke="#b91c1c" stroke-dasharray="5,2" d="
|
|
22
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
21
|
+
<path fill="#450a0a" stroke="#b91c1c" stroke-dasharray="5,2" d="M586.25,-41.75C586.25,-41.75 699.75,-41.75 699.75,-41.75 705.75,-41.75 711.75,-47.75 711.75,-53.75 711.75,-53.75 711.75,-384.75 711.75,-384.75 711.75,-390.75 705.75,-396.75 699.75,-396.75 699.75,-396.75 586.25,-396.75 586.25,-396.75 580.25,-396.75 574.25,-390.75 574.25,-384.75 574.25,-384.75 574.25,-53.75 574.25,-53.75 574.25,-47.75 580.25,-41.75 586.25,-41.75"/>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="643" y="-373.75" font-family="sans-Serif" font-size="20.00" fill="#fecaca">Provider APIs</text>
|
|
23
23
|
</g>
|
|
24
24
|
<!-- Loop -->
|
|
25
25
|
<g id="node1" class="node">
|
|
26
26
|
<title>Loop</title>
|
|
27
|
-
<path fill="#7dd3fc" stroke="#334155" stroke-width="2" d="
|
|
28
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
29
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
27
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="2" d="M127,-192.75C127,-192.75 36.75,-192.75 36.75,-192.75 30.75,-192.75 24.75,-186.75 24.75,-180.75 24.75,-180.75 24.75,-168.75 24.75,-168.75 24.75,-162.75 30.75,-156.75 36.75,-156.75 36.75,-156.75 127,-156.75 127,-156.75 133,-156.75 139,-162.75 139,-168.75 139,-168.75 139,-180.75 139,-180.75 139,-186.75 133,-192.75 127,-192.75"/>
|
|
28
|
+
<text xml:space="preserve" text-anchor="middle" x="81.88" y="-177.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">PWN::AI::Agent::Loop</text>
|
|
29
|
+
<text xml:space="preserve" text-anchor="middle" x="81.88" y="-165.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">tool-calling harness</text>
|
|
30
30
|
</g>
|
|
31
31
|
<!-- OpenAI -->
|
|
32
32
|
<g id="node2" class="node">
|
|
33
33
|
<title>OpenAI</title>
|
|
34
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
35
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
34
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M421.88,-357.75C421.88,-357.75 391.88,-357.75 391.88,-357.75 385.88,-357.75 379.88,-351.75 379.88,-345.75 379.88,-345.75 379.88,-333.75 379.88,-333.75 379.88,-327.75 385.88,-321.75 391.88,-321.75 391.88,-321.75 421.88,-321.75 421.88,-321.75 427.88,-321.75 433.88,-327.75 433.88,-333.75 433.88,-333.75 433.88,-345.75 433.88,-345.75 433.88,-351.75 427.88,-357.75 421.88,-357.75"/>
|
|
35
|
+
<text xml:space="preserve" text-anchor="middle" x="406.88" y="-336.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">OpenAI</text>
|
|
36
36
|
</g>
|
|
37
37
|
<!-- Loop->OpenAI -->
|
|
38
38
|
<g id="edge1" class="edge">
|
|
39
39
|
<title>Loop->OpenAI</title>
|
|
40
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
41
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
40
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M100.06,-193.75C123.03,-218.01 166.03,-259.74 210.75,-283.75 262.28,-311.41 328.99,-326.74 369.55,-334.1"/>
|
|
41
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="368.97,-336.85 377.33,-335.47 369.94,-331.33 368.97,-336.85"/>
|
|
42
42
|
</g>
|
|
43
43
|
<!-- Anthropic -->
|
|
44
44
|
<g id="node3" class="node">
|
|
45
45
|
<title>Anthropic</title>
|
|
46
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
47
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
46
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M423.5,-289.75C423.5,-289.75 390.25,-289.75 390.25,-289.75 384.25,-289.75 378.25,-283.75 378.25,-277.75 378.25,-277.75 378.25,-265.75 378.25,-265.75 378.25,-259.75 384.25,-253.75 390.25,-253.75 390.25,-253.75 423.5,-253.75 423.5,-253.75 429.5,-253.75 435.5,-259.75 435.5,-265.75 435.5,-265.75 435.5,-277.75 435.5,-277.75 435.5,-283.75 429.5,-289.75 423.5,-289.75"/>
|
|
47
|
+
<text xml:space="preserve" text-anchor="middle" x="406.88" y="-268.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Anthropic</text>
|
|
48
48
|
</g>
|
|
49
49
|
<!-- Loop->Anthropic -->
|
|
50
50
|
<g id="edge2" class="edge">
|
|
51
51
|
<title>Loop->Anthropic</title>
|
|
52
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
53
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
52
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M107.26,-193.62C131.9,-211.59 171.79,-237.77 210.75,-250.75 263.23,-268.24 327.63,-271.99 367.72,-272.4"/>
|
|
53
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="367.64,-275.2 375.65,-272.43 367.66,-269.6 367.64,-275.2"/>
|
|
54
|
+
</g>
|
|
55
|
+
<!-- Loop->Anthropic -->
|
|
56
|
+
<g id="edge12" class="edge">
|
|
57
|
+
<title>Loop->Anthropic</title>
|
|
58
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M139.74,-185.82C179.58,-194.16 233.84,-206.73 280.5,-221.75 298.33,-227.49 302.12,-230.76 319.5,-237.75 335.6,-244.22 353.43,-251.26 368.69,-257.25"/>
|
|
59
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="367.52,-259.8 375.99,-260.11 369.57,-254.58 367.52,-259.8"/>
|
|
60
|
+
<text xml:space="preserve" text-anchor="middle" x="245.62" y="-234.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">reflect_engine</text>
|
|
61
|
+
<text xml:space="preserve" text-anchor="middle" x="245.62" y="-223.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">(teacher-student)</text>
|
|
54
62
|
</g>
|
|
55
63
|
<!-- Grok -->
|
|
56
64
|
<g id="node4" class="node">
|
|
57
65
|
<title>Grok</title>
|
|
58
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
59
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
60
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
66
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M443,-221.75C443,-221.75 370.75,-221.75 370.75,-221.75 364.75,-221.75 358.75,-215.75 358.75,-209.75 358.75,-209.75 358.75,-197.75 358.75,-197.75 358.75,-191.75 364.75,-185.75 370.75,-185.75 370.75,-185.75 443,-185.75 443,-185.75 449,-185.75 455,-191.75 455,-197.75 455,-197.75 455,-209.75 455,-209.75 455,-215.75 449,-221.75 443,-221.75"/>
|
|
67
|
+
<text xml:space="preserve" text-anchor="middle" x="406.88" y="-206.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Grok</text>
|
|
68
|
+
<text xml:space="preserve" text-anchor="middle" x="406.88" y="-194.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">OAuth device flow</text>
|
|
61
69
|
</g>
|
|
62
70
|
<!-- Loop->Grok -->
|
|
63
71
|
<g id="edge3" class="edge">
|
|
64
72
|
<title>Loop->Grok</title>
|
|
65
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
66
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
73
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M139.88,-179.87C198.51,-185.13 289.36,-193.29 348.23,-198.57"/>
|
|
74
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="347.94,-201.36 356.15,-199.29 348.44,-195.78 347.94,-201.36"/>
|
|
67
75
|
</g>
|
|
68
76
|
<!-- Gemini -->
|
|
69
77
|
<g id="node5" class="node">
|
|
70
78
|
<title>Gemini</title>
|
|
71
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
72
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
79
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M421.88,-153.75C421.88,-153.75 391.88,-153.75 391.88,-153.75 385.88,-153.75 379.88,-147.75 379.88,-141.75 379.88,-141.75 379.88,-129.75 379.88,-129.75 379.88,-123.75 385.88,-117.75 391.88,-117.75 391.88,-117.75 421.88,-117.75 421.88,-117.75 427.88,-117.75 433.88,-123.75 433.88,-129.75 433.88,-129.75 433.88,-141.75 433.88,-141.75 433.88,-147.75 427.88,-153.75 421.88,-153.75"/>
|
|
80
|
+
<text xml:space="preserve" text-anchor="middle" x="406.88" y="-132.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Gemini</text>
|
|
73
81
|
</g>
|
|
74
82
|
<!-- Loop->Gemini -->
|
|
75
83
|
<g id="edge4" class="edge">
|
|
76
84
|
<title>Loop->Gemini</title>
|
|
77
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
78
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
85
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M139.88,-167.87C206.2,-159.86 313.73,-146.88 369.59,-140.13"/>
|
|
86
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="369.83,-142.92 377.44,-139.18 369.16,-137.36 369.83,-142.92"/>
|
|
79
87
|
</g>
|
|
80
88
|
<!-- Ollama -->
|
|
81
89
|
<g id="node6" class="node">
|
|
82
90
|
<title>Ollama</title>
|
|
83
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
84
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
85
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
91
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M471.12,-85.75C471.12,-85.75 342.62,-85.75 342.62,-85.75 336.62,-85.75 330.62,-79.75 330.62,-73.75 330.62,-73.75 330.62,-53.75 330.62,-53.75 330.62,-47.75 336.62,-41.75 342.62,-41.75 342.62,-41.75 471.12,-41.75 471.12,-41.75 477.12,-41.75 483.12,-47.75 483.12,-53.75 483.12,-53.75 483.12,-73.75 483.12,-73.75 483.12,-79.75 477.12,-85.75 471.12,-85.75"/>
|
|
92
|
+
<text xml:space="preserve" text-anchor="middle" x="406.88" y="-72.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Ollama (local)</text>
|
|
93
|
+
<text xml:space="preserve" text-anchor="middle" x="406.88" y="-60.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">/api/chat  num_ctx · keep_alive</text>
|
|
94
|
+
<text xml:space="preserve" text-anchor="middle" x="406.88" y="-48.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">/api/embed → MemoryIndex</text>
|
|
86
95
|
</g>
|
|
87
96
|
<!-- Loop->Ollama -->
|
|
88
97
|
<g id="edge5" class="edge">
|
|
89
98
|
<title>Loop->Ollama</title>
|
|
90
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
91
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
99
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M138.03,-155.79C191.14,-137.54 271.86,-109.8 330.8,-89.55"/>
|
|
100
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="331.55,-92.25 338.21,-87 329.73,-86.96 331.55,-92.25"/>
|
|
92
101
|
</g>
|
|
93
102
|
<!-- A1 -->
|
|
94
103
|
<g id="node7" class="node">
|
|
95
104
|
<title>A1</title>
|
|
96
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="
|
|
97
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
105
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M671.5,-357.75C671.5,-357.75 613.5,-357.75 613.5,-357.75 607.5,-357.75 601.5,-351.75 601.5,-345.75 601.5,-345.75 601.5,-333.75 601.5,-333.75 601.5,-327.75 607.5,-321.75 613.5,-321.75 613.5,-321.75 671.5,-321.75 671.5,-321.75 677.5,-321.75 683.5,-327.75 683.5,-333.75 683.5,-333.75 683.5,-345.75 683.5,-345.75 683.5,-351.75 677.5,-357.75 671.5,-357.75"/>
|
|
106
|
+
<text xml:space="preserve" text-anchor="middle" x="642.5" y="-336.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">api.openai.com</text>
|
|
98
107
|
</g>
|
|
99
108
|
<!-- OpenAI->A1 -->
|
|
100
109
|
<g id="edge6" class="edge">
|
|
101
110
|
<title>OpenAI->A1</title>
|
|
102
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="
|
|
103
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
111
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M434.22,-339.75C472.21,-339.75 543.1,-339.75 591.28,-339.75"/>
|
|
112
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="591.23,-342.55 599.23,-339.75 591.23,-336.95 591.23,-342.55"/>
|
|
104
113
|
</g>
|
|
105
114
|
<!-- A2 -->
|
|
106
115
|
<g id="node8" class="node">
|
|
107
116
|
<title>A2</title>
|
|
108
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="
|
|
109
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
117
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M677.12,-289.75C677.12,-289.75 607.88,-289.75 607.88,-289.75 601.88,-289.75 595.88,-283.75 595.88,-277.75 595.88,-277.75 595.88,-265.75 595.88,-265.75 595.88,-259.75 601.88,-253.75 607.88,-253.75 607.88,-253.75 677.12,-253.75 677.12,-253.75 683.12,-253.75 689.12,-259.75 689.12,-265.75 689.12,-265.75 689.12,-277.75 689.12,-277.75 689.12,-283.75 683.12,-289.75 677.12,-289.75"/>
|
|
118
|
+
<text xml:space="preserve" text-anchor="middle" x="642.5" y="-268.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">api.anthropic.com</text>
|
|
110
119
|
</g>
|
|
111
120
|
<!-- Anthropic->A2 -->
|
|
112
121
|
<g id="edge7" class="edge">
|
|
113
122
|
<title>Anthropic->A2</title>
|
|
114
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="
|
|
115
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
123
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M436.06,-271.75C472.99,-271.75 538.61,-271.75 585.76,-271.75"/>
|
|
124
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="585.56,-274.55 593.56,-271.75 585.56,-268.95 585.56,-274.55"/>
|
|
116
125
|
</g>
|
|
117
126
|
<!-- A3 -->
|
|
118
127
|
<g id="node9" class="node">
|
|
119
128
|
<title>A3</title>
|
|
120
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="
|
|
121
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
122
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
129
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M657.5,-221.75C657.5,-221.75 627.5,-221.75 627.5,-221.75 621.5,-221.75 615.5,-215.75 615.5,-209.75 615.5,-209.75 615.5,-197.75 615.5,-197.75 615.5,-191.75 621.5,-185.75 627.5,-185.75 627.5,-185.75 657.5,-185.75 657.5,-185.75 663.5,-185.75 669.5,-191.75 669.5,-197.75 669.5,-197.75 669.5,-209.75 669.5,-209.75 669.5,-215.75 663.5,-221.75 657.5,-221.75"/>
|
|
130
|
+
<text xml:space="preserve" text-anchor="middle" x="642.5" y="-206.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">api.x.ai</text>
|
|
131
|
+
<text xml:space="preserve" text-anchor="middle" x="642.5" y="-194.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">auth.x.ai</text>
|
|
123
132
|
</g>
|
|
124
133
|
<!-- Grok->A3 -->
|
|
125
134
|
<g id="edge8" class="edge">
|
|
126
135
|
<title>Grok->A3</title>
|
|
127
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="
|
|
128
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
136
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M455.43,-203.75C499.74,-203.75 564.85,-203.75 605.14,-203.75"/>
|
|
137
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="605.09,-206.55 613.09,-203.75 605.09,-200.95 605.09,-206.55"/>
|
|
129
138
|
</g>
|
|
130
139
|
<!-- A4 -->
|
|
131
140
|
<g id="node10" class="node">
|
|
132
141
|
<title>A4</title>
|
|
133
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="
|
|
134
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
135
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
142
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M680.5,-153.75C680.5,-153.75 604.5,-153.75 604.5,-153.75 598.5,-153.75 592.5,-147.75 592.5,-141.75 592.5,-141.75 592.5,-129.75 592.5,-129.75 592.5,-123.75 598.5,-117.75 604.5,-117.75 604.5,-117.75 680.5,-117.75 680.5,-117.75 686.5,-117.75 692.5,-123.75 692.5,-129.75 692.5,-129.75 692.5,-141.75 692.5,-141.75 692.5,-147.75 686.5,-153.75 680.5,-153.75"/>
|
|
143
|
+
<text xml:space="preserve" text-anchor="middle" x="642.5" y="-138.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">generativelanguage</text>
|
|
144
|
+
<text xml:space="preserve" text-anchor="middle" x="642.5" y="-126.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">.googleapis.com</text>
|
|
136
145
|
</g>
|
|
137
146
|
<!-- Gemini->A4 -->
|
|
138
147
|
<g id="edge9" class="edge">
|
|
139
148
|
<title>Gemini->A4</title>
|
|
140
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="
|
|
141
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
149
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M434.22,-135.75C469.87,-135.75 534.49,-135.75 582.13,-135.75"/>
|
|
150
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="582.06,-138.55 590.06,-135.75 582.06,-132.95 582.06,-138.55"/>
|
|
142
151
|
</g>
|
|
143
152
|
<!-- A5 -->
|
|
144
153
|
<g id="node11" class="node">
|
|
145
154
|
<title>A5</title>
|
|
146
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="
|
|
147
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
155
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M672.62,-85.75C672.62,-85.75 612.38,-85.75 612.38,-85.75 606.38,-85.75 600.38,-79.75 600.38,-73.75 600.38,-73.75 600.38,-61.75 600.38,-61.75 600.38,-55.75 606.38,-49.75 612.38,-49.75 612.38,-49.75 672.62,-49.75 672.62,-49.75 678.62,-49.75 684.62,-55.75 684.62,-61.75 684.62,-61.75 684.62,-73.75 684.62,-73.75 684.62,-79.75 678.62,-85.75 672.62,-85.75"/>
|
|
156
|
+
<text xml:space="preserve" text-anchor="middle" x="642.5" y="-64.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">localhost:11434</text>
|
|
148
157
|
</g>
|
|
149
158
|
<!-- Ollama->A5 -->
|
|
150
159
|
<g id="edge10" class="edge">
|
|
151
160
|
<title>Ollama->A5</title>
|
|
152
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="
|
|
153
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
161
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M483.73,-65.05C518.59,-65.65 559.03,-66.34 590.24,-66.87"/>
|
|
162
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="590.01,-69.67 598.06,-67.01 590.11,-64.07 590.01,-69.67"/>
|
|
154
163
|
</g>
|
|
155
164
|
<!-- Cfg -->
|
|
156
165
|
<g id="node12" class="node">
|
|
157
166
|
<title>Cfg</title>
|
|
158
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
159
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
160
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
161
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
162
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
167
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M163.75,-85C163.75,-89.69 127.05,-93.5 81.88,-93.5 36.7,-93.5 0,-89.69 0,-85 0,-85 0,-8.5 0,-8.5 0,-3.81 36.7,0 81.88,0 127.05,0 163.75,-3.81 163.75,-8.5 163.75,-8.5 163.75,-85 163.75,-85"/>
|
|
168
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M163.75,-85C163.75,-80.31 127.05,-76.5 81.88,-76.5 36.7,-76.5 0,-80.31 0,-85"/>
|
|
169
|
+
<text xml:space="preserve" text-anchor="middle" x="81.88" y="-67.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">PWN::Config</text>
|
|
170
|
+
<text xml:space="preserve" text-anchor="middle" x="81.88" y="-55.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">~/.pwn/pwn.yaml</text>
|
|
171
|
+
<text xml:space="preserve" text-anchor="middle" x="81.88" y="-43.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">active · key · oauth</text>
|
|
172
|
+
<text xml:space="preserve" text-anchor="middle" x="81.88" y="-31.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">prompt_budget · reflect_engine</text>
|
|
173
|
+
<text xml:space="preserve" text-anchor="middle" x="81.88" y="-19.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">plan_first · tool_router · escalation</text>
|
|
163
174
|
</g>
|
|
164
175
|
<!-- Cfg->Loop -->
|
|
165
176
|
<g id="edge11" class="edge">
|
|
166
177
|
<title>Cfg->Loop</title>
|
|
167
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
168
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
169
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
178
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M81.88,-94.05C81.88,-111.52 81.88,-130.78 81.88,-146.11"/>
|
|
179
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="79.08,-146.04 81.88,-154.04 84.68,-146.04 79.08,-146.04"/>
|
|
180
|
+
<text xml:space="preserve" text-anchor="middle" x="73.62" y="-121.83" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">active engine</text>
|
|
170
181
|
</g>
|
|
171
182
|
</g>
|
|
172
183
|
</svg>
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2 311.2)">
|
|
10
10
|
<title>PWN_AWS</title>
|
|
11
11
|
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-311.2 1021.2,-311.2 1021.2,43.2 -43.2,43.2"/>
|
|
12
|
-
<text xml:space="preserve" text-anchor="start" x="
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="253.12" y="-246" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">PWN::AWS - Cloud Security (90 service wrappers)</text>
|
|
13
13
|
<text xml:space="preserve" text-anchor="start" x="379.12" y="-234.55" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">enumerate → misconfig → escalate → persist</text>
|
|
14
14
|
<g id="clust1" class="cluster">
|
|
15
15
|
<title>cluster_enum</title>
|
|
@@ -4,66 +4,66 @@
|
|
|
4
4
|
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
5
|
-->
|
|
6
6
|
<!-- Title: PWN_BurpVsZap Pages: 1 -->
|
|
7
|
-
<svg width="
|
|
8
|
-
viewBox="0.00 0.00
|
|
7
|
+
<svg width="625pt" height="421pt"
|
|
8
|
+
viewBox="0.00 0.00 625.00 421.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
9
9
|
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2 377.9)">
|
|
10
10
|
<title>PWN_BurpVsZap</title>
|
|
11
|
-
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-377.9
|
|
12
|
-
<text xml:space="preserve" text-anchor="start" x="8" y="-312.7" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">Web Proxy Selection
|
|
11
|
+
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-377.9 581.95,-377.9 581.95,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="8" y="-312.7" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">Web Proxy Selection - BurpSuite ⭐ preferred over ZAP</text>
|
|
13
13
|
<!-- Need -->
|
|
14
14
|
<g id="node1" class="node">
|
|
15
15
|
<title>Need</title>
|
|
16
|
-
<polygon fill="#7dd3fc" stroke="#334155" stroke-width="1.3" points="
|
|
17
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
18
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
16
|
+
<polygon fill="#7dd3fc" stroke="#334155" stroke-width="1.3" points="279.38,-302.7 207.29,-263.1 279.38,-223.5 351.46,-263.1 279.38,-302.7"/>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="279.38" y="-265.6" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Need web proxy /</text>
|
|
18
|
+
<text xml:space="preserve" text-anchor="middle" x="279.38" y="-253.6" font-family="sans-Serif" font-size="10.00" fill="#0f172a">active scanner?</text>
|
|
19
19
|
</g>
|
|
20
20
|
<!-- Burp -->
|
|
21
21
|
<g id="node2" class="node">
|
|
22
22
|
<title>Burp</title>
|
|
23
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="2" d="
|
|
24
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
25
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
26
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
23
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="2" d="M253.12,-147C253.12,-147 115.62,-147 115.62,-147 109.62,-147 103.62,-141 103.62,-135 103.62,-135 103.62,-115 103.62,-115 103.62,-109 109.62,-103 115.62,-103 115.62,-103 253.12,-103 253.12,-103 259.12,-103 265.12,-109 265.12,-115 265.12,-115 265.12,-135 265.12,-135 265.12,-141 259.12,-147 253.12,-147"/>
|
|
24
|
+
<text xml:space="preserve" text-anchor="middle" x="184.38" y="-133.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">PWN::Plugins::BurpSuite</text>
|
|
25
|
+
<text xml:space="preserve" text-anchor="middle" x="184.38" y="-121.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">headless · REST · richer scanner</text>
|
|
26
|
+
<text xml:space="preserve" text-anchor="middle" x="184.38" y="-109.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">BApp ecosystem</text>
|
|
27
27
|
</g>
|
|
28
28
|
<!-- Need->Burp -->
|
|
29
29
|
<g id="edge1" class="edge">
|
|
30
30
|
<title>Need->Burp</title>
|
|
31
|
-
<path fill="none" stroke="#34d399" stroke-width="2" d="
|
|
32
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="2" points="
|
|
33
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
31
|
+
<path fill="none" stroke="#34d399" stroke-width="2" d="M256.93,-235.55C246.12,-222.34 233.24,-205.92 222.62,-190.5 215.39,-179.99 208.09,-168.07 201.84,-157.37"/>
|
|
32
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="2" points="204.34,-156.11 197.93,-150.58 199.49,-158.91 204.34,-156.11"/>
|
|
33
|
+
<text xml:space="preserve" text-anchor="middle" x="260.5" y="-181.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">Burp Pro available</text>
|
|
34
34
|
</g>
|
|
35
35
|
<!-- Zap -->
|
|
36
36
|
<g id="node3" class="node">
|
|
37
37
|
<title>Zap</title>
|
|
38
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
39
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
40
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
38
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M423.12,-143C423.12,-143 327.62,-143 327.62,-143 321.62,-143 315.62,-137 315.62,-131 315.62,-131 315.62,-119 315.62,-119 315.62,-113 321.62,-107 327.62,-107 327.62,-107 423.12,-107 423.12,-107 429.12,-107 435.12,-113 435.12,-119 435.12,-119 435.12,-131 435.12,-131 435.12,-137 429.12,-143 423.12,-143"/>
|
|
39
|
+
<text xml:space="preserve" text-anchor="middle" x="375.38" y="-127.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">PWN::Plugins::Zaproxy</text>
|
|
40
|
+
<text xml:space="preserve" text-anchor="middle" x="375.38" y="-115.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">OSS fallback</text>
|
|
41
41
|
</g>
|
|
42
42
|
<!-- Need->Zap -->
|
|
43
43
|
<g id="edge2" class="edge">
|
|
44
44
|
<title>Need->Zap</title>
|
|
45
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
46
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
47
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
45
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M299.27,-233.9C316.39,-209.63 340.87,-174.92 357.41,-151.47"/>
|
|
46
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="359.65,-153.15 361.98,-144.99 355.08,-149.92 359.65,-153.15"/>
|
|
47
|
+
<text xml:space="preserve" text-anchor="middle" x="351.72" y="-181.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">fallback</text>
|
|
48
48
|
</g>
|
|
49
49
|
<!-- Both -->
|
|
50
50
|
<g id="node4" class="node">
|
|
51
51
|
<title>Both</title>
|
|
52
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
53
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
54
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
52
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M383.75,-36C383.75,-36 175,-36 175,-36 169,-36 163,-30 163,-24 163,-24 163,-12 163,-12 163,-6 169,0 175,0 175,0 383.75,0 383.75,0 389.75,0 395.75,-6 395.75,-12 395.75,-12 395.75,-24 395.75,-24 395.75,-30 389.75,-36 383.75,-36"/>
|
|
53
|
+
<text xml:space="preserve" text-anchor="middle" x="279.38" y="-20.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Same downstream:</text>
|
|
54
|
+
<text xml:space="preserve" text-anchor="middle" x="279.38" y="-8.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">TransparentBrowser proxy · Reports · DefectDojo</text>
|
|
55
55
|
</g>
|
|
56
56
|
<!-- Burp->Both -->
|
|
57
57
|
<g id="edge3" class="edge">
|
|
58
58
|
<title>Burp->Both</title>
|
|
59
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
60
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
59
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M204.06,-102.24C219.47,-85.21 240.9,-61.52 256.97,-43.77"/>
|
|
60
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="258.88,-45.83 262.17,-38.02 254.73,-42.07 258.88,-45.83"/>
|
|
61
61
|
</g>
|
|
62
62
|
<!-- Zap->Both -->
|
|
63
63
|
<g id="edge4" class="edge">
|
|
64
64
|
<title>Zap->Both</title>
|
|
65
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
66
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
65
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M359.52,-106.66C343.82,-89.49 319.62,-63.02 301.92,-43.66"/>
|
|
66
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="304.04,-41.83 296.58,-37.82 299.91,-45.61 304.04,-41.83"/>
|
|
67
67
|
</g>
|
|
68
68
|
</g>
|
|
69
69
|
</svg>
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2 441.2)">
|
|
10
10
|
<title>PWN_SAST</title>
|
|
11
11
|
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-441.2 775.2,-441.2 775.2,43.2 -43.2,43.2"/>
|
|
12
|
-
<text xml:space="preserve" text-anchor="start" x="
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="138" y="-376" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">PWN::SAST - Static Application Security Testing</text>
|
|
13
13
|
<text xml:space="preserve" text-anchor="start" x="229.88" y="-364.55" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">48 rules · multi-language · bin/pwn_sast · Reports::SAST</text>
|
|
14
14
|
<g id="clust1" class="cluster">
|
|
15
15
|
<title>cluster_engine</title>
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2 348.08)">
|
|
10
10
|
<title>PWN_Cron</title>
|
|
11
11
|
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-348.08 1204.45,-348.08 1204.45,43.2 -43.2,43.2"/>
|
|
12
|
-
<text xml:space="preserve" text-anchor="start" x="
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="379.25" y="-282.88" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">PWN::Cron - Scheduled Autonomous Jobs</text>
|
|
13
13
|
<text xml:space="preserve" text-anchor="start" x="452" y="-271.43" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">prompt · ruby · script → jobs.yml → crontab → pwn-ai</text>
|
|
14
14
|
<g id="clust1" class="cluster">
|
|
15
15
|
<title>cluster_kinds</title>
|
|
@@ -18,7 +18,7 @@ SVGs feel like a single coherent product.
|
|
|
18
18
|
|
|
19
19
|
Layout rules (to avoid criss-crossed edges):
|
|
20
20
|
1. `rankdir=TB` (or `LR` for pipelines), `newrank=true`, `splines=spline`.
|
|
21
|
-
2. Group every layer with `{rank=same; ...}`
|
|
21
|
+
2. Group every layer with `{rank=same; ...}` - edges go layer→layer only.
|
|
22
22
|
3. Side/back edges use `constraint=false` + `style=dashed` and are kept to ≤3 per diagram.
|
|
23
23
|
4. One `subgraph cluster_*` per logical layer with a translucent fill.
|
|
24
24
|
5. Node order inside a rank matches edge destinations in the next rank
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
digraph "PWN_Agent_Tool_Registry" {
|
|
2
2
|
graph [
|
|
3
|
-
label=<<B>PWN::AI::Agent::Registry
|
|
3
|
+
label=<<B>PWN::AI::Agent::Registry - Toolsets exposed to the LLM</B><BR/><FONT POINT-SIZE="11" COLOR="#94a3b8">10 toolsets · 61 callable tools · lib/pwn/ai/agent/tools/*</FONT>>,
|
|
4
4
|
labelloc=t, fontsize=20, fontname="Helvetica",
|
|
5
5
|
rankdir=LR, splines=spline, nodesep=0.35, ranksep=1.4,
|
|
6
6
|
bgcolor="#0f172a", fontcolor="#e2e8f0", pad=0.6, newrank=true
|
|
@@ -9,7 +9,7 @@ digraph "PWN_Agent_Tool_Registry" {
|
|
|
9
9
|
shape=box, penwidth=1.3, color="#334155", fontcolor="#0f172a"];
|
|
10
10
|
edge [color="#94a3b8", penwidth=1.1, arrowsize=0.7];
|
|
11
11
|
|
|
12
|
-
Registry [label="Registry\nJSON-Schema\
|
|
12
|
+
Registry [label="Registry\nJSON-Schema function defs\nrank(query) · CORE_TOOLS\ntool_router → CORE + top-K", fillcolor="#c4b5fd", fontsize=12, penwidth=2];
|
|
13
13
|
|
|
14
14
|
subgraph cluster_ts {
|
|
15
15
|
label="Toolsets"; fontcolor="#a7f3d0"; style=rounded;
|
|
@@ -35,9 +35,9 @@ digraph "PWN_Agent_Tool_Registry" {
|
|
|
35
35
|
t_mem [label="memory_remember\nrecall · forget · clear"];
|
|
36
36
|
t_skill [label="skill_list · view\ncreate · add_reference · delete"];
|
|
37
37
|
t_sess [label="sessions_list · view\ncurrent · delete · stats"];
|
|
38
|
-
t_learn [label="learning_note_outcome\nreflect · distill_skill\nconsolidate · outcomes · reset\nmistakes_list · record\nmistakes_resolve · reset"];
|
|
38
|
+
t_learn [label="learning_note_outcome\nreflect · distill_skill\nexemplars_for · export_finetune\nconsolidate · outcomes · reset\nmistakes_list · record\nmistakes_resolve · reset"];
|
|
39
39
|
t_metric [label="metrics_summary\nmetrics_reset"];
|
|
40
|
-
t_extro [label="extro_snapshot · drift\nobserve · intel · correlate\nwatch · verify · rf_tune\
|
|
40
|
+
t_extro [label="extro_snapshot · drift\nobserve · intel · correlate\nwatch · verify · rf_tune · osint\nserial · telecomm · packet\nvision · voice · observations\nstats · reset · auto_toggle"];
|
|
41
41
|
t_cron [label="cron_list · create · run\nenable · disable · remove"];
|
|
42
42
|
t_swarm [label="agent_list · spawn · ask\ndebate · broadcast\nswarm_bus · swarm_list"];
|
|
43
43
|
}
|
|
@@ -56,4 +56,6 @@ digraph "PWN_Agent_Tool_Registry" {
|
|
|
56
56
|
extro -> t_extro [color="#f59e0b"];
|
|
57
57
|
cron -> t_cron [color="#f59e0b"];
|
|
58
58
|
swarm -> t_swarm [color="#f59e0b"];
|
|
59
|
+
|
|
60
|
+
t_metric -> Registry [label="success_rate\n→ router tie-break", style=dashed, color="#fbbf24", constraint=false];
|
|
59
61
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
digraph "PWN_AI_Integration" {
|
|
2
2
|
graph [
|
|
3
|
-
label=<<B>PWN::AI
|
|
3
|
+
label=<<B>PWN::AI - Multi-Provider LLM Integration</B><BR/><FONT POINT-SIZE="11" COLOR="#94a3b8">one Agent Loop · five interchangeable engines</FONT>>,
|
|
4
4
|
labelloc=t, fontsize=20, fontname="Helvetica",
|
|
5
5
|
rankdir=LR, splines=spline, nodesep=0.45, ranksep=1.3,
|
|
6
6
|
bgcolor="#0f172a", fontcolor="#e2e8f0", pad=0.6, newrank=true
|
|
@@ -19,7 +19,7 @@ digraph "PWN_AI_Integration" {
|
|
|
19
19
|
Anthropic [label="Anthropic", fillcolor="#c4b5fd"];
|
|
20
20
|
Grok [label="Grok\nOAuth device flow", fillcolor="#c4b5fd"];
|
|
21
21
|
Gemini [label="Gemini", fillcolor="#c4b5fd"];
|
|
22
|
-
Ollama [label="Ollama
|
|
22
|
+
Ollama [label="Ollama (local)\n/api/chat num_ctx · keep_alive\n/api/embed → MemoryIndex", fillcolor="#c4b5fd"];
|
|
23
23
|
}
|
|
24
24
|
{rank=same; OpenAI; Anthropic; Grok; Gemini; Ollama}
|
|
25
25
|
|
|
@@ -34,7 +34,7 @@ digraph "PWN_AI_Integration" {
|
|
|
34
34
|
}
|
|
35
35
|
{rank=same; A1; A2; A3; A4; A5}
|
|
36
36
|
|
|
37
|
-
Cfg [label="PWN::Config\n~/.pwn/
|
|
37
|
+
Cfg [label="PWN::Config\n~/.pwn/pwn.yaml\nactive · key · oauth\nprompt_budget · reflect_engine\nplan_first · tool_router · escalation", shape=cylinder, fillcolor="#fcd34d"];
|
|
38
38
|
|
|
39
39
|
Loop -> OpenAI [color="#a78bfa"];
|
|
40
40
|
Loop -> Anthropic [color="#a78bfa"];
|
|
@@ -47,4 +47,5 @@ digraph "PWN_AI_Integration" {
|
|
|
47
47
|
Gemini -> A4 [color="#fb7185"];
|
|
48
48
|
Ollama -> A5 [color="#fb7185"];
|
|
49
49
|
Cfg -> Loop [label="active engine", style=dashed, color="#fbbf24", constraint=false];
|
|
50
|
+
Loop -> Anthropic [label="reflect_engine\n(teacher-student)", style=dashed, color="#fbbf24", constraint=false];
|
|
50
51
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
digraph "PWN_AWS" {
|
|
2
2
|
graph [
|
|
3
|
-
label=<<B>PWN::AWS
|
|
3
|
+
label=<<B>PWN::AWS - Cloud Security (90 service wrappers)</B><BR/><FONT POINT-SIZE="11" COLOR="#94a3b8">enumerate → misconfig → escalate → persist</FONT>>,
|
|
4
4
|
labelloc=t, fontsize=20, fontname="Helvetica",
|
|
5
5
|
rankdir=LR, splines=spline, nodesep=0.4, ranksep=1.2,
|
|
6
6
|
bgcolor="#0f172a", fontcolor="#e2e8f0", pad=0.6, newrank=true
|