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,225 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
3
|
+
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
|
+
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
|
+
-->
|
|
6
|
+
<!-- Title: PWN_Swarm Pages: 1 -->
|
|
7
|
+
<svg width="933pt" height="582pt"
|
|
8
|
+
viewBox="0.00 0.00 933.00 582.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 538.58)">
|
|
10
|
+
<title>PWN_Swarm</title>
|
|
11
|
+
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-538.58 889.54,-538.58 889.54,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="138.54" y="-473.38" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">PWN::AI::Agent::Swarm — Native Multi-Agent Orchestration</text>
|
|
13
|
+
<text xml:space="preserve" text-anchor="start" x="275.79" y="-461.93" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">personas · ask · debate · broadcast · shared bus (no daemon)</text>
|
|
14
|
+
<g id="clust1" class="cluster">
|
|
15
|
+
<title>cluster_verbs</title>
|
|
16
|
+
<path fill="#2e1065" stroke="#6d28d9" stroke-width="2" d="M36,-292.12C36,-292.12 574,-292.12 574,-292.12 580,-292.12 586,-298.12 586,-304.12 586,-304.12 586,-363.38 586,-363.38 586,-369.38 580,-375.38 574,-375.38 574,-375.38 36,-375.38 36,-375.38 30,-375.38 24,-369.38 24,-363.38 24,-363.38 24,-304.12 24,-304.12 24,-298.12 30,-292.12 36,-292.12"/>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="305" y="-352.38" font-family="sans-Serif" font-size="20.00" fill="#ddd6fe">Swarm Verbs  (toolset: swarm)</text>
|
|
18
|
+
</g>
|
|
19
|
+
<g id="clust3" class="cluster">
|
|
20
|
+
<title>cluster_personas</title>
|
|
21
|
+
<path fill="#022c22" stroke="#047857" stroke-width="2" d="M20,-149.88C20,-149.88 623,-149.88 623,-149.88 629,-149.88 635,-155.88 635,-161.88 635,-161.88 635,-233.62 635,-233.62 635,-239.62 629,-245.62 623,-245.62 623,-245.62 20,-245.62 20,-245.62 14,-245.62 8,-239.62 8,-233.62 8,-233.62 8,-161.88 8,-161.88 8,-155.88 14,-149.88 20,-149.88"/>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="321.5" y="-222.62" font-family="sans-Serif" font-size="20.00" fill="#a7f3d0">Personas  (each = full PWN::AI::Agent::Loop)</text>
|
|
23
|
+
</g>
|
|
24
|
+
<g id="clust5" class="cluster">
|
|
25
|
+
<title>cluster_state</title>
|
|
26
|
+
<path fill="#422006" stroke="#a16207" stroke-width="2" d="M33,-8C33,-8 642,-8 642,-8 648,-8 654,-14 654,-20 654,-20 654,-91.38 654,-91.38 654,-97.38 648,-103.38 642,-103.38 642,-103.38 33,-103.38 33,-103.38 27,-103.38 21,-97.38 21,-91.38 21,-91.38 21,-20 21,-20 21,-14 27,-8 33,-8"/>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="337.5" y="-80.38" font-family="sans-Serif" font-size="20.00" fill="#fde68a">Shared State  ~/.pwn/</text>
|
|
28
|
+
</g>
|
|
29
|
+
<!-- Orchestrator -->
|
|
30
|
+
<g id="node1" class="node">
|
|
31
|
+
<title>Orchestrator</title>
|
|
32
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M308.75,-456.38C308.75,-456.38 237.25,-456.38 237.25,-456.38 231.25,-456.38 225.25,-450.38 225.25,-444.38 225.25,-444.38 225.25,-432.38 225.25,-432.38 225.25,-426.38 231.25,-420.38 237.25,-420.38 237.25,-420.38 308.75,-420.38 308.75,-420.38 314.75,-420.38 320.75,-426.38 320.75,-432.38 320.75,-432.38 320.75,-444.38 320.75,-444.38 320.75,-450.38 314.75,-456.38 308.75,-456.38"/>
|
|
33
|
+
<text xml:space="preserve" text-anchor="middle" x="273" y="-441.43" font-family="sans-Serif" font-size="11.00" fill="#0f172a">👤  Orchestrator</text>
|
|
34
|
+
<text xml:space="preserve" text-anchor="middle" x="273" y="-427.93" font-family="sans-Serif" font-size="11.00" fill="#0f172a">(you, in pwn-ai)</text>
|
|
35
|
+
</g>
|
|
36
|
+
<!-- Spawn -->
|
|
37
|
+
<g id="node2" class="node">
|
|
38
|
+
<title>Spawn</title>
|
|
39
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M107.62,-336.12C107.62,-336.12 44.38,-336.12 44.38,-336.12 38.38,-336.12 32.38,-330.12 32.38,-324.12 32.38,-324.12 32.38,-312.12 32.38,-312.12 32.38,-306.12 38.38,-300.12 44.38,-300.12 44.38,-300.12 107.62,-300.12 107.62,-300.12 113.62,-300.12 119.62,-306.12 119.62,-312.12 119.62,-312.12 119.62,-324.12 119.62,-324.12 119.62,-330.12 113.62,-336.12 107.62,-336.12"/>
|
|
40
|
+
<text xml:space="preserve" text-anchor="middle" x="76" y="-321.18" font-family="sans-Serif" font-size="11.00" fill="#0f172a">agent_spawn</text>
|
|
41
|
+
<text xml:space="preserve" text-anchor="middle" x="76" y="-307.68" font-family="sans-Serif" font-size="11.00" fill="#0f172a">define persona</text>
|
|
42
|
+
</g>
|
|
43
|
+
<!-- Orchestrator->Spawn -->
|
|
44
|
+
<g id="edge1" class="edge">
|
|
45
|
+
<title>Orchestrator->Spawn</title>
|
|
46
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M229.09,-419.75C203.18,-408.56 170.23,-392.9 143,-375.38 128.4,-365.98 113.49,-353.77 101.45,-343.12"/>
|
|
47
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="103.63,-341.32 95.81,-338.05 99.88,-345.48 103.63,-341.32"/>
|
|
48
|
+
</g>
|
|
49
|
+
<!-- Ask -->
|
|
50
|
+
<g id="node3" class="node">
|
|
51
|
+
<title>Ask</title>
|
|
52
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M263.5,-336.12C263.5,-336.12 178.5,-336.12 178.5,-336.12 172.5,-336.12 166.5,-330.12 166.5,-324.12 166.5,-324.12 166.5,-312.12 166.5,-312.12 166.5,-306.12 172.5,-300.12 178.5,-300.12 178.5,-300.12 263.5,-300.12 263.5,-300.12 269.5,-300.12 275.5,-306.12 275.5,-312.12 275.5,-312.12 275.5,-324.12 275.5,-324.12 275.5,-330.12 269.5,-336.12 263.5,-336.12"/>
|
|
53
|
+
<text xml:space="preserve" text-anchor="middle" x="221" y="-321.18" font-family="sans-Serif" font-size="11.00" fill="#0f172a">agent_ask</text>
|
|
54
|
+
<text xml:space="preserve" text-anchor="middle" x="221" y="-307.68" font-family="sans-Serif" font-size="11.00" fill="#0f172a">1 turn → 1 persona</text>
|
|
55
|
+
</g>
|
|
56
|
+
<!-- Orchestrator->Ask -->
|
|
57
|
+
<g id="edge2" class="edge">
|
|
58
|
+
<title>Orchestrator->Ask</title>
|
|
59
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M265.33,-419.93C256.72,-400.36 242.68,-368.42 232.7,-345.74"/>
|
|
60
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="235.28,-344.64 229.5,-338.45 230.15,-346.9 235.28,-344.64"/>
|
|
61
|
+
</g>
|
|
62
|
+
<!-- Debate -->
|
|
63
|
+
<g id="node4" class="node">
|
|
64
|
+
<title>Debate</title>
|
|
65
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M419.5,-336.12C419.5,-336.12 334.5,-336.12 334.5,-336.12 328.5,-336.12 322.5,-330.12 322.5,-324.12 322.5,-324.12 322.5,-312.12 322.5,-312.12 322.5,-306.12 328.5,-300.12 334.5,-300.12 334.5,-300.12 419.5,-300.12 419.5,-300.12 425.5,-300.12 431.5,-306.12 431.5,-312.12 431.5,-312.12 431.5,-324.12 431.5,-324.12 431.5,-330.12 425.5,-336.12 419.5,-336.12"/>
|
|
66
|
+
<text xml:space="preserve" text-anchor="middle" x="377" y="-321.18" font-family="sans-Serif" font-size="11.00" fill="#0f172a">agent_debate</text>
|
|
67
|
+
<text xml:space="preserve" text-anchor="middle" x="377" y="-307.68" font-family="sans-Serif" font-size="11.00" fill="#0f172a">round-robin critique</text>
|
|
68
|
+
</g>
|
|
69
|
+
<!-- Orchestrator->Debate -->
|
|
70
|
+
<g id="edge3" class="edge">
|
|
71
|
+
<title>Orchestrator->Debate</title>
|
|
72
|
+
<path fill="none" stroke="#38bdf8" stroke-width="2" d="M288.35,-419.93C305.78,-400.1 334.4,-367.56 354.39,-344.83"/>
|
|
73
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="356.41,-346.77 359.59,-338.92 352.21,-343.08 356.41,-346.77"/>
|
|
74
|
+
</g>
|
|
75
|
+
<!-- Broadcast -->
|
|
76
|
+
<g id="node5" class="node">
|
|
77
|
+
<title>Broadcast</title>
|
|
78
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M565.62,-336.12C565.62,-336.12 490.38,-336.12 490.38,-336.12 484.38,-336.12 478.38,-330.12 478.38,-324.12 478.38,-324.12 478.38,-312.12 478.38,-312.12 478.38,-306.12 484.38,-300.12 490.38,-300.12 490.38,-300.12 565.62,-300.12 565.62,-300.12 571.62,-300.12 577.62,-306.12 577.62,-312.12 577.62,-312.12 577.62,-324.12 577.62,-324.12 577.62,-330.12 571.62,-336.12 565.62,-336.12"/>
|
|
79
|
+
<text xml:space="preserve" text-anchor="middle" x="528" y="-321.18" font-family="sans-Serif" font-size="11.00" fill="#0f172a">agent_broadcast</text>
|
|
80
|
+
<text xml:space="preserve" text-anchor="middle" x="528" y="-307.68" font-family="sans-Serif" font-size="11.00" fill="#0f172a">fan-out ensemble</text>
|
|
81
|
+
</g>
|
|
82
|
+
<!-- Orchestrator->Broadcast -->
|
|
83
|
+
<g id="edge4" class="edge">
|
|
84
|
+
<title>Orchestrator->Broadcast</title>
|
|
85
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M321.14,-425.63C358.9,-415.34 412.06,-398.42 455,-375.38 471.5,-366.52 488.17,-354.01 501.41,-343.03"/>
|
|
86
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="502.98,-345.36 507.27,-338.06 499.36,-341.09 502.98,-345.36"/>
|
|
87
|
+
</g>
|
|
88
|
+
<!-- Red -->
|
|
89
|
+
<g id="node6" class="node">
|
|
90
|
+
<title>Red</title>
|
|
91
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M124.12,-206.38C124.12,-206.38 27.88,-206.38 27.88,-206.38 21.88,-206.38 15.88,-200.38 15.88,-194.38 15.88,-194.38 15.88,-169.88 15.88,-169.88 15.88,-163.88 21.88,-157.88 27.88,-157.88 27.88,-157.88 124.12,-157.88 124.12,-157.88 130.12,-157.88 136.12,-163.88 136.12,-169.88 136.12,-169.88 136.12,-194.38 136.12,-194.38 136.12,-200.38 130.12,-206.38 124.12,-206.38"/>
|
|
92
|
+
<text xml:space="preserve" text-anchor="middle" x="76" y="-191.93" font-family="sans-Serif" font-size="11.00" fill="#0f172a">🔴  red_team</text>
|
|
93
|
+
<text xml:space="preserve" text-anchor="middle" x="76" y="-178.43" font-family="sans-Serif" font-size="11.00" fill="#0f172a">engine: grok</text>
|
|
94
|
+
<text xml:space="preserve" text-anchor="middle" x="76" y="-164.93" font-family="sans-Serif" font-size="11.00" fill="#0f172a">toolsets: terminal,pwn</text>
|
|
95
|
+
</g>
|
|
96
|
+
<!-- Spawn->Red -->
|
|
97
|
+
<!-- Agents -->
|
|
98
|
+
<g id="node10" class="node">
|
|
99
|
+
<title>Agents</title>
|
|
100
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M122.62,-59.75C122.62,-62.16 101.73,-64.12 76,-64.12 50.27,-64.12 29.38,-62.16 29.38,-59.75 29.38,-59.75 29.38,-20.38 29.38,-20.38 29.38,-17.96 50.27,-16 76,-16 101.73,-16 122.62,-17.96 122.62,-20.38 122.62,-20.38 122.62,-59.75 122.62,-59.75"/>
|
|
101
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M122.62,-59.75C122.62,-57.34 101.73,-55.38 76,-55.38 50.27,-55.38 29.38,-57.34 29.38,-59.75"/>
|
|
102
|
+
<text xml:space="preserve" text-anchor="middle" x="76" y="-43.11" font-family="sans-Serif" font-size="11.00" fill="#0f172a">agents.yml</text>
|
|
103
|
+
<text xml:space="preserve" text-anchor="middle" x="76" y="-29.61" font-family="sans-Serif" font-size="11.00" fill="#0f172a">persona registry</text>
|
|
104
|
+
</g>
|
|
105
|
+
<!-- Spawn->Agents -->
|
|
106
|
+
<g id="edge15" class="edge">
|
|
107
|
+
<title>Spawn->Agents</title>
|
|
108
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M118.01,-299.52C126.18,-296.65 134.77,-294.01 143,-292.12 252.43,-267.12 570.37,-328.57 646,-245.62 674.67,-214.18 674.66,-181.33 646,-149.88 627.25,-129.29 172.57,-114.39 147,-103.38 130.38,-96.22 114.9,-83.65 102.66,-71.67"/>
|
|
109
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="104.82,-69.88 97.22,-66.14 100.83,-73.81 104.82,-69.88"/>
|
|
110
|
+
<text xml:space="preserve" text-anchor="middle" x="677.25" y="-178.82" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">write</text>
|
|
111
|
+
</g>
|
|
112
|
+
<!-- Ask->Red -->
|
|
113
|
+
<g id="edge6" class="edge">
|
|
114
|
+
<title>Ask->Red</title>
|
|
115
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M202.04,-299.61C178.41,-277.76 137.62,-240.07 108.85,-213.48"/>
|
|
116
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="111.03,-211.69 103.26,-208.32 107.23,-215.8 111.03,-211.69"/>
|
|
117
|
+
</g>
|
|
118
|
+
<!-- Blue -->
|
|
119
|
+
<g id="node7" class="node">
|
|
120
|
+
<title>Blue</title>
|
|
121
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M277,-206.38C277,-206.38 195,-206.38 195,-206.38 189,-206.38 183,-200.38 183,-194.38 183,-194.38 183,-169.88 183,-169.88 183,-163.88 189,-157.88 195,-157.88 195,-157.88 277,-157.88 277,-157.88 283,-157.88 289,-163.88 289,-169.88 289,-169.88 289,-194.38 289,-194.38 289,-200.38 283,-206.38 277,-206.38"/>
|
|
122
|
+
<text xml:space="preserve" text-anchor="middle" x="236" y="-191.93" font-family="sans-Serif" font-size="11.00" fill="#0f172a">🔵  blue_team</text>
|
|
123
|
+
<text xml:space="preserve" text-anchor="middle" x="236" y="-178.43" font-family="sans-Serif" font-size="11.00" fill="#0f172a">engine: anthropic</text>
|
|
124
|
+
<text xml:space="preserve" text-anchor="middle" x="236" y="-164.93" font-family="sans-Serif" font-size="11.00" fill="#0f172a">toolsets: pwn,extro</text>
|
|
125
|
+
</g>
|
|
126
|
+
<!-- Debate->Blue -->
|
|
127
|
+
<g id="edge7" class="edge">
|
|
128
|
+
<title>Debate->Blue</title>
|
|
129
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M358.57,-299.61C335.68,-277.86 296.25,-240.39 268.3,-213.82"/>
|
|
130
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="270.26,-211.82 262.53,-208.34 266.4,-215.88 270.26,-211.82"/>
|
|
131
|
+
</g>
|
|
132
|
+
<!-- Recon -->
|
|
133
|
+
<g id="node8" class="node">
|
|
134
|
+
<title>Recon</title>
|
|
135
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M463.5,-206.38C463.5,-206.38 348.5,-206.38 348.5,-206.38 342.5,-206.38 336.5,-200.38 336.5,-194.38 336.5,-194.38 336.5,-169.88 336.5,-169.88 336.5,-163.88 342.5,-157.88 348.5,-157.88 348.5,-157.88 463.5,-157.88 463.5,-157.88 469.5,-157.88 475.5,-163.88 475.5,-169.88 475.5,-169.88 475.5,-194.38 475.5,-194.38 475.5,-200.38 469.5,-206.38 463.5,-206.38"/>
|
|
136
|
+
<text xml:space="preserve" text-anchor="middle" x="406" y="-191.93" font-family="sans-Serif" font-size="11.00" fill="#0f172a">🛰  recon</text>
|
|
137
|
+
<text xml:space="preserve" text-anchor="middle" x="406" y="-178.43" font-family="sans-Serif" font-size="11.00" fill="#0f172a">engine: ollama</text>
|
|
138
|
+
<text xml:space="preserve" text-anchor="middle" x="406" y="-164.93" font-family="sans-Serif" font-size="11.00" fill="#0f172a">toolsets: terminal,memory</text>
|
|
139
|
+
</g>
|
|
140
|
+
<!-- Debate->Recon -->
|
|
141
|
+
<g id="edge8" class="edge">
|
|
142
|
+
<title>Debate->Recon</title>
|
|
143
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M380.79,-299.61C385.34,-278.6 393.06,-242.92 398.76,-216.57"/>
|
|
144
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="401.47,-217.31 400.42,-208.9 395.99,-216.13 401.47,-217.31"/>
|
|
145
|
+
</g>
|
|
146
|
+
<!-- Xpl -->
|
|
147
|
+
<g id="node9" class="node">
|
|
148
|
+
<title>Xpl</title>
|
|
149
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M615.25,-206.38C615.25,-206.38 534.75,-206.38 534.75,-206.38 528.75,-206.38 522.75,-200.38 522.75,-194.38 522.75,-194.38 522.75,-169.88 522.75,-169.88 522.75,-163.88 528.75,-157.88 534.75,-157.88 534.75,-157.88 615.25,-157.88 615.25,-157.88 621.25,-157.88 627.25,-163.88 627.25,-169.88 627.25,-169.88 627.25,-194.38 627.25,-194.38 627.25,-200.38 621.25,-206.38 615.25,-206.38"/>
|
|
150
|
+
<text xml:space="preserve" text-anchor="middle" x="575" y="-191.93" font-family="sans-Serif" font-size="11.00" fill="#0f172a">💥  exploit_dev</text>
|
|
151
|
+
<text xml:space="preserve" text-anchor="middle" x="575" y="-178.43" font-family="sans-Serif" font-size="11.00" fill="#0f172a">engine: openai</text>
|
|
152
|
+
<text xml:space="preserve" text-anchor="middle" x="575" y="-164.93" font-family="sans-Serif" font-size="11.00" fill="#0f172a">toolsets: pwn,skills</text>
|
|
153
|
+
</g>
|
|
154
|
+
<!-- Broadcast->Xpl -->
|
|
155
|
+
<g id="edge9" class="edge">
|
|
156
|
+
<title>Broadcast->Xpl</title>
|
|
157
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M534.14,-299.61C541.55,-278.5 554.14,-242.6 563.39,-216.22"/>
|
|
158
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="565.98,-217.31 565.98,-208.84 560.69,-215.46 565.98,-217.31"/>
|
|
159
|
+
</g>
|
|
160
|
+
<!-- Red->Agents -->
|
|
161
|
+
<!-- Bus -->
|
|
162
|
+
<g id="node11" class="node">
|
|
163
|
+
<title>Bus</title>
|
|
164
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M288,-59.75C288,-62.16 261.56,-64.12 229,-64.12 196.44,-64.12 170,-62.16 170,-59.75 170,-59.75 170,-20.38 170,-20.38 170,-17.96 196.44,-16 229,-16 261.56,-16 288,-17.96 288,-20.38 288,-20.38 288,-59.75 288,-59.75"/>
|
|
165
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M288,-59.75C288,-57.34 261.56,-55.38 229,-55.38 196.44,-55.38 170,-57.34 170,-59.75"/>
|
|
166
|
+
<text xml:space="preserve" text-anchor="middle" x="229" y="-43.11" font-family="sans-Serif" font-size="11.00" fill="#0f172a">swarm/<id>/bus.jsonl</text>
|
|
167
|
+
<text xml:space="preserve" text-anchor="middle" x="229" y="-29.61" font-family="sans-Serif" font-size="11.00" fill="#0f172a">append-only chat</text>
|
|
168
|
+
</g>
|
|
169
|
+
<!-- Red->Bus -->
|
|
170
|
+
<g id="edge11" class="edge">
|
|
171
|
+
<title>Red->Bus</title>
|
|
172
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M101.95,-157.37C127.86,-133.65 167.76,-97.12 195.92,-71.34"/>
|
|
173
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="197.71,-73.5 201.72,-66.03 193.93,-69.37 197.71,-73.5"/>
|
|
174
|
+
<text xml:space="preserve" text-anchor="middle" x="174.91" y="-113.33" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">append reply</text>
|
|
175
|
+
</g>
|
|
176
|
+
<!-- Blue->Bus -->
|
|
177
|
+
<g id="edge12" class="edge">
|
|
178
|
+
<title>Blue->Bus</title>
|
|
179
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M234.81,-157.37C233.67,-134.49 231.93,-99.69 230.65,-74.12"/>
|
|
180
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="233.46,-74.29 230.27,-66.44 227.87,-74.57 233.46,-74.29"/>
|
|
181
|
+
</g>
|
|
182
|
+
<!-- Pmap -->
|
|
183
|
+
<g id="node12" class="node">
|
|
184
|
+
<title>Pmap</title>
|
|
185
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M477.38,-59.75C477.38,-62.16 445.38,-64.12 406,-64.12 366.62,-64.12 334.62,-62.16 334.62,-59.75 334.62,-59.75 334.62,-20.38 334.62,-20.38 334.62,-17.96 366.62,-16 406,-16 445.38,-16 477.38,-17.96 477.38,-20.38 477.38,-20.38 477.38,-59.75 477.38,-59.75"/>
|
|
186
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M477.38,-59.75C477.38,-57.34 445.38,-55.38 406,-55.38 366.62,-55.38 334.62,-57.34 334.62,-59.75"/>
|
|
187
|
+
<text xml:space="preserve" text-anchor="middle" x="406" y="-43.11" font-family="sans-Serif" font-size="11.00" fill="#0f172a">swarm/<id>/personas.json</text>
|
|
188
|
+
<text xml:space="preserve" text-anchor="middle" x="406" y="-29.61" font-family="sans-Serif" font-size="11.00" fill="#0f172a">name → session_id</text>
|
|
189
|
+
</g>
|
|
190
|
+
<!-- Recon->Pmap -->
|
|
191
|
+
<g id="edge13" class="edge">
|
|
192
|
+
<title>Recon->Pmap</title>
|
|
193
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M406,-157.37C406,-134.49 406,-99.69 406,-74.12"/>
|
|
194
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="408.8,-74.44 406,-66.44 403.2,-74.44 408.8,-74.44"/>
|
|
195
|
+
</g>
|
|
196
|
+
<!-- Sess -->
|
|
197
|
+
<g id="node13" class="node">
|
|
198
|
+
<title>Sess</title>
|
|
199
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M645.88,-59.75C645.88,-62.16 618.59,-64.12 585,-64.12 551.41,-64.12 524.12,-62.16 524.12,-59.75 524.12,-59.75 524.12,-20.38 524.12,-20.38 524.12,-17.96 551.41,-16 585,-16 618.59,-16 645.88,-17.96 645.88,-20.38 645.88,-20.38 645.88,-59.75 645.88,-59.75"/>
|
|
200
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M645.88,-59.75C645.88,-57.34 618.59,-55.38 585,-55.38 551.41,-55.38 524.12,-57.34 524.12,-59.75"/>
|
|
201
|
+
<text xml:space="preserve" text-anchor="middle" x="585" y="-43.11" font-family="sans-Serif" font-size="11.00" fill="#0f172a">sessions/*.jsonl</text>
|
|
202
|
+
<text xml:space="preserve" text-anchor="middle" x="585" y="-29.61" font-family="sans-Serif" font-size="11.00" fill="#0f172a">per-persona transcript</text>
|
|
203
|
+
</g>
|
|
204
|
+
<!-- Xpl->Sess -->
|
|
205
|
+
<g id="edge14" class="edge">
|
|
206
|
+
<title>Xpl->Sess</title>
|
|
207
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M576.7,-157.37C578.33,-134.49 580.81,-99.69 582.64,-74.12"/>
|
|
208
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="585.41,-74.61 583.19,-66.43 579.83,-74.21 585.41,-74.61"/>
|
|
209
|
+
</g>
|
|
210
|
+
<!-- Bus->Orchestrator -->
|
|
211
|
+
<g id="edge17" class="edge">
|
|
212
|
+
<title>Bus->Orchestrator</title>
|
|
213
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" stroke-dasharray="5,2" d="M251.75,-64.53C267.03,-78.61 288.44,-95.3 311,-103.38 333.3,-111.36 500.42,-109.2 524,-111.38 582.38,-116.76 746.69,-105.5 785,-149.88 870.27,-248.64 717.36,-324.97 597,-375.38 508.69,-412.36 397.56,-427.48 331.06,-433.52"/>
|
|
214
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="330.87,-430.72 323.15,-434.21 331.36,-436.3 330.87,-430.72"/>
|
|
215
|
+
<text xml:space="preserve" text-anchor="middle" x="819.71" y="-255.57" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">swarm_bus()</text>
|
|
216
|
+
</g>
|
|
217
|
+
<!-- Bus->Debate -->
|
|
218
|
+
<g id="edge16" class="edge">
|
|
219
|
+
<title>Bus->Debate</title>
|
|
220
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M252.68,-64.52C268.01,-78.23 289.12,-94.52 311,-103.38 391.29,-135.88 640.52,-85.08 698,-149.88 726.24,-181.71 725.12,-212.83 698,-245.62 627.93,-330.37 561.55,-264.96 455,-292.12 449.62,-293.5 444.06,-295.03 438.5,-296.65"/>
|
|
221
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="437.94,-293.9 431.08,-298.87 439.55,-299.26 437.94,-293.9"/>
|
|
222
|
+
<text xml:space="preserve" text-anchor="middle" x="746.13" y="-178.82" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">tail → context</text>
|
|
223
|
+
</g>
|
|
224
|
+
</g>
|
|
225
|
+
</svg>
|
|
@@ -3,135 +3,171 @@
|
|
|
3
3
|
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
4
|
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
5
|
-->
|
|
6
|
-
<!-- Title:
|
|
7
|
-
<svg width="
|
|
8
|
-
viewBox="0.00 0.00
|
|
9
|
-
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(
|
|
10
|
-
<title>
|
|
11
|
-
<polygon fill="
|
|
12
|
-
|
|
6
|
+
<!-- Title: PWN_Web Pages: 1 -->
|
|
7
|
+
<svg width="1092pt" height="360pt"
|
|
8
|
+
viewBox="0.00 0.00 1092.00 360.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 317.2)">
|
|
10
|
+
<title>PWN_Web</title>
|
|
11
|
+
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-317.2 1048.7,-317.2 1048.7,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="388.38" y="-252" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">Web Application Testing</text>
|
|
13
|
+
<text xml:space="preserve" text-anchor="start" x="342.25" y="-240.55" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">TransparentBrowser → BurpSuite (preferred) → SAST → Reports</text>
|
|
14
|
+
<g id="clust1" class="cluster">
|
|
15
|
+
<title>cluster_drive</title>
|
|
16
|
+
<path fill="#022c22" stroke="#047857" d="M164.75,-8C164.75,-8 287.5,-8 287.5,-8 293.5,-8 299.5,-14 299.5,-20 299.5,-20 299.5,-215 299.5,-215 299.5,-221 293.5,-227 287.5,-227 287.5,-227 164.75,-227 164.75,-227 158.75,-227 152.75,-221 152.75,-215 152.75,-215 152.75,-20 152.75,-20 152.75,-14 158.75,-8 164.75,-8"/>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-204" font-family="sans-Serif" font-size="20.00" fill="#a7f3d0">Drive Traffic</text>
|
|
18
|
+
</g>
|
|
19
|
+
<g id="clust2" class="cluster">
|
|
20
|
+
<title>cluster_proxy</title>
|
|
21
|
+
<path fill="#422006" stroke="#a16207" d="M467.75,-8C467.75,-8 605.25,-8 605.25,-8 611.25,-8 617.25,-14 617.25,-20 617.25,-20 617.25,-147 617.25,-147 617.25,-153 611.25,-159 605.25,-159 605.25,-159 467.75,-159 467.75,-159 461.75,-159 455.75,-153 455.75,-147 455.75,-147 455.75,-20 455.75,-20 455.75,-14 461.75,-8 467.75,-8"/>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="536.5" y="-136" font-family="sans-Serif" font-size="20.00" fill="#fde68a">Intercept + Scan</text>
|
|
23
|
+
</g>
|
|
24
|
+
<g id="clust3" class="cluster">
|
|
25
|
+
<title>cluster_deep</title>
|
|
26
|
+
<path fill="#2e1065" stroke="#6d28d9" d="M700.25,-8C700.25,-8 819,-8 819,-8 825,-8 831,-14 831,-20 831,-20 831,-215 831,-215 831,-221 825,-227 819,-227 819,-227 700.25,-227 700.25,-227 694.25,-227 688.25,-221 688.25,-215 688.25,-215 688.25,-20 688.25,-20 688.25,-14 694.25,-8 700.25,-8"/>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="759.62" y="-204" font-family="sans-Serif" font-size="20.00" fill="#ddd6fe">Deep Analysis</text>
|
|
28
|
+
</g>
|
|
29
|
+
<!-- Target -->
|
|
13
30
|
<g id="node1" class="node">
|
|
14
|
-
<title>
|
|
15
|
-
<path fill="
|
|
16
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
17
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
31
|
+
<title>Target</title>
|
|
32
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M61.75,-120C61.75,-120 12,-120 12,-120 6,-120 0,-114 0,-108 0,-108 0,-96 0,-96 0,-90 6,-84 12,-84 12,-84 61.75,-84 61.75,-84 67.75,-84 73.75,-90 73.75,-96 73.75,-96 73.75,-108 73.75,-108 73.75,-114 67.75,-120 61.75,-120"/>
|
|
33
|
+
<text xml:space="preserve" text-anchor="middle" x="36.88" y="-104.88" font-family="sans-Serif" font-size="10.00" fill="#0f172a">🌐  Web App</text>
|
|
34
|
+
<text xml:space="preserve" text-anchor="middle" x="36.88" y="-92.12" font-family="sans-Serif" font-size="10.00" fill="#0f172a">URL / API</text>
|
|
18
35
|
</g>
|
|
19
|
-
<!--
|
|
36
|
+
<!-- TB -->
|
|
20
37
|
<g id="node2" class="node">
|
|
21
|
-
<title>
|
|
22
|
-
<
|
|
23
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
24
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
25
|
-
<text xml:space="preserve" text-anchor="middle" x="129.88" y="-546.13" font-family="Arial" font-size="9.00">Zaproxy)</text>
|
|
38
|
+
<title>TB</title>
|
|
39
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M279.5,-188C279.5,-188 172.75,-188 172.75,-188 166.75,-188 160.75,-182 160.75,-176 160.75,-176 160.75,-164 160.75,-164 160.75,-158 166.75,-152 172.75,-152 172.75,-152 279.5,-152 279.5,-152 285.5,-152 291.5,-158 291.5,-164 291.5,-164 291.5,-176 291.5,-176 291.5,-182 285.5,-188 279.5,-188"/>
|
|
40
|
+
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-172.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">TransparentBrowser</text>
|
|
41
|
+
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-160.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">headless · watir · devtools</text>
|
|
26
42
|
</g>
|
|
27
|
-
<!--
|
|
43
|
+
<!-- Target->TB -->
|
|
28
44
|
<g id="edge1" class="edge">
|
|
29
|
-
<title>
|
|
30
|
-
<path fill="none" stroke="
|
|
31
|
-
<polygon fill="
|
|
45
|
+
<title>Target->TB</title>
|
|
46
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M73.98,-115.11C99.69,-124.45 134.86,-137.22 164.8,-148.09"/>
|
|
47
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="163.59,-150.63 172.06,-150.73 165.5,-145.37 163.59,-150.63"/>
|
|
32
48
|
</g>
|
|
33
49
|
<!-- Spider -->
|
|
34
50
|
<g id="node3" class="node">
|
|
35
51
|
<title>Spider</title>
|
|
36
|
-
<path fill="
|
|
37
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
38
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
39
|
-
<text xml:space="preserve" text-anchor="middle" x="88.88" y="-461.45" font-family="Arial" font-size="9.00">Spider plugin)</text>
|
|
52
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M255.12,-120C255.12,-120 197.12,-120 197.12,-120 191.12,-120 185.12,-114 185.12,-108 185.12,-108 185.12,-96 185.12,-96 185.12,-90 191.12,-84 197.12,-84 197.12,-84 255.12,-84 255.12,-84 261.12,-84 267.12,-90 267.12,-96 267.12,-96 267.12,-108 267.12,-108 267.12,-114 261.12,-120 255.12,-120"/>
|
|
53
|
+
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-104.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::Spider</text>
|
|
54
|
+
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-92.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">URI buster</text>
|
|
40
55
|
</g>
|
|
41
|
-
<!--
|
|
56
|
+
<!-- Target->Spider -->
|
|
42
57
|
<g id="edge2" class="edge">
|
|
43
|
-
<title>
|
|
44
|
-
<path fill="none" stroke="
|
|
45
|
-
<polygon fill="
|
|
58
|
+
<title>Target->Spider</title>
|
|
59
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M73.98,-102C102.68,-102 143.15,-102 175,-102"/>
|
|
60
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="174.61,-104.8 182.61,-102 174.61,-99.2 174.61,-104.8"/>
|
|
46
61
|
</g>
|
|
47
|
-
<!--
|
|
48
|
-
<g id="node8" class="node">
|
|
49
|
-
<title>Findings</title>
|
|
50
|
-
<path fill="none" stroke="black" d="M170.62,-112.5C170.62,-112.5 87.12,-112.5 87.12,-112.5 81.12,-112.5 75.12,-106.5 75.12,-100.5 75.12,-100.5 75.12,-85 75.12,-85 75.12,-79 81.12,-73 87.12,-73 87.12,-73 170.62,-73 170.62,-73 176.62,-73 182.62,-79 182.62,-85 182.62,-85 182.62,-100.5 182.62,-100.5 182.62,-106.5 176.62,-112.5 170.62,-112.5"/>
|
|
51
|
-
<text xml:space="preserve" text-anchor="middle" x="128.88" y="-99.95" font-family="Arial" font-size="9.00">Web Vulns</text>
|
|
52
|
-
<text xml:space="preserve" text-anchor="middle" x="128.88" y="-89.45" font-family="Arial" font-size="9.00">(XSS, SQLi, IDOR,</text>
|
|
53
|
-
<text xml:space="preserve" text-anchor="middle" x="128.88" y="-78.95" font-family="Arial" font-size="9.00">Cache deception, etc.)</text>
|
|
54
|
-
</g>
|
|
55
|
-
<!-- Proxy->Findings -->
|
|
56
|
-
<g id="edge9" class="edge">
|
|
57
|
-
<title>Proxy->Findings</title>
|
|
58
|
-
<path fill="none" stroke="black" d="M150.11,-532.53C160.03,-517.01 169.88,-496.5 169.88,-476.25 169.88,-476.25 169.88,-476.25 169.88,-168.25 169.88,-151.5 161.82,-134.96 152.85,-121.74"/>
|
|
59
|
-
<polygon fill="black" stroke="black" points="155.89,-119.96 147.16,-113.96 150.24,-124.1 155.89,-119.96"/>
|
|
60
|
-
<text xml:space="preserve" text-anchor="middle" x="200.62" y="-319.52" font-family="Times,serif" font-size="8.00">intercept & modify</text>
|
|
61
|
-
</g>
|
|
62
|
-
<!-- ActiveScan -->
|
|
62
|
+
<!-- WWW -->
|
|
63
63
|
<g id="node4" class="node">
|
|
64
|
-
<title>
|
|
65
|
-
<path fill="
|
|
66
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
67
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
68
|
-
<text xml:space="preserve" text-anchor="middle" x="79.88" y="-384.95" font-family="Arial" font-size="9.00">pwn_*_active_scan)</text>
|
|
64
|
+
<title>WWW</title>
|
|
65
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M256.25,-52C256.25,-52 196,-52 196,-52 190,-52 184,-46 184,-40 184,-40 184,-28 184,-28 184,-22 190,-16 196,-16 196,-16 256.25,-16 256.25,-16 262.25,-16 268.25,-22 268.25,-28 268.25,-28 268.25,-40 268.25,-40 268.25,-46 262.25,-52 256.25,-52"/>
|
|
66
|
+
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-36.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">PWN::WWW::*</text>
|
|
67
|
+
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-24.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">21 site drivers</text>
|
|
69
68
|
</g>
|
|
70
|
-
<!--
|
|
69
|
+
<!-- Target->WWW -->
|
|
71
70
|
<g id="edge3" class="edge">
|
|
72
|
-
<title>
|
|
73
|
-
<path fill="none" stroke="
|
|
74
|
-
<polygon fill="
|
|
71
|
+
<title>Target->WWW</title>
|
|
72
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M73.98,-88.89C102.51,-78.53 142.69,-63.94 174.44,-52.41"/>
|
|
73
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="175.17,-55.12 181.73,-49.76 173.26,-49.86 175.17,-55.12"/>
|
|
75
74
|
</g>
|
|
76
|
-
<!--
|
|
75
|
+
<!-- Burp -->
|
|
77
76
|
<g id="node5" class="node">
|
|
78
|
-
<title>
|
|
79
|
-
<path fill="
|
|
80
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
81
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
82
|
-
<text xml:space="preserve" text-anchor="middle" x="66.88" y="-308.45" font-family="Arial" font-size="9.00">char encodings, web_cache)</text>
|
|
77
|
+
<title>Burp</title>
|
|
78
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="2" d="M584.5,-120C584.5,-120 487.5,-120 487.5,-120 481.5,-120 475.5,-114 475.5,-108 475.5,-108 475.5,-96 475.5,-96 475.5,-90 481.5,-84 487.5,-84 487.5,-84 584.5,-84 584.5,-84 590.5,-84 596.5,-90 596.5,-96 596.5,-96 596.5,-108 596.5,-108 596.5,-114 590.5,-120 584.5,-120"/>
|
|
79
|
+
<text xml:space="preserve" text-anchor="middle" x="536" y="-104.88" font-family="sans-Serif" font-size="10.00" fill="#0f172a">BurpSuite  ⭐</text>
|
|
80
|
+
<text xml:space="preserve" text-anchor="middle" x="536" y="-92.12" font-family="sans-Serif" font-size="10.00" fill="#0f172a">active · passive · REST</text>
|
|
83
81
|
</g>
|
|
84
|
-
<!--
|
|
82
|
+
<!-- TB->Burp -->
|
|
85
83
|
<g id="edge4" class="edge">
|
|
86
|
-
<title>
|
|
87
|
-
<path fill="none" stroke="
|
|
88
|
-
<polygon fill="
|
|
89
|
-
</
|
|
90
|
-
<!-- API -->
|
|
91
|
-
<g id="node6" class="node">
|
|
92
|
-
<title>API</title>
|
|
93
|
-
<path fill="none" stroke="black" d="M126,-265.5C126,-265.5 35.75,-265.5 35.75,-265.5 29.75,-265.5 23.75,-259.5 23.75,-253.5 23.75,-253.5 23.75,-238 23.75,-238 23.75,-232 29.75,-226 35.75,-226 35.75,-226 126,-226 126,-226 132,-226 138,-232 138,-238 138,-238 138,-253.5 138,-253.5 138,-259.5 132,-265.5 126,-265.5"/>
|
|
94
|
-
<text xml:space="preserve" text-anchor="middle" x="80.88" y="-252.95" font-family="Arial" font-size="9.00">API Testing</text>
|
|
95
|
-
<text xml:space="preserve" text-anchor="middle" x="80.88" y="-242.45" font-family="Arial" font-size="9.00">(OpenAPI, JSONPathify,</text>
|
|
96
|
-
<text xml:space="preserve" text-anchor="middle" x="80.88" y="-231.95" font-family="Arial" font-size="9.00">GraphQL introspection)</text>
|
|
84
|
+
<title>TB->Burp</title>
|
|
85
|
+
<path fill="none" stroke="#f59e0b" stroke-width="2" d="M292.04,-155.66C342.46,-144.53 412.3,-129.1 464.17,-117.65"/>
|
|
86
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="2" points="464.45,-120.45 471.66,-115.99 463.25,-114.98 464.45,-120.45"/>
|
|
87
|
+
<text xml:space="preserve" text-anchor="middle" x="377.62" y="-148.01" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">proxy 127.0.0.1:8080</text>
|
|
97
88
|
</g>
|
|
98
|
-
<!--
|
|
89
|
+
<!-- Spider->Burp -->
|
|
99
90
|
<g id="edge5" class="edge">
|
|
100
|
-
<title>
|
|
101
|
-
<path fill="none" stroke="
|
|
102
|
-
<polygon fill="
|
|
91
|
+
<title>Spider->Burp</title>
|
|
92
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M267.69,-102C317.81,-102 403.89,-102 464.81,-102"/>
|
|
93
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="464.78,-104.8 472.78,-102 464.78,-99.2 464.78,-104.8"/>
|
|
103
94
|
</g>
|
|
104
|
-
<!--
|
|
105
|
-
<g id="
|
|
106
|
-
<title>
|
|
107
|
-
<path fill="
|
|
108
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
109
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
110
|
-
<text xml:space="preserve" text-anchor="middle" x="88.88" y="-155.45" font-family="Arial" font-size="9.00">JWT handling)</text>
|
|
95
|
+
<!-- Zap -->
|
|
96
|
+
<g id="node6" class="node">
|
|
97
|
+
<title>Zap</title>
|
|
98
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M551.88,-52C551.88,-52 520.12,-52 520.12,-52 514.12,-52 508.12,-46 508.12,-40 508.12,-40 508.12,-28 508.12,-28 508.12,-22 514.12,-16 520.12,-16 520.12,-16 551.88,-16 551.88,-16 557.88,-16 563.88,-22 563.88,-28 563.88,-28 563.88,-40 563.88,-40 563.88,-46 557.88,-52 551.88,-52"/>
|
|
99
|
+
<text xml:space="preserve" text-anchor="middle" x="536" y="-36.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Zaproxy</text>
|
|
100
|
+
<text xml:space="preserve" text-anchor="middle" x="536" y="-24.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">(fallback)</text>
|
|
111
101
|
</g>
|
|
112
|
-
<!--
|
|
102
|
+
<!-- WWW->Zap -->
|
|
113
103
|
<g id="edge6" class="edge">
|
|
114
|
-
<title>
|
|
115
|
-
<path fill="none" stroke="
|
|
116
|
-
<polygon fill="
|
|
104
|
+
<title>WWW->Zap</title>
|
|
105
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M268.65,-34C329.03,-34 440.17,-34 497.94,-34"/>
|
|
106
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="497.77,-36.8 505.77,-34 497.77,-31.2 497.77,-36.8"/>
|
|
117
107
|
</g>
|
|
118
|
-
<!--
|
|
108
|
+
<!-- SAST -->
|
|
109
|
+
<g id="node7" class="node">
|
|
110
|
+
<title>SAST</title>
|
|
111
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M795.25,-188C795.25,-188 723,-188 723,-188 717,-188 711,-182 711,-176 711,-176 711,-164 711,-164 711,-158 717,-152 723,-152 723,-152 795.25,-152 795.25,-152 801.25,-152 807.25,-158 807.25,-164 807.25,-164 807.25,-176 807.25,-176 807.25,-182 801.25,-188 795.25,-188"/>
|
|
112
|
+
<text xml:space="preserve" text-anchor="middle" x="759.12" y="-172.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">PWN::SAST</text>
|
|
113
|
+
<text xml:space="preserve" text-anchor="middle" x="759.12" y="-160.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">48 rules on source</text>
|
|
114
|
+
</g>
|
|
115
|
+
<!-- Burp->SAST -->
|
|
119
116
|
<g id="edge7" class="edge">
|
|
120
|
-
<title>
|
|
121
|
-
<path fill="none" stroke="
|
|
122
|
-
<polygon fill="
|
|
117
|
+
<title>Burp->SAST</title>
|
|
118
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M597.42,-120.58C629.78,-130.53 669.4,-142.72 701.21,-152.5"/>
|
|
119
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="700.03,-155.06 708.5,-154.74 701.68,-149.71 700.03,-155.06"/>
|
|
123
120
|
</g>
|
|
124
|
-
<!--
|
|
125
|
-
<g id="
|
|
126
|
-
<title>
|
|
127
|
-
<path fill="
|
|
128
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
121
|
+
<!-- XSS -->
|
|
122
|
+
<g id="node8" class="node">
|
|
123
|
+
<title>XSS</title>
|
|
124
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M805.38,-120C805.38,-120 712.88,-120 712.88,-120 706.88,-120 700.88,-114 700.88,-108 700.88,-108 700.88,-96 700.88,-96 700.88,-90 706.88,-84 712.88,-84 712.88,-84 805.38,-84 805.38,-84 811.38,-84 817.38,-90 817.38,-96 817.38,-96 817.38,-108 817.38,-108 817.38,-114 811.38,-120 805.38,-120"/>
|
|
125
|
+
<text xml:space="preserve" text-anchor="middle" x="759.12" y="-104.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">pwn_xss_dom_vectors</text>
|
|
126
|
+
<text xml:space="preserve" text-anchor="middle" x="759.12" y="-92.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">web_cache_deception</text>
|
|
129
127
|
</g>
|
|
130
|
-
<!--
|
|
128
|
+
<!-- Burp->XSS -->
|
|
131
129
|
<g id="edge8" class="edge">
|
|
132
|
-
<title>
|
|
133
|
-
<path fill="none" stroke="
|
|
134
|
-
<polygon fill="
|
|
130
|
+
<title>Burp->XSS</title>
|
|
131
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M597.42,-102C626.26,-102 660.87,-102 690.57,-102"/>
|
|
132
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="690.47,-104.8 698.47,-102 690.47,-99.2 690.47,-104.8"/>
|
|
133
|
+
</g>
|
|
134
|
+
<!-- API -->
|
|
135
|
+
<g id="node9" class="node">
|
|
136
|
+
<title>API</title>
|
|
137
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M803.5,-52C803.5,-52 714.75,-52 714.75,-52 708.75,-52 702.75,-46 702.75,-40 702.75,-40 702.75,-28 702.75,-28 702.75,-22 708.75,-16 714.75,-16 714.75,-16 803.5,-16 803.5,-16 809.5,-16 815.5,-22 815.5,-28 815.5,-28 815.5,-40 815.5,-40 815.5,-46 809.5,-52 803.5,-52"/>
|
|
138
|
+
<text xml:space="preserve" text-anchor="middle" x="759.12" y="-36.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::OpenAPI</text>
|
|
139
|
+
<text xml:space="preserve" text-anchor="middle" x="759.12" y="-24.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">GraphQL introspection</text>
|
|
140
|
+
</g>
|
|
141
|
+
<!-- Zap->API -->
|
|
142
|
+
<g id="edge9" class="edge">
|
|
143
|
+
<title>Zap->API</title>
|
|
144
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M564.11,-34C595.89,-34 649.65,-34 692.54,-34"/>
|
|
145
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="692.38,-36.8 700.38,-34 692.38,-31.2 692.38,-36.8"/>
|
|
146
|
+
</g>
|
|
147
|
+
<!-- Report -->
|
|
148
|
+
<g id="node10" class="node">
|
|
149
|
+
<title>Report</title>
|
|
150
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M993.5,-120C993.5,-120 922,-120 922,-120 916,-120 910,-114 910,-108 910,-108 910,-96 910,-96 910,-90 916,-84 922,-84 922,-84 993.5,-84 993.5,-84 999.5,-84 1005.5,-90 1005.5,-96 1005.5,-96 1005.5,-108 1005.5,-108 1005.5,-114 999.5,-120 993.5,-120"/>
|
|
151
|
+
<text xml:space="preserve" text-anchor="middle" x="957.75" y="-104.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">PWN::Reports</text>
|
|
152
|
+
<text xml:space="preserve" text-anchor="middle" x="957.75" y="-92.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">DefectDojo import</text>
|
|
153
|
+
</g>
|
|
154
|
+
<!-- SAST->Report -->
|
|
155
|
+
<g id="edge10" class="edge">
|
|
156
|
+
<title>SAST->Report</title>
|
|
157
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M807.72,-153.54C835.62,-143.89 871.01,-131.65 900.31,-121.52"/>
|
|
158
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="901.09,-124.21 907.73,-118.95 899.26,-118.92 901.09,-124.21"/>
|
|
159
|
+
</g>
|
|
160
|
+
<!-- XSS->Report -->
|
|
161
|
+
<g id="edge11" class="edge">
|
|
162
|
+
<title>XSS->Report</title>
|
|
163
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M817.79,-102C843.71,-102 874.21,-102 900.03,-102"/>
|
|
164
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="899.7,-104.8 907.7,-102 899.7,-99.2 899.7,-104.8"/>
|
|
165
|
+
</g>
|
|
166
|
+
<!-- API->Report -->
|
|
167
|
+
<g id="edge12" class="edge">
|
|
168
|
+
<title>API->Report</title>
|
|
169
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M813.85,-52.58C840.6,-61.83 872.94,-73.02 900.08,-82.4"/>
|
|
170
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="899.11,-85.03 907.59,-85 900.95,-79.74 899.11,-85.03"/>
|
|
135
171
|
</g>
|
|
136
172
|
</g>
|
|
137
173
|
</svg>
|