pwn 0.5.618 → 0.5.621
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +2 -2
- data/README.md +14 -6
- data/bin/pwn_gqrx_scanner +25 -5
- data/documentation/Agent-Tool-Registry.md +4 -4
- data/documentation/Cron.md +13 -0
- data/documentation/Diagrams.md +6 -2
- data/documentation/Extrospection.md +96 -11
- data/documentation/Home.md +5 -4
- data/documentation/How-PWN-Works.md +7 -4
- data/documentation/Mistakes.md +97 -0
- data/documentation/Persistence.md +4 -1
- data/documentation/SDR.md +23 -5
- data/documentation/Skills-Memory-Learning.md +16 -5
- data/documentation/Transparent-Browser.md +18 -1
- data/documentation/diagrams/agent-tool-registry.svg +103 -100
- data/documentation/diagrams/ai-integration-tool-calling.svg +24 -24
- data/documentation/diagrams/aws-cloud-security.svg +25 -25
- data/documentation/diagrams/burp-vs-zap-preference.svg +12 -12
- data/documentation/diagrams/code-scanning-sast.svg +25 -25
- data/documentation/diagrams/cron-scheduling.svg +23 -23
- data/documentation/diagrams/dot/agent-tool-registry.dot +3 -3
- data/documentation/diagrams/dot/extrospection-world-awareness.dot +33 -10
- data/documentation/diagrams/dot/memory-skills-detailed.dot +16 -5
- data/documentation/diagrams/dot/mistakes-negative-feedback.dot +93 -0
- data/documentation/diagrams/dot/overall-pwn-architecture.dot +7 -5
- data/documentation/diagrams/dot/persistence-filesystem.dot +4 -2
- data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +25 -7
- data/documentation/diagrams/dot/sdr-radio-flow.dot +13 -11
- data/documentation/diagrams/driver-framework.svg +13 -13
- data/documentation/diagrams/extrospection-world-awareness.svg +241 -93
- data/documentation/diagrams/fuzzing-workflow.svg +24 -24
- data/documentation/diagrams/hardware-hacking.svg +18 -18
- data/documentation/diagrams/history-to-drivers.svg +18 -18
- data/documentation/diagrams/memory-skills-detailed.svg +169 -97
- data/documentation/diagrams/mistakes-negative-feedback.svg +266 -0
- data/documentation/diagrams/network-infra-testing.svg +27 -27
- data/documentation/diagrams/overall-pwn-architecture.svg +184 -173
- data/documentation/diagrams/penetration-testing-workflow.svg +30 -30
- data/documentation/diagrams/persistence-filesystem.svg +111 -87
- data/documentation/diagrams/plugin-ecosystem.svg +35 -35
- data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +263 -149
- data/documentation/diagrams/pwn-repl-prototyping.svg +20 -20
- data/documentation/diagrams/reporting-pipeline.svg +18 -18
- data/documentation/diagrams/reverse-engineering-flow.svg +21 -21
- data/documentation/diagrams/sdr-radio-flow.svg +76 -56
- data/documentation/diagrams/sessions-cron-automation.svg +18 -18
- data/documentation/diagrams/swarm-multi-agent.svg +39 -39
- data/documentation/diagrams/web-application-testing.svg +26 -26
- data/documentation/diagrams/zero-day-research-flow.svg +25 -25
- data/documentation/pwn-ai-Agent.md +28 -15
- data/lib/pwn/ai/agent/extrospection.rb +494 -6
- data/lib/pwn/ai/agent/learning.rb +67 -7
- data/lib/pwn/ai/agent/loop.rb +72 -6
- data/lib/pwn/ai/agent/mistakes.rb +369 -0
- data/lib/pwn/ai/agent/prompt_builder.rb +10 -1
- data/lib/pwn/ai/agent/tools/extrospection.rb +88 -3
- data/lib/pwn/ai/agent/tools/mistakes.rb +132 -0
- data/lib/pwn/ai/agent.rb +1 -0
- data/lib/pwn/plugins/jira_data_center.rb +2 -2
- data/lib/pwn/sdr/decoder/adsb.rb +82 -0
- data/lib/pwn/sdr/decoder/apt.rb +136 -0
- data/lib/pwn/sdr/decoder/base.rb +258 -171
- data/lib/pwn/sdr/decoder/bluetooth.rb +71 -0
- data/lib/pwn/sdr/decoder/dect.rb +70 -0
- data/lib/pwn/sdr/decoder/dsp.rb +396 -0
- data/lib/pwn/sdr/decoder/flex.rb +177 -210
- data/lib/pwn/sdr/decoder/gps.rb +74 -0
- data/lib/pwn/sdr/decoder/gsm.rb +31 -62
- data/lib/pwn/sdr/decoder/iridium.rb +66 -0
- data/lib/pwn/sdr/decoder/lora.rb +80 -0
- data/lib/pwn/sdr/decoder/lte.rb +67 -0
- data/lib/pwn/sdr/decoder/morse.rb +138 -0
- data/lib/pwn/sdr/decoder/p25.rb +74 -0
- data/lib/pwn/sdr/decoder/pager.rb +61 -0
- data/lib/pwn/sdr/decoder/pocsag.rb +176 -54
- data/lib/pwn/sdr/decoder/rfid.rb +79 -0
- data/lib/pwn/sdr/decoder/rtl433.rb +86 -0
- data/lib/pwn/sdr/decoder/rtty.rb +139 -0
- data/lib/pwn/sdr/decoder/wifi.rb +77 -0
- data/lib/pwn/sdr/decoder/zigbee.rb +74 -0
- data/lib/pwn/sdr/decoder.rb +75 -7
- data/lib/pwn/sdr/frequency_allocation.rb +82 -41
- data/lib/pwn/sdr/gqrx.rb +186 -95
- data/lib/pwn/version.rb +1 -1
- data/spec/lib/pwn/ai/agent/mistakes_spec.rb +36 -0
- data/spec/lib/pwn/ai/agent/tools/mistakes_spec.rb +12 -0
- data/spec/lib/pwn/sdr/decoder/adsb_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/apt_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/bluetooth_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/dect_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/dsp_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/gps_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/iridium_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/lora_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/lte_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/morse_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/p25_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/pager_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/rfid_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/rtl433_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/rtty_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/wifi_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/zigbee_spec.rb +15 -0
- data/third_party/pwn_rdoc.jsonl +115 -5
- metadata +46 -6
- data/README.md.bak +0 -200
|
@@ -9,36 +9,36 @@
|
|
|
9
9
|
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2 538.58)">
|
|
10
10
|
<title>PWN_Swarm</title>
|
|
11
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>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="138.54" y="-473.38" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="11.00" fill="#94a3b8">personas · ask · debate · broadcast · shared bus (no daemon)</text>
|
|
14
14
|
<g id="clust1" class="cluster">
|
|
15
15
|
<title>cluster_verbs</title>
|
|
16
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>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="305" y="-352.38" font-family="Helvetica,sans-Serif" font-size="20.00" fill="#ddd6fe">Swarm Verbs  (toolset: swarm)</text>
|
|
18
18
|
</g>
|
|
19
19
|
<g id="clust3" class="cluster">
|
|
20
20
|
<title>cluster_personas</title>
|
|
21
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>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="321.5" y="-222.62" font-family="Helvetica,sans-Serif" font-size="20.00" fill="#a7f3d0">Personas  (each = full PWN::AI::Agent::Loop)</text>
|
|
23
23
|
</g>
|
|
24
24
|
<g id="clust5" class="cluster">
|
|
25
25
|
<title>cluster_state</title>
|
|
26
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>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="337.5" y="-80.38" font-family="Helvetica,sans-Serif" font-size="20.00" fill="#fde68a">Shared State  ~/.pwn/</text>
|
|
28
28
|
</g>
|
|
29
29
|
<!-- Orchestrator -->
|
|
30
30
|
<g id="node1" class="node">
|
|
31
31
|
<title>Orchestrator</title>
|
|
32
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>
|
|
33
|
+
<text xml:space="preserve" text-anchor="middle" x="273" y="-441.43" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="11.00" fill="#0f172a">(you, in pwn-ai)</text>
|
|
35
35
|
</g>
|
|
36
36
|
<!-- Spawn -->
|
|
37
37
|
<g id="node2" class="node">
|
|
38
38
|
<title>Spawn</title>
|
|
39
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>
|
|
40
|
+
<text xml:space="preserve" text-anchor="middle" x="76" y="-321.18" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="11.00" fill="#0f172a">define persona</text>
|
|
42
42
|
</g>
|
|
43
43
|
<!-- Orchestrator->Spawn -->
|
|
44
44
|
<g id="edge1" class="edge">
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
<g id="node3" class="node">
|
|
51
51
|
<title>Ask</title>
|
|
52
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>
|
|
53
|
+
<text xml:space="preserve" text-anchor="middle" x="221" y="-321.18" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="11.00" fill="#0f172a">1 turn → 1 persona</text>
|
|
55
55
|
</g>
|
|
56
56
|
<!-- Orchestrator->Ask -->
|
|
57
57
|
<g id="edge2" class="edge">
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
<g id="node4" class="node">
|
|
64
64
|
<title>Debate</title>
|
|
65
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>
|
|
66
|
+
<text xml:space="preserve" text-anchor="middle" x="377" y="-321.18" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="11.00" fill="#0f172a">round-robin critique</text>
|
|
68
68
|
</g>
|
|
69
69
|
<!-- Orchestrator->Debate -->
|
|
70
70
|
<g id="edge3" class="edge">
|
|
@@ -76,8 +76,8 @@
|
|
|
76
76
|
<g id="node5" class="node">
|
|
77
77
|
<title>Broadcast</title>
|
|
78
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>
|
|
79
|
+
<text xml:space="preserve" text-anchor="middle" x="528" y="-321.18" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="11.00" fill="#0f172a">fan-out ensemble</text>
|
|
81
81
|
</g>
|
|
82
82
|
<!-- Orchestrator->Broadcast -->
|
|
83
83
|
<g id="edge4" class="edge">
|
|
@@ -89,9 +89,9 @@
|
|
|
89
89
|
<g id="node6" class="node">
|
|
90
90
|
<title>Red</title>
|
|
91
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>
|
|
92
|
+
<text xml:space="preserve" text-anchor="middle" x="76" y="-191.93" font-family="Helvetica,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="Helvetica,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="Helvetica,sans-Serif" font-size="11.00" fill="#0f172a">toolsets: terminal,pwn</text>
|
|
95
95
|
</g>
|
|
96
96
|
<!-- Spawn->Red -->
|
|
97
97
|
<!-- Agents -->
|
|
@@ -99,15 +99,15 @@
|
|
|
99
99
|
<title>Agents</title>
|
|
100
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
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>
|
|
102
|
+
<text xml:space="preserve" text-anchor="middle" x="76" y="-43.11" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="11.00" fill="#0f172a">persona registry</text>
|
|
104
104
|
</g>
|
|
105
105
|
<!-- Spawn->Agents -->
|
|
106
106
|
<g id="edge15" class="edge">
|
|
107
107
|
<title>Spawn->Agents</title>
|
|
108
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
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>
|
|
110
|
+
<text xml:space="preserve" text-anchor="middle" x="677.25" y="-178.82" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cbd5e1">write</text>
|
|
111
111
|
</g>
|
|
112
112
|
<!-- Ask->Red -->
|
|
113
113
|
<g id="edge6" class="edge">
|
|
@@ -119,9 +119,9 @@
|
|
|
119
119
|
<g id="node7" class="node">
|
|
120
120
|
<title>Blue</title>
|
|
121
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>
|
|
122
|
+
<text xml:space="preserve" text-anchor="middle" x="236" y="-191.93" font-family="Helvetica,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="Helvetica,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="Helvetica,sans-Serif" font-size="11.00" fill="#0f172a">toolsets: pwn,extro</text>
|
|
125
125
|
</g>
|
|
126
126
|
<!-- Debate->Blue -->
|
|
127
127
|
<g id="edge7" class="edge">
|
|
@@ -133,9 +133,9 @@
|
|
|
133
133
|
<g id="node8" class="node">
|
|
134
134
|
<title>Recon</title>
|
|
135
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>
|
|
136
|
+
<text xml:space="preserve" text-anchor="middle" x="406" y="-191.93" font-family="Helvetica,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="Helvetica,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="Helvetica,sans-Serif" font-size="11.00" fill="#0f172a">toolsets: terminal,memory</text>
|
|
139
139
|
</g>
|
|
140
140
|
<!-- Debate->Recon -->
|
|
141
141
|
<g id="edge8" class="edge">
|
|
@@ -147,9 +147,9 @@
|
|
|
147
147
|
<g id="node9" class="node">
|
|
148
148
|
<title>Xpl</title>
|
|
149
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>
|
|
150
|
+
<text xml:space="preserve" text-anchor="middle" x="575" y="-191.93" font-family="Helvetica,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="Helvetica,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="Helvetica,sans-Serif" font-size="11.00" fill="#0f172a">toolsets: pwn,skills</text>
|
|
153
153
|
</g>
|
|
154
154
|
<!-- Broadcast->Xpl -->
|
|
155
155
|
<g id="edge9" class="edge">
|
|
@@ -163,15 +163,15 @@
|
|
|
163
163
|
<title>Bus</title>
|
|
164
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
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>
|
|
166
|
+
<text xml:space="preserve" text-anchor="middle" x="229" y="-43.11" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="11.00" fill="#0f172a">append-only chat</text>
|
|
168
168
|
</g>
|
|
169
169
|
<!-- Red->Bus -->
|
|
170
170
|
<g id="edge11" class="edge">
|
|
171
171
|
<title>Red->Bus</title>
|
|
172
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
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>
|
|
174
|
+
<text xml:space="preserve" text-anchor="middle" x="174.91" y="-113.33" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cbd5e1">append reply</text>
|
|
175
175
|
</g>
|
|
176
176
|
<!-- Blue->Bus -->
|
|
177
177
|
<g id="edge12" class="edge">
|
|
@@ -184,8 +184,8 @@
|
|
|
184
184
|
<title>Pmap</title>
|
|
185
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
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>
|
|
187
|
+
<text xml:space="preserve" text-anchor="middle" x="406" y="-43.11" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="11.00" fill="#0f172a">name → session_id</text>
|
|
189
189
|
</g>
|
|
190
190
|
<!-- Recon->Pmap -->
|
|
191
191
|
<g id="edge13" class="edge">
|
|
@@ -198,8 +198,8 @@
|
|
|
198
198
|
<title>Sess</title>
|
|
199
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
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>
|
|
201
|
+
<text xml:space="preserve" text-anchor="middle" x="585" y="-43.11" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="11.00" fill="#0f172a">per-persona transcript</text>
|
|
203
203
|
</g>
|
|
204
204
|
<!-- Xpl->Sess -->
|
|
205
205
|
<g id="edge14" class="edge">
|
|
@@ -212,14 +212,14 @@
|
|
|
212
212
|
<title>Bus->Orchestrator</title>
|
|
213
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
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>
|
|
215
|
+
<text xml:space="preserve" text-anchor="middle" x="819.71" y="-255.57" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cbd5e1">swarm_bus()</text>
|
|
216
216
|
</g>
|
|
217
217
|
<!-- Bus->Debate -->
|
|
218
218
|
<g id="edge16" class="edge">
|
|
219
219
|
<title>Bus->Debate</title>
|
|
220
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
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>
|
|
222
|
+
<text xml:space="preserve" text-anchor="middle" x="746.13" y="-178.82" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cbd5e1">tail → context</text>
|
|
223
223
|
</g>
|
|
224
224
|
</g>
|
|
225
225
|
</svg>
|
|
@@ -9,36 +9,36 @@
|
|
|
9
9
|
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2 317.2)">
|
|
10
10
|
<title>PWN_Web</title>
|
|
11
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>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="388.38" y="-252" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="11.00" fill="#94a3b8">TransparentBrowser → BurpSuite (preferred) → SAST → Reports</text>
|
|
14
14
|
<g id="clust1" class="cluster">
|
|
15
15
|
<title>cluster_drive</title>
|
|
16
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>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-204" font-family="Helvetica,sans-Serif" font-size="20.00" fill="#a7f3d0">Drive Traffic</text>
|
|
18
18
|
</g>
|
|
19
19
|
<g id="clust2" class="cluster">
|
|
20
20
|
<title>cluster_proxy</title>
|
|
21
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>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="536.5" y="-136" font-family="Helvetica,sans-Serif" font-size="20.00" fill="#fde68a">Intercept + Scan</text>
|
|
23
23
|
</g>
|
|
24
24
|
<g id="clust3" class="cluster">
|
|
25
25
|
<title>cluster_deep</title>
|
|
26
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>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="759.62" y="-204" font-family="Helvetica,sans-Serif" font-size="20.00" fill="#ddd6fe">Deep Analysis</text>
|
|
28
28
|
</g>
|
|
29
29
|
<!-- Target -->
|
|
30
30
|
<g id="node1" class="node">
|
|
31
31
|
<title>Target</title>
|
|
32
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>
|
|
33
|
+
<text xml:space="preserve" text-anchor="middle" x="36.88" y="-104.88" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">URL / API</text>
|
|
35
35
|
</g>
|
|
36
36
|
<!-- TB -->
|
|
37
37
|
<g id="node2" class="node">
|
|
38
38
|
<title>TB</title>
|
|
39
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>
|
|
40
|
+
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-172.5" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">headless · watir · devtools</text>
|
|
42
42
|
</g>
|
|
43
43
|
<!-- Target->TB -->
|
|
44
44
|
<g id="edge1" class="edge">
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
<g id="node3" class="node">
|
|
51
51
|
<title>Spider</title>
|
|
52
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>
|
|
53
|
+
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-104.5" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">URI buster</text>
|
|
55
55
|
</g>
|
|
56
56
|
<!-- Target->Spider -->
|
|
57
57
|
<g id="edge2" class="edge">
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
<g id="node4" class="node">
|
|
64
64
|
<title>WWW</title>
|
|
65
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>
|
|
66
|
+
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-36.5" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">21 site drivers</text>
|
|
68
68
|
</g>
|
|
69
69
|
<!-- Target->WWW -->
|
|
70
70
|
<g id="edge3" class="edge">
|
|
@@ -76,15 +76,15 @@
|
|
|
76
76
|
<g id="node5" class="node">
|
|
77
77
|
<title>Burp</title>
|
|
78
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>
|
|
79
|
+
<text xml:space="preserve" text-anchor="middle" x="536" y="-104.88" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">active · passive · REST</text>
|
|
81
81
|
</g>
|
|
82
82
|
<!-- TB->Burp -->
|
|
83
83
|
<g id="edge4" class="edge">
|
|
84
84
|
<title>TB->Burp</title>
|
|
85
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
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>
|
|
87
|
+
<text xml:space="preserve" text-anchor="middle" x="377.62" y="-148.01" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cbd5e1">proxy 127.0.0.1:8080</text>
|
|
88
88
|
</g>
|
|
89
89
|
<!-- Spider->Burp -->
|
|
90
90
|
<g id="edge5" class="edge">
|
|
@@ -96,8 +96,8 @@
|
|
|
96
96
|
<g id="node6" class="node">
|
|
97
97
|
<title>Zap</title>
|
|
98
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>
|
|
99
|
+
<text xml:space="preserve" text-anchor="middle" x="536" y="-36.5" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">(fallback)</text>
|
|
101
101
|
</g>
|
|
102
102
|
<!-- WWW->Zap -->
|
|
103
103
|
<g id="edge6" class="edge">
|
|
@@ -109,8 +109,8 @@
|
|
|
109
109
|
<g id="node7" class="node">
|
|
110
110
|
<title>SAST</title>
|
|
111
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>
|
|
112
|
+
<text xml:space="preserve" text-anchor="middle" x="759.12" y="-172.5" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">48 rules on source</text>
|
|
114
114
|
</g>
|
|
115
115
|
<!-- Burp->SAST -->
|
|
116
116
|
<g id="edge7" class="edge">
|
|
@@ -122,8 +122,8 @@
|
|
|
122
122
|
<g id="node8" class="node">
|
|
123
123
|
<title>XSS</title>
|
|
124
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>
|
|
125
|
+
<text xml:space="preserve" text-anchor="middle" x="759.12" y="-104.5" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">web_cache_deception</text>
|
|
127
127
|
</g>
|
|
128
128
|
<!-- Burp->XSS -->
|
|
129
129
|
<g id="edge8" class="edge">
|
|
@@ -135,8 +135,8 @@
|
|
|
135
135
|
<g id="node9" class="node">
|
|
136
136
|
<title>API</title>
|
|
137
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>
|
|
138
|
+
<text xml:space="preserve" text-anchor="middle" x="759.12" y="-36.5" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">GraphQL introspection</text>
|
|
140
140
|
</g>
|
|
141
141
|
<!-- Zap->API -->
|
|
142
142
|
<g id="edge9" class="edge">
|
|
@@ -148,8 +148,8 @@
|
|
|
148
148
|
<g id="node10" class="node">
|
|
149
149
|
<title>Report</title>
|
|
150
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>
|
|
151
|
+
<text xml:space="preserve" text-anchor="middle" x="957.75" y="-104.5" font-family="Helvetica,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="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">DefectDojo import</text>
|
|
153
153
|
</g>
|
|
154
154
|
<!-- SAST->Report -->
|
|
155
155
|
<g id="edge10" class="edge">
|
|
@@ -9,41 +9,41 @@
|
|
|
9
9
|
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2 265.39)">
|
|
10
10
|
<title>PWN_ZeroDay</title>
|
|
11
11
|
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-265.39 1021.2,-265.39 1021.2,43.2 -43.2,43.2"/>
|
|
12
|
-
<text xml:space="preserve" text-anchor="start" x="304.5" y="-200.19" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">Zero-Day Research Lifecycle with PWN</text>
|
|
13
|
-
<text xml:space="preserve" text-anchor="start" x="337.12" y="-188.74" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">attack surface → hypothesis → prove → weaponise → disclose</text>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="304.5" y="-200.19" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">Zero-Day Research Lifecycle with PWN</text>
|
|
13
|
+
<text xml:space="preserve" text-anchor="start" x="337.12" y="-188.74" font-family="Helvetica,sans-Serif" font-size="11.00" fill="#94a3b8">attack surface → hypothesis → prove → weaponise → disclose</text>
|
|
14
14
|
<g id="clust1" class="cluster">
|
|
15
15
|
<title>cluster_hyp</title>
|
|
16
16
|
<path fill="#022c22" stroke="#047857" d="M210.5,-24.19C210.5,-24.19 312,-24.19 312,-24.19 318,-24.19 324,-30.19 324,-36.19 324,-36.19 324,-163.19 324,-163.19 324,-169.19 318,-175.19 312,-175.19 312,-175.19 210.5,-175.19 210.5,-175.19 204.5,-175.19 198.5,-169.19 198.5,-163.19 198.5,-163.19 198.5,-36.19 198.5,-36.19 198.5,-30.19 204.5,-24.19 210.5,-24.19"/>
|
|
17
|
-
<text xml:space="preserve" text-anchor="middle" x="261.25" y="-152.19" font-family="sans-Serif" font-size="20.00" fill="#a7f3d0">Hypothesise</text>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="261.25" y="-152.19" font-family="Helvetica,sans-Serif" font-size="20.00" fill="#a7f3d0">Hypothesise</text>
|
|
18
18
|
</g>
|
|
19
19
|
<g id="clust2" class="cluster">
|
|
20
20
|
<title>cluster_prove</title>
|
|
21
21
|
<path fill="#422006" stroke="#a16207" d="M407,-24.19C407,-24.19 502.75,-24.19 502.75,-24.19 508.75,-24.19 514.75,-30.19 514.75,-36.19 514.75,-36.19 514.75,-163.19 514.75,-163.19 514.75,-169.19 508.75,-175.19 502.75,-175.19 502.75,-175.19 407,-175.19 407,-175.19 401,-175.19 395,-169.19 395,-163.19 395,-163.19 395,-36.19 395,-36.19 395,-30.19 401,-24.19 407,-24.19"/>
|
|
22
|
-
<text xml:space="preserve" text-anchor="middle" x="454.88" y="-152.19" font-family="sans-Serif" font-size="20.00" fill="#fde68a">Prove</text>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="454.88" y="-152.19" font-family="Helvetica,sans-Serif" font-size="20.00" fill="#fde68a">Prove</text>
|
|
23
23
|
</g>
|
|
24
24
|
<g id="clust3" class="cluster">
|
|
25
25
|
<title>cluster_weapon</title>
|
|
26
26
|
<path fill="#450a0a" stroke="#b91c1c" d="M674.75,-24.19C674.75,-24.19 767.25,-24.19 767.25,-24.19 773.25,-24.19 779.25,-30.19 779.25,-36.19 779.25,-36.19 779.25,-163.19 779.25,-163.19 779.25,-169.19 773.25,-175.19 767.25,-175.19 767.25,-175.19 674.75,-175.19 674.75,-175.19 668.75,-175.19 662.75,-169.19 662.75,-163.19 662.75,-163.19 662.75,-36.19 662.75,-36.19 662.75,-30.19 668.75,-24.19 674.75,-24.19"/>
|
|
27
|
-
<text xml:space="preserve" text-anchor="middle" x="721" y="-152.19" font-family="sans-Serif" font-size="20.00" fill="#fecaca">Weaponise</text>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="721" y="-152.19" font-family="Helvetica,sans-Serif" font-size="20.00" fill="#fecaca">Weaponise</text>
|
|
28
28
|
</g>
|
|
29
29
|
<g id="clust4" class="cluster">
|
|
30
30
|
<title>cluster_disc</title>
|
|
31
31
|
<path fill="#2e1065" stroke="#6d28d9" d="M862.25,-24.19C862.25,-24.19 958,-24.19 958,-24.19 964,-24.19 970,-30.19 970,-36.19 970,-36.19 970,-163.19 970,-163.19 970,-169.19 964,-175.19 958,-175.19 958,-175.19 862.25,-175.19 862.25,-175.19 856.25,-175.19 850.25,-169.19 850.25,-163.19 850.25,-163.19 850.25,-36.19 850.25,-36.19 850.25,-30.19 856.25,-24.19 862.25,-24.19"/>
|
|
32
|
-
<text xml:space="preserve" text-anchor="middle" x="910.12" y="-152.19" font-family="sans-Serif" font-size="20.00" fill="#ddd6fe">Disclose</text>
|
|
32
|
+
<text xml:space="preserve" text-anchor="middle" x="910.12" y="-152.19" font-family="Helvetica,sans-Serif" font-size="20.00" fill="#ddd6fe">Disclose</text>
|
|
33
33
|
</g>
|
|
34
34
|
<!-- Surface -->
|
|
35
35
|
<g id="node1" class="node">
|
|
36
36
|
<title>Surface</title>
|
|
37
37
|
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M107.5,-101.19C107.5,-101.19 12,-101.19 12,-101.19 6,-101.19 0,-95.19 0,-89.19 0,-89.19 0,-77.19 0,-77.19 0,-71.19 6,-65.19 12,-65.19 12,-65.19 107.5,-65.19 107.5,-65.19 113.5,-65.19 119.5,-71.19 119.5,-77.19 119.5,-77.19 119.5,-89.19 119.5,-89.19 119.5,-95.19 113.5,-101.19 107.5,-101.19"/>
|
|
38
|
-
<text xml:space="preserve" text-anchor="middle" x="59.75" y="-85.69" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Attack Surface</text>
|
|
39
|
-
<text xml:space="preserve" text-anchor="middle" x="59.75" y="-73.69" font-family="sans-Serif" font-size="10.00" fill="#0f172a">OpenAPI · Shodan · Git</text>
|
|
38
|
+
<text xml:space="preserve" text-anchor="middle" x="59.75" y="-85.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">Attack Surface</text>
|
|
39
|
+
<text xml:space="preserve" text-anchor="middle" x="59.75" y="-73.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">OpenAPI · Shodan · Git</text>
|
|
40
40
|
</g>
|
|
41
41
|
<!-- SAST -->
|
|
42
42
|
<g id="node2" class="node">
|
|
43
43
|
<title>SAST</title>
|
|
44
44
|
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M285.25,-136.19C285.25,-136.19 236.25,-136.19 236.25,-136.19 230.25,-136.19 224.25,-130.19 224.25,-124.19 224.25,-124.19 224.25,-112.19 224.25,-112.19 224.25,-106.19 230.25,-100.19 236.25,-100.19 236.25,-100.19 285.25,-100.19 285.25,-100.19 291.25,-100.19 297.25,-106.19 297.25,-112.19 297.25,-112.19 297.25,-124.19 297.25,-124.19 297.25,-130.19 291.25,-136.19 285.25,-136.19"/>
|
|
45
|
-
<text xml:space="preserve" text-anchor="middle" x="260.75" y="-120.69" font-family="sans-Serif" font-size="10.00" fill="#0f172a">PWN::SAST</text>
|
|
46
|
-
<text xml:space="preserve" text-anchor="middle" x="260.75" y="-108.69" font-family="sans-Serif" font-size="10.00" fill="#0f172a">taint patterns</text>
|
|
45
|
+
<text xml:space="preserve" text-anchor="middle" x="260.75" y="-120.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">PWN::SAST</text>
|
|
46
|
+
<text xml:space="preserve" text-anchor="middle" x="260.75" y="-108.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">taint patterns</text>
|
|
47
47
|
</g>
|
|
48
48
|
<!-- Surface->SAST -->
|
|
49
49
|
<g id="edge1" class="edge">
|
|
@@ -55,8 +55,8 @@
|
|
|
55
55
|
<g id="node3" class="node">
|
|
56
56
|
<title>AI</title>
|
|
57
57
|
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M291.25,-68.19C291.25,-68.19 230.25,-68.19 230.25,-68.19 224.25,-68.19 218.25,-62.19 218.25,-56.19 218.25,-56.19 218.25,-44.19 218.25,-44.19 218.25,-38.19 224.25,-32.19 230.25,-32.19 230.25,-32.19 291.25,-32.19 291.25,-32.19 297.25,-32.19 303.25,-38.19 303.25,-44.19 303.25,-44.19 303.25,-56.19 303.25,-56.19 303.25,-62.19 297.25,-68.19 291.25,-68.19"/>
|
|
58
|
-
<text xml:space="preserve" text-anchor="middle" x="260.75" y="-52.69" font-family="sans-Serif" font-size="10.00" fill="#0f172a">pwn-ai</text>
|
|
59
|
-
<text xml:space="preserve" text-anchor="middle" x="260.75" y="-40.69" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Agent::VulnGen</text>
|
|
58
|
+
<text xml:space="preserve" text-anchor="middle" x="260.75" y="-52.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">pwn-ai</text>
|
|
59
|
+
<text xml:space="preserve" text-anchor="middle" x="260.75" y="-40.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">Agent::VulnGen</text>
|
|
60
60
|
</g>
|
|
61
61
|
<!-- Surface->AI -->
|
|
62
62
|
<g id="edge2" class="edge">
|
|
@@ -68,8 +68,8 @@
|
|
|
68
68
|
<g id="node4" class="node">
|
|
69
69
|
<title>Fuzz</title>
|
|
70
70
|
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M477.5,-136.19C477.5,-136.19 432.25,-136.19 432.25,-136.19 426.25,-136.19 420.25,-130.19 420.25,-124.19 420.25,-124.19 420.25,-112.19 420.25,-112.19 420.25,-106.19 426.25,-100.19 432.25,-100.19 432.25,-100.19 477.5,-100.19 477.5,-100.19 483.5,-100.19 489.5,-106.19 489.5,-112.19 489.5,-112.19 489.5,-124.19 489.5,-124.19 489.5,-130.19 483.5,-136.19 477.5,-136.19"/>
|
|
71
|
-
<text xml:space="preserve" text-anchor="middle" x="454.88" y="-120.69" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Fuzz · Sock</text>
|
|
72
|
-
<text xml:space="preserve" text-anchor="middle" x="454.88" y="-108.69" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Packet</text>
|
|
71
|
+
<text xml:space="preserve" text-anchor="middle" x="454.88" y="-120.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">Fuzz · Sock</text>
|
|
72
|
+
<text xml:space="preserve" text-anchor="middle" x="454.88" y="-108.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">Packet</text>
|
|
73
73
|
</g>
|
|
74
74
|
<!-- SAST->Fuzz -->
|
|
75
75
|
<g id="edge3" class="edge">
|
|
@@ -81,8 +81,8 @@
|
|
|
81
81
|
<g id="node5" class="node">
|
|
82
82
|
<title>TB</title>
|
|
83
83
|
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M494.75,-68.19C494.75,-68.19 415,-68.19 415,-68.19 409,-68.19 403,-62.19 403,-56.19 403,-56.19 403,-44.19 403,-44.19 403,-38.19 409,-32.19 415,-32.19 415,-32.19 494.75,-32.19 494.75,-32.19 500.75,-32.19 506.75,-38.19 506.75,-44.19 506.75,-44.19 506.75,-56.19 506.75,-56.19 506.75,-62.19 500.75,-68.19 494.75,-68.19"/>
|
|
84
|
-
<text xml:space="preserve" text-anchor="middle" x="454.88" y="-52.69" font-family="sans-Serif" font-size="10.00" fill="#0f172a">TransparentBrowser</text>
|
|
85
|
-
<text xml:space="preserve" text-anchor="middle" x="454.88" y="-40.69" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Burp replay</text>
|
|
84
|
+
<text xml:space="preserve" text-anchor="middle" x="454.88" y="-52.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">TransparentBrowser</text>
|
|
85
|
+
<text xml:space="preserve" text-anchor="middle" x="454.88" y="-40.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">Burp replay</text>
|
|
86
86
|
</g>
|
|
87
87
|
<!-- AI->TB -->
|
|
88
88
|
<g id="edge4" class="edge">
|
|
@@ -94,8 +94,8 @@
|
|
|
94
94
|
<g id="node6" class="node">
|
|
95
95
|
<title>Asm</title>
|
|
96
96
|
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M758.5,-136.19C758.5,-136.19 682.5,-136.19 682.5,-136.19 676.5,-136.19 670.5,-130.19 670.5,-124.19 670.5,-124.19 670.5,-112.19 670.5,-112.19 670.5,-106.19 676.5,-100.19 682.5,-100.19 682.5,-100.19 758.5,-100.19 758.5,-100.19 764.5,-100.19 770.5,-106.19 770.5,-112.19 770.5,-112.19 770.5,-124.19 770.5,-124.19 770.5,-130.19 764.5,-136.19 758.5,-136.19"/>
|
|
97
|
-
<text xml:space="preserve" text-anchor="middle" x="720.5" y="-120.69" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Assembly</text>
|
|
98
|
-
<text xml:space="preserve" text-anchor="middle" x="720.5" y="-108.69" font-family="sans-Serif" font-size="10.00" fill="#0f172a">pwn-asm shellcode</text>
|
|
97
|
+
<text xml:space="preserve" text-anchor="middle" x="720.5" y="-120.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">Assembly</text>
|
|
98
|
+
<text xml:space="preserve" text-anchor="middle" x="720.5" y="-108.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">pwn-asm shellcode</text>
|
|
99
99
|
</g>
|
|
100
100
|
<!-- Fuzz->Asm -->
|
|
101
101
|
<g id="edge5" class="edge">
|
|
@@ -107,8 +107,8 @@
|
|
|
107
107
|
<g id="node7" class="node">
|
|
108
108
|
<title>MSF</title>
|
|
109
109
|
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M739,-68.19C739,-68.19 702,-68.19 702,-68.19 696,-68.19 690,-62.19 690,-56.19 690,-56.19 690,-44.19 690,-44.19 690,-38.19 696,-32.19 702,-32.19 702,-32.19 739,-32.19 739,-32.19 745,-32.19 751,-38.19 751,-44.19 751,-44.19 751,-56.19 751,-56.19 751,-62.19 745,-68.19 739,-68.19"/>
|
|
110
|
-
<text xml:space="preserve" text-anchor="middle" x="720.5" y="-52.69" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Metasploit</text>
|
|
111
|
-
<text xml:space="preserve" text-anchor="middle" x="720.5" y="-40.69" font-family="sans-Serif" font-size="10.00" fill="#0f172a">module</text>
|
|
110
|
+
<text xml:space="preserve" text-anchor="middle" x="720.5" y="-52.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">Metasploit</text>
|
|
111
|
+
<text xml:space="preserve" text-anchor="middle" x="720.5" y="-40.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">module</text>
|
|
112
112
|
</g>
|
|
113
113
|
<!-- TB->MSF -->
|
|
114
114
|
<g id="edge6" class="edge">
|
|
@@ -120,8 +120,8 @@
|
|
|
120
120
|
<g id="node8" class="node">
|
|
121
121
|
<title>H1</title>
|
|
122
122
|
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M950,-136.19C950,-136.19 870.25,-136.19 870.25,-136.19 864.25,-136.19 858.25,-130.19 858.25,-124.19 858.25,-124.19 858.25,-112.19 858.25,-112.19 858.25,-106.19 864.25,-100.19 870.25,-100.19 870.25,-100.19 950,-100.19 950,-100.19 956,-100.19 962,-106.19 962,-112.19 962,-112.19 962,-124.19 962,-124.19 962,-130.19 956,-136.19 950,-136.19"/>
|
|
123
|
-
<text xml:space="preserve" text-anchor="middle" x="910.12" y="-120.69" font-family="sans-Serif" font-size="10.00" fill="#0f172a">HackerOne</text>
|
|
124
|
-
<text xml:space="preserve" text-anchor="middle" x="910.12" y="-108.69" font-family="sans-Serif" font-size="10.00" fill="#0f172a">BugCrowd · Synack</text>
|
|
123
|
+
<text xml:space="preserve" text-anchor="middle" x="910.12" y="-120.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">HackerOne</text>
|
|
124
|
+
<text xml:space="preserve" text-anchor="middle" x="910.12" y="-108.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">BugCrowd · Synack</text>
|
|
125
125
|
</g>
|
|
126
126
|
<!-- Asm->H1 -->
|
|
127
127
|
<g id="edge7" class="edge">
|
|
@@ -133,8 +133,8 @@
|
|
|
133
133
|
<g id="node9" class="node">
|
|
134
134
|
<title>Rep</title>
|
|
135
135
|
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M939.88,-68.19C939.88,-68.19 880.38,-68.19 880.38,-68.19 874.38,-68.19 868.38,-62.19 868.38,-56.19 868.38,-56.19 868.38,-44.19 868.38,-44.19 868.38,-38.19 874.38,-32.19 880.38,-32.19 880.38,-32.19 939.88,-32.19 939.88,-32.19 945.88,-32.19 951.88,-38.19 951.88,-44.19 951.88,-44.19 951.88,-56.19 951.88,-56.19 951.88,-62.19 945.88,-68.19 939.88,-68.19"/>
|
|
136
|
-
<text xml:space="preserve" text-anchor="middle" x="910.12" y="-52.69" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Reports · Skills</text>
|
|
137
|
-
<text xml:space="preserve" text-anchor="middle" x="910.12" y="-40.69" font-family="sans-Serif" font-size="10.00" fill="#0f172a">distill_skill</text>
|
|
136
|
+
<text xml:space="preserve" text-anchor="middle" x="910.12" y="-52.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">Reports · Skills</text>
|
|
137
|
+
<text xml:space="preserve" text-anchor="middle" x="910.12" y="-40.69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#0f172a">distill_skill</text>
|
|
138
138
|
</g>
|
|
139
139
|
<!-- MSF->Rep -->
|
|
140
140
|
<g id="edge8" class="edge">
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
<title>Rep->AI</title>
|
|
148
148
|
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M867.84,-36.49C842.58,-28.83 809.42,-20.07 779.25,-16.19 609.87,5.62 564.45,5.09 395,-16.19 367.6,-19.63 337.77,-26.9 313.29,-33.84"/>
|
|
149
149
|
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="312.63,-31.11 305.73,-36.03 314.19,-36.49 312.63,-31.11"/>
|
|
150
|
-
<text xml:space="preserve" text-anchor="middle" x="588.75" y="-2.92" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">lesson → next hunt</text>
|
|
150
|
+
<text xml:space="preserve" text-anchor="middle" x="588.75" y="-2.92" font-family="Helvetica,sans-Serif" font-size="9.00" fill="#cbd5e1">lesson → next hunt</text>
|
|
151
151
|
</g>
|
|
152
152
|
</g>
|
|
153
153
|
</svg>
|