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
|
@@ -3,232 +3,403 @@
|
|
|
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="
|
|
6
|
+
<!-- Title: PWN_Overall_Architecture Pages: 1 -->
|
|
7
|
+
<svg width="1249pt" height="784pt"
|
|
8
|
+
viewBox="0.00 0.00 1249.00 784.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 740.7)">
|
|
10
|
+
<title>PWN_Overall_Architecture</title>
|
|
11
|
+
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-740.7 1205.66,-740.7 1205.66,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="317.23" y="-673.6" font-family="sans-Serif" font-weight="bold" font-size="22.00" fill="#e2e8f0">PWN — Offensive Security Automation Framework</text>
|
|
13
|
+
<text xml:space="preserve" text-anchor="start" x="509.23" y="-662.05" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">Overall Architecture · lib/pwn/*</text>
|
|
12
14
|
<g id="clust1" class="cluster">
|
|
13
|
-
<title>
|
|
14
|
-
<
|
|
15
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
16
|
-
</g>
|
|
17
|
-
<g id="
|
|
18
|
-
<title>
|
|
19
|
-
<
|
|
20
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
15
|
+
<title>cluster_actors</title>
|
|
16
|
+
<path fill="#1e293b" stroke="#334155" stroke-dasharray="5,2" d="M300,-550.5C300,-550.5 885,-550.5 885,-550.5 891,-550.5 897,-556.5 897,-562.5 897,-562.5 897,-636.5 897,-636.5 897,-642.5 891,-648.5 885,-648.5 885,-648.5 300,-648.5 300,-648.5 294,-648.5 288,-642.5 288,-636.5 288,-636.5 288,-562.5 288,-562.5 288,-556.5 294,-550.5 300,-550.5"/>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="592.5" y="-623.6" font-family="sans-Serif" font-size="22.00" fill="#94a3b8">Actors</text>
|
|
18
|
+
</g>
|
|
19
|
+
<g id="clust3" class="cluster">
|
|
20
|
+
<title>cluster_entry</title>
|
|
21
|
+
<path fill="#0c4a6e" stroke="#0369a1" stroke-width="2" d="M166,-412.5C166,-412.5 684,-412.5 684,-412.5 690,-412.5 696,-418.5 696,-424.5 696,-424.5 696,-486 696,-486 696,-492 690,-498 684,-498 684,-498 166,-498 166,-498 160,-498 154,-492 154,-486 154,-486 154,-424.5 154,-424.5 154,-418.5 160,-412.5 166,-412.5"/>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="425" y="-473.1" font-family="sans-Serif" font-size="22.00" fill="#7dd3fc">Entry Points  (bin/)</text>
|
|
23
|
+
</g>
|
|
24
|
+
<g id="clust5" class="cluster">
|
|
25
|
+
<title>cluster_agent</title>
|
|
26
|
+
<path fill="#2e1065" stroke="#6d28d9" stroke-width="2" d="M130,-274.5C130,-274.5 799,-274.5 799,-274.5 805,-274.5 811,-280.5 811,-286.5 811,-286.5 811,-348 811,-348 811,-354 805,-360 799,-360 799,-360 130,-360 130,-360 124,-360 118,-354 118,-348 118,-348 118,-286.5 118,-286.5 118,-280.5 124,-274.5 130,-274.5"/>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="464.5" y="-335.1" font-family="sans-Serif" font-size="22.00" fill="#ddd6fe">PWN::AI::Agent</text>
|
|
28
|
+
</g>
|
|
29
|
+
<g id="clust7" class="cluster">
|
|
30
|
+
<title>cluster_caps</title>
|
|
31
|
+
<path fill="#022c22" stroke="#047857" stroke-width="2" d="M32,-136.5C32,-136.5 949,-136.5 949,-136.5 955,-136.5 961,-142.5 961,-148.5 961,-148.5 961,-210 961,-210 961,-216 955,-222 949,-222 949,-222 32,-222 32,-222 26,-222 20,-216 20,-210 20,-210 20,-148.5 20,-148.5 20,-142.5 26,-136.5 32,-136.5"/>
|
|
32
|
+
<text xml:space="preserve" text-anchor="middle" x="490.5" y="-197.1" font-family="sans-Serif" font-size="22.00" fill="#a7f3d0">Capability Namespaces  (lib/pwn/*)</text>
|
|
33
|
+
</g>
|
|
34
|
+
<g id="clust9" class="cluster">
|
|
35
|
+
<title>cluster_persist</title>
|
|
36
|
+
<path fill="#422006" stroke="#a16207" stroke-width="2" d="M20,-8C20,-8 959,-8 959,-8 965,-8 971,-14 971,-20 971,-20 971,-81.5 971,-81.5 971,-87.5 965,-93.5 959,-93.5 959,-93.5 20,-93.5 20,-93.5 14,-93.5 8,-87.5 8,-81.5 8,-81.5 8,-20 8,-20 8,-14 14,-8 20,-8"/>
|
|
37
|
+
<text xml:space="preserve" text-anchor="middle" x="489.5" y="-68.6" font-family="sans-Serif" font-size="22.00" fill="#fde68a">Persistence  ~/.pwn/</text>
|
|
21
38
|
</g>
|
|
22
39
|
<!-- User -->
|
|
23
40
|
<g id="node1" class="node">
|
|
24
41
|
<title>User</title>
|
|
25
|
-
<path fill="
|
|
26
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
27
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
42
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M414,-600.75C414,-600.75 308,-600.75 308,-600.75 302,-600.75 296,-594.75 296,-588.75 296,-588.75 296,-576.75 296,-576.75 296,-570.75 302,-564.75 308,-564.75 308,-564.75 414,-564.75 414,-564.75 420,-564.75 426,-570.75 426,-576.75 426,-576.75 426,-588.75 426,-588.75 426,-594.75 420,-600.75 414,-600.75"/>
|
|
43
|
+
<text xml:space="preserve" text-anchor="middle" x="361" y="-585.8" font-family="sans-Serif" font-size="11.00" fill="#0f172a">👤  Researcher</text>
|
|
44
|
+
<text xml:space="preserve" text-anchor="middle" x="361" y="-572.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Red Team · Bug Hunter</text>
|
|
28
45
|
</g>
|
|
29
46
|
<!-- REPL -->
|
|
30
|
-
<g id="
|
|
47
|
+
<g id="node5" class="node">
|
|
31
48
|
<title>REPL</title>
|
|
32
|
-
<
|
|
33
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
34
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
49
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M266.25,-456.5C266.25,-456.5 173.75,-456.5 173.75,-456.5 167.75,-456.5 161.75,-450.5 161.75,-444.5 161.75,-444.5 161.75,-432.5 161.75,-432.5 161.75,-426.5 167.75,-420.5 173.75,-420.5 173.75,-420.5 266.25,-420.5 266.25,-420.5 272.25,-420.5 278.25,-426.5 278.25,-432.5 278.25,-432.5 278.25,-444.5 278.25,-444.5 278.25,-450.5 272.25,-456.5 266.25,-456.5"/>
|
|
50
|
+
<text xml:space="preserve" text-anchor="middle" x="220" y="-441.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">🐚  pwn REPL</text>
|
|
51
|
+
<text xml:space="preserve" text-anchor="middle" x="220" y="-428.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Pry + PWN:: preload</text>
|
|
35
52
|
</g>
|
|
36
53
|
<!-- User->REPL -->
|
|
37
54
|
<g id="edge1" class="edge">
|
|
38
55
|
<title>User->REPL</title>
|
|
39
|
-
<path fill="none" stroke="
|
|
40
|
-
<polygon fill="
|
|
41
|
-
<text xml:space="preserve" text-anchor="middle" x="390.03" y="-359.42" font-family="Arial" font-size="8.00">pwn / pwn-ai</text>
|
|
56
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M343.71,-564.31C318.76,-539.14 272.56,-492.53 244.23,-463.94"/>
|
|
57
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="246.44,-462.19 238.82,-458.48 242.46,-466.14 246.44,-462.19"/>
|
|
42
58
|
</g>
|
|
43
|
-
<!--
|
|
44
|
-
<g id="
|
|
45
|
-
<title>
|
|
46
|
-
<
|
|
47
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
48
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
59
|
+
<!-- PwnAI -->
|
|
60
|
+
<g id="node6" class="node">
|
|
61
|
+
<title>PwnAI</title>
|
|
62
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M419.75,-456.5C419.75,-456.5 330.25,-456.5 330.25,-456.5 324.25,-456.5 318.25,-450.5 318.25,-444.5 318.25,-444.5 318.25,-432.5 318.25,-432.5 318.25,-426.5 324.25,-420.5 330.25,-420.5 330.25,-420.5 419.75,-420.5 419.75,-420.5 425.75,-420.5 431.75,-426.5 431.75,-432.5 431.75,-432.5 431.75,-444.5 431.75,-444.5 431.75,-450.5 425.75,-456.5 419.75,-456.5"/>
|
|
63
|
+
<text xml:space="preserve" text-anchor="middle" x="375" y="-441.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">✨  pwn-ai</text>
|
|
64
|
+
<text xml:space="preserve" text-anchor="middle" x="375" y="-428.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Agent TUI · pwn --ai</text>
|
|
49
65
|
</g>
|
|
50
|
-
<!--
|
|
66
|
+
<!-- User->PwnAI -->
|
|
51
67
|
<g id="edge2" class="edge">
|
|
52
|
-
<title>
|
|
53
|
-
<path fill="none" stroke="
|
|
54
|
-
<polygon fill="
|
|
55
|
-
<text xml:space="preserve" text-anchor="middle" x="237.25" y="-272.66" font-family="Arial" font-size="8.00">launch pwn-ai</text>
|
|
68
|
+
<title>User->PwnAI</title>
|
|
69
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M362.72,-564.31C365.11,-539.99 369.47,-495.66 372.3,-466.91"/>
|
|
70
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="375.08,-467.28 373.08,-459.04 369.51,-466.73 375.08,-467.28"/>
|
|
56
71
|
</g>
|
|
57
|
-
<!--
|
|
58
|
-
<g id="
|
|
59
|
-
<title>
|
|
60
|
-
<path fill="
|
|
61
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
62
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
<
|
|
66
|
-
</
|
|
67
|
-
|
|
72
|
+
<!-- CI -->
|
|
73
|
+
<g id="node2" class="node">
|
|
74
|
+
<title>CI</title>
|
|
75
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M560,-600.75C560,-600.75 478,-600.75 478,-600.75 472,-600.75 466,-594.75 466,-588.75 466,-588.75 466,-576.75 466,-576.75 466,-570.75 472,-564.75 478,-564.75 478,-564.75 560,-564.75 560,-564.75 566,-564.75 572,-570.75 572,-576.75 572,-576.75 572,-588.75 572,-588.75 572,-594.75 566,-600.75 560,-600.75"/>
|
|
76
|
+
<text xml:space="preserve" text-anchor="middle" x="519" y="-585.8" font-family="sans-Serif" font-size="11.00" fill="#0f172a">⚙️  CI / CD</text>
|
|
77
|
+
<text xml:space="preserve" text-anchor="middle" x="519" y="-572.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Headless pipelines</text>
|
|
78
|
+
</g>
|
|
79
|
+
<!-- CLI -->
|
|
80
|
+
<g id="node7" class="node">
|
|
81
|
+
<title>CLI</title>
|
|
82
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M543.75,-456.5C543.75,-456.5 484.25,-456.5 484.25,-456.5 478.25,-456.5 472.25,-450.5 472.25,-444.5 472.25,-444.5 472.25,-432.5 472.25,-432.5 472.25,-426.5 478.25,-420.5 484.25,-420.5 484.25,-420.5 543.75,-420.5 543.75,-420.5 549.75,-420.5 555.75,-426.5 555.75,-432.5 555.75,-432.5 555.75,-444.5 555.75,-444.5 555.75,-450.5 549.75,-456.5 543.75,-456.5"/>
|
|
83
|
+
<text xml:space="preserve" text-anchor="middle" x="514" y="-441.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">📜  bin/pwn_*</text>
|
|
84
|
+
<text xml:space="preserve" text-anchor="middle" x="514" y="-428.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">52 CLI drivers</text>
|
|
85
|
+
</g>
|
|
86
|
+
<!-- CI->CLI -->
|
|
68
87
|
<g id="edge3" class="edge">
|
|
69
|
-
<title>
|
|
70
|
-
<path fill="none" stroke="
|
|
71
|
-
<polygon fill="
|
|
72
|
-
<text xml:space="preserve" text-anchor="middle" x="304.5" y="-229.28" font-family="Arial" font-size="8.00">direct invocation</text>
|
|
88
|
+
<title>CI->CLI</title>
|
|
89
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M518.39,-564.31C517.53,-539.99 515.97,-495.66 514.96,-466.91"/>
|
|
90
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="517.77,-466.95 514.69,-459.05 512.17,-467.15 517.77,-466.95"/>
|
|
73
91
|
</g>
|
|
74
|
-
<!--
|
|
75
|
-
<g id="
|
|
76
|
-
<title>
|
|
77
|
-
<path fill="
|
|
78
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
92
|
+
<!-- Cronb -->
|
|
93
|
+
<g id="node8" class="node">
|
|
94
|
+
<title>Cronb</title>
|
|
95
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M675.88,-456.5C675.88,-456.5 608.12,-456.5 608.12,-456.5 602.12,-456.5 596.12,-450.5 596.12,-444.5 596.12,-444.5 596.12,-432.5 596.12,-432.5 596.12,-426.5 602.12,-420.5 608.12,-420.5 608.12,-420.5 675.88,-420.5 675.88,-420.5 681.88,-420.5 687.88,-426.5 687.88,-432.5 687.88,-432.5 687.88,-444.5 687.88,-444.5 687.88,-450.5 681.88,-456.5 675.88,-456.5"/>
|
|
96
|
+
<text xml:space="preserve" text-anchor="middle" x="642" y="-441.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">⏱  PWN::Cron</text>
|
|
97
|
+
<text xml:space="preserve" text-anchor="middle" x="642" y="-428.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Scheduled jobs</text>
|
|
79
98
|
</g>
|
|
80
|
-
<!--
|
|
99
|
+
<!-- CI->Cronb -->
|
|
81
100
|
<g id="edge4" class="edge">
|
|
82
|
-
<title>
|
|
83
|
-
<path fill="none" stroke="
|
|
84
|
-
<polygon fill="
|
|
101
|
+
<title>CI->Cronb</title>
|
|
102
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M534.08,-564.31C555.75,-539.25 595.81,-492.92 620.55,-464.31"/>
|
|
103
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="622.39,-466.46 625.51,-458.57 618.16,-462.79 622.39,-466.46"/>
|
|
104
|
+
<text xml:space="preserve" text-anchor="middle" x="599.56" y="-507.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">crontab</text>
|
|
85
105
|
</g>
|
|
86
|
-
<!--
|
|
87
|
-
<g id="
|
|
88
|
-
<title>
|
|
89
|
-
<path fill="
|
|
90
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
106
|
+
<!-- LLM -->
|
|
107
|
+
<g id="node3" class="node">
|
|
108
|
+
<title>LLM</title>
|
|
109
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M724.38,-607C724.38,-607 623.62,-607 623.62,-607 617.62,-607 611.62,-601 611.62,-595 611.62,-595 611.62,-570.5 611.62,-570.5 611.62,-564.5 617.62,-558.5 623.62,-558.5 623.62,-558.5 724.38,-558.5 724.38,-558.5 730.38,-558.5 736.38,-564.5 736.38,-570.5 736.38,-570.5 736.38,-595 736.38,-595 736.38,-601 730.38,-607 724.38,-607"/>
|
|
110
|
+
<text xml:space="preserve" text-anchor="middle" x="674" y="-592.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">🤖  LLM Providers</text>
|
|
111
|
+
<text xml:space="preserve" text-anchor="middle" x="674" y="-579.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">OpenAI · Anthropic</text>
|
|
112
|
+
<text xml:space="preserve" text-anchor="middle" x="674" y="-565.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Grok · Gemini · Ollama</text>
|
|
91
113
|
</g>
|
|
92
|
-
<!--
|
|
93
|
-
<g id="
|
|
94
|
-
<title>
|
|
95
|
-
<path fill="
|
|
96
|
-
<
|
|
114
|
+
<!-- Target -->
|
|
115
|
+
<g id="node4" class="node">
|
|
116
|
+
<title>Target</title>
|
|
117
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.4" d="M877.38,-607C877.38,-607 788.62,-607 788.62,-607 782.62,-607 776.62,-601 776.62,-595 776.62,-595 776.62,-570.5 776.62,-570.5 776.62,-564.5 782.62,-558.5 788.62,-558.5 788.62,-558.5 877.38,-558.5 877.38,-558.5 883.38,-558.5 889.38,-564.5 889.38,-570.5 889.38,-570.5 889.38,-595 889.38,-595 889.38,-601 883.38,-607 877.38,-607"/>
|
|
118
|
+
<text xml:space="preserve" text-anchor="middle" x="833" y="-592.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">🎯  Attack Surface</text>
|
|
119
|
+
<text xml:space="preserve" text-anchor="middle" x="833" y="-579.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Hosts · Web · Cloud</text>
|
|
120
|
+
<text xml:space="preserve" text-anchor="middle" x="833" y="-565.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Radio · Hardware</text>
|
|
97
121
|
</g>
|
|
98
|
-
<!--
|
|
99
|
-
<g id="
|
|
100
|
-
<title>
|
|
101
|
-
<path fill="
|
|
102
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
122
|
+
<!-- Loop -->
|
|
123
|
+
<g id="node9" class="node">
|
|
124
|
+
<title>Loop</title>
|
|
125
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M262.38,-318.5C262.38,-318.5 137.62,-318.5 137.62,-318.5 131.62,-318.5 125.62,-312.5 125.62,-306.5 125.62,-306.5 125.62,-294.5 125.62,-294.5 125.62,-288.5 131.62,-282.5 137.62,-282.5 137.62,-282.5 262.38,-282.5 262.38,-282.5 268.38,-282.5 274.38,-288.5 274.38,-294.5 274.38,-294.5 274.38,-306.5 274.38,-306.5 274.38,-312.5 268.38,-318.5 262.38,-318.5"/>
|
|
126
|
+
<text xml:space="preserve" text-anchor="middle" x="200" y="-303.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Loop</text>
|
|
127
|
+
<text xml:space="preserve" text-anchor="middle" x="200" y="-290.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">plan → dispatch → observe</text>
|
|
103
128
|
</g>
|
|
104
|
-
<!-- REPL->
|
|
129
|
+
<!-- REPL->Loop -->
|
|
130
|
+
<g id="edge5" class="edge">
|
|
131
|
+
<title>REPL->Loop</title>
|
|
132
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M217.43,-420C214.02,-396.84 207.98,-355.79 203.99,-328.61"/>
|
|
133
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="206.78,-328.39 202.85,-320.88 201.24,-329.2 206.78,-328.39"/>
|
|
134
|
+
</g>
|
|
135
|
+
<!-- PwnAI->Loop -->
|
|
105
136
|
<g id="edge6" class="edge">
|
|
106
|
-
<title>
|
|
107
|
-
<path fill="none" stroke="
|
|
108
|
-
<polygon fill="
|
|
137
|
+
<title>PwnAI->Loop</title>
|
|
138
|
+
<path fill="none" stroke="#a78bfa" stroke-width="2" d="M350.72,-419.95C334.81,-408.36 313.64,-392.73 295.25,-378.5 273.03,-361.32 248.39,-341.37 229.73,-326.08"/>
|
|
139
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="2" points="231.65,-324.03 223.69,-321.12 228.1,-328.36 231.65,-324.03"/>
|
|
140
|
+
<text xml:space="preserve" text-anchor="middle" x="330.12" y="-369.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">natural language</text>
|
|
109
141
|
</g>
|
|
110
|
-
<!--
|
|
111
|
-
<g id="
|
|
112
|
-
<title>
|
|
113
|
-
<path fill="
|
|
114
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
142
|
+
<!-- Registry -->
|
|
143
|
+
<g id="node10" class="node">
|
|
144
|
+
<title>Registry</title>
|
|
145
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M423.5,-318.5C423.5,-318.5 326.5,-318.5 326.5,-318.5 320.5,-318.5 314.5,-312.5 314.5,-306.5 314.5,-306.5 314.5,-294.5 314.5,-294.5 314.5,-288.5 320.5,-282.5 326.5,-282.5 326.5,-282.5 423.5,-282.5 423.5,-282.5 429.5,-282.5 435.5,-288.5 435.5,-294.5 435.5,-294.5 435.5,-306.5 435.5,-306.5 435.5,-312.5 429.5,-318.5 423.5,-318.5"/>
|
|
146
|
+
<text xml:space="preserve" text-anchor="middle" x="375" y="-303.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Registry</text>
|
|
147
|
+
<text xml:space="preserve" text-anchor="middle" x="375" y="-290.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">10 toolsets · 45+ tools</text>
|
|
115
148
|
</g>
|
|
116
|
-
<!--
|
|
117
|
-
<g id="
|
|
118
|
-
<title>
|
|
119
|
-
<path fill="none" stroke="
|
|
120
|
-
<polygon fill="
|
|
149
|
+
<!-- PwnAI->Registry -->
|
|
150
|
+
<g id="edge7" class="edge">
|
|
151
|
+
<title>PwnAI->Registry</title>
|
|
152
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M375,-420C375,-396.84 375,-355.79 375,-328.61"/>
|
|
153
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="377.8,-328.9 375,-320.9 372.2,-328.9 377.8,-328.9"/>
|
|
121
154
|
</g>
|
|
122
|
-
<!--
|
|
123
|
-
<g id="
|
|
124
|
-
<title>
|
|
125
|
-
<path fill="
|
|
126
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
127
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
155
|
+
<!-- Swarm -->
|
|
156
|
+
<g id="node11" class="node">
|
|
157
|
+
<title>Swarm</title>
|
|
158
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M592.25,-318.5C592.25,-318.5 487.75,-318.5 487.75,-318.5 481.75,-318.5 475.75,-312.5 475.75,-306.5 475.75,-306.5 475.75,-294.5 475.75,-294.5 475.75,-288.5 481.75,-282.5 487.75,-282.5 487.75,-282.5 592.25,-282.5 592.25,-282.5 598.25,-282.5 604.25,-288.5 604.25,-294.5 604.25,-294.5 604.25,-306.5 604.25,-306.5 604.25,-312.5 598.25,-318.5 592.25,-318.5"/>
|
|
159
|
+
<text xml:space="preserve" text-anchor="middle" x="540" y="-303.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Swarm</text>
|
|
160
|
+
<text xml:space="preserve" text-anchor="middle" x="540" y="-290.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">personas · debate · bus</text>
|
|
128
161
|
</g>
|
|
129
|
-
<!--
|
|
130
|
-
|
|
131
|
-
<
|
|
132
|
-
<
|
|
133
|
-
<
|
|
162
|
+
<!-- CLI->Swarm -->
|
|
163
|
+
<!-- Plugins -->
|
|
164
|
+
<g id="node13" class="node">
|
|
165
|
+
<title>Plugins</title>
|
|
166
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M87.75,-180.5C87.75,-180.5 40.25,-180.5 40.25,-180.5 34.25,-180.5 28.25,-174.5 28.25,-168.5 28.25,-168.5 28.25,-156.5 28.25,-156.5 28.25,-150.5 34.25,-144.5 40.25,-144.5 40.25,-144.5 87.75,-144.5 87.75,-144.5 93.75,-144.5 99.75,-150.5 99.75,-156.5 99.75,-156.5 99.75,-168.5 99.75,-168.5 99.75,-174.5 93.75,-180.5 87.75,-180.5"/>
|
|
167
|
+
<text xml:space="preserve" text-anchor="middle" x="64" y="-165.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Plugins</text>
|
|
168
|
+
<text xml:space="preserve" text-anchor="middle" x="64" y="-152.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">66 modules</text>
|
|
134
169
|
</g>
|
|
135
|
-
<!--
|
|
136
|
-
<g id="
|
|
137
|
-
<title>
|
|
138
|
-
<path fill="none" stroke="
|
|
139
|
-
<polygon fill="
|
|
140
|
-
<text xml:space="preserve" text-anchor="middle" x="163.12" y="-185.9" font-family="Arial" font-size="8.00">tool calls</text>
|
|
141
|
-
<text xml:space="preserve" text-anchor="middle" x="163.12" y="-176.15" font-family="Arial" font-size="8.00">pwn_eval</text>
|
|
142
|
-
</g>
|
|
143
|
-
<!-- AI->Memory -->
|
|
144
|
-
<g id="edge8" class="edge">
|
|
145
|
-
<title>AI->Memory</title>
|
|
146
|
-
<path fill="none" stroke="black" d="M185.63,-211.48C199.55,-189.97 222.02,-155.24 237.59,-131.16"/>
|
|
147
|
-
<polygon fill="black" stroke="black" points="240.49,-133.13 242.98,-122.83 234.61,-129.32 240.49,-133.13"/>
|
|
148
|
-
<text xml:space="preserve" text-anchor="middle" x="238.34" y="-181.03" font-family="Arial" font-size="8.00">remember/recall</text>
|
|
170
|
+
<!-- CLI->Plugins -->
|
|
171
|
+
<g id="edge18" class="edge">
|
|
172
|
+
<title>CLI->Plugins</title>
|
|
173
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M555,-419.82C561.94,-417.16 569.12,-414.61 576,-412.5 589.31,-408.42 812.25,-370.83 821,-360 844.89,-330.45 846.85,-302.36 821,-274.5 794.44,-245.87 155.32,-238.67 120,-222 104.46,-214.67 90.99,-201 81.16,-188.72"/>
|
|
174
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="83.5,-187.17 76.43,-182.5 79.04,-190.56 83.5,-187.17"/>
|
|
149
175
|
</g>
|
|
150
|
-
<!--
|
|
176
|
+
<!-- Prompt -->
|
|
151
177
|
<g id="node12" class="node">
|
|
152
|
-
<title>
|
|
153
|
-
<path fill="
|
|
154
|
-
<
|
|
155
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
156
|
-
|
|
178
|
+
<title>Prompt</title>
|
|
179
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M791.25,-318.5C791.25,-318.5 656.75,-318.5 656.75,-318.5 650.75,-318.5 644.75,-312.5 644.75,-306.5 644.75,-306.5 644.75,-294.5 644.75,-294.5 644.75,-288.5 650.75,-282.5 656.75,-282.5 656.75,-282.5 791.25,-282.5 791.25,-282.5 797.25,-282.5 803.25,-288.5 803.25,-294.5 803.25,-294.5 803.25,-306.5 803.25,-306.5 803.25,-312.5 797.25,-318.5 791.25,-318.5"/>
|
|
180
|
+
<text xml:space="preserve" text-anchor="middle" x="724" y="-303.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">PromptBuilder</text>
|
|
181
|
+
<text xml:space="preserve" text-anchor="middle" x="724" y="-290.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">MEMORY · SKILLS · EXTRO</text>
|
|
182
|
+
</g>
|
|
183
|
+
<!-- Cronb->Prompt -->
|
|
184
|
+
<!-- Loop->LLM -->
|
|
185
|
+
<g id="edge27" class="edge">
|
|
186
|
+
<title>Loop->LLM</title>
|
|
187
|
+
<path fill="none" stroke="#c4b5fd" stroke-width="2" d="M221.96,-319.05C240.33,-332.71 267.84,-350.82 295,-360 328.85,-371.44 339.51,-363.84 375,-368 448.71,-376.64 657.14,-356.63 706,-412.5 738.98,-450.21 715.09,-511.05 694.64,-548.59"/>
|
|
188
|
+
<polygon fill="#c4b5fd" stroke="#c4b5fd" stroke-width="2" points="692.27,-547.09 690.77,-555.43 697.15,-549.85 692.27,-547.09"/>
|
|
189
|
+
<text xml:space="preserve" text-anchor="middle" x="747.07" y="-435.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">tool-use API</text>
|
|
190
|
+
</g>
|
|
191
|
+
<!-- Loop->Plugins -->
|
|
192
|
+
<g id="edge10" class="edge">
|
|
193
|
+
<title>Loop->Plugins</title>
|
|
194
|
+
<path fill="none" stroke="#34d399" stroke-width="2" d="M179.38,-281.93C166.17,-270.46 148.84,-254.97 134.25,-240.5 117.56,-223.94 99.71,-204.36 86.18,-189.08"/>
|
|
195
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="2" points="88.53,-187.51 81.15,-183.36 84.33,-191.21 88.53,-187.51"/>
|
|
196
|
+
<text xml:space="preserve" text-anchor="middle" x="154.12" y="-231.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">pwn_eval</text>
|
|
157
197
|
</g>
|
|
158
|
-
<!--
|
|
159
|
-
<g id="
|
|
160
|
-
<title>
|
|
161
|
-
<path fill="
|
|
162
|
-
<
|
|
163
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
198
|
+
<!-- SAST -->
|
|
199
|
+
<g id="node14" class="node">
|
|
200
|
+
<title>SAST</title>
|
|
201
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M182.12,-180.5C182.12,-180.5 151.88,-180.5 151.88,-180.5 145.88,-180.5 139.88,-174.5 139.88,-168.5 139.88,-168.5 139.88,-156.5 139.88,-156.5 139.88,-150.5 145.88,-144.5 151.88,-144.5 151.88,-144.5 182.12,-144.5 182.12,-144.5 188.12,-144.5 194.12,-150.5 194.12,-156.5 194.12,-156.5 194.12,-168.5 194.12,-168.5 194.12,-174.5 188.12,-180.5 182.12,-180.5"/>
|
|
202
|
+
<text xml:space="preserve" text-anchor="middle" x="167" y="-165.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">SAST</text>
|
|
203
|
+
<text xml:space="preserve" text-anchor="middle" x="167" y="-152.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">48 rules</text>
|
|
164
204
|
</g>
|
|
165
|
-
<!--
|
|
205
|
+
<!-- Loop->SAST -->
|
|
206
|
+
<g id="edge11" class="edge">
|
|
207
|
+
<title>Loop->SAST</title>
|
|
208
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M195.75,-282C190.13,-258.84 180.17,-217.79 173.58,-190.61"/>
|
|
209
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="176.3,-189.96 171.69,-182.85 170.86,-191.28 176.3,-189.96"/>
|
|
210
|
+
</g>
|
|
211
|
+
<!-- WWW -->
|
|
212
|
+
<g id="node15" class="node">
|
|
213
|
+
<title>WWW</title>
|
|
214
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M305.38,-180.5C305.38,-180.5 246.62,-180.5 246.62,-180.5 240.62,-180.5 234.62,-174.5 234.62,-168.5 234.62,-168.5 234.62,-156.5 234.62,-156.5 234.62,-150.5 240.62,-144.5 246.62,-144.5 246.62,-144.5 305.38,-144.5 305.38,-144.5 311.38,-144.5 317.38,-150.5 317.38,-156.5 317.38,-156.5 317.38,-168.5 317.38,-168.5 317.38,-174.5 311.38,-180.5 305.38,-180.5"/>
|
|
215
|
+
<text xml:space="preserve" text-anchor="middle" x="276" y="-165.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">WWW</text>
|
|
216
|
+
<text xml:space="preserve" text-anchor="middle" x="276" y="-152.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">21 site drivers</text>
|
|
217
|
+
</g>
|
|
218
|
+
<!-- Registry->WWW -->
|
|
166
219
|
<g id="edge12" class="edge">
|
|
167
|
-
<title>
|
|
168
|
-
<path fill="none" stroke="
|
|
169
|
-
<polygon fill="
|
|
220
|
+
<title>Registry->WWW</title>
|
|
221
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M362.26,-282C345.03,-258.33 314.2,-215.97 294.44,-188.83"/>
|
|
222
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="296.82,-187.34 289.85,-182.52 292.29,-190.64 296.82,-187.34"/>
|
|
223
|
+
</g>
|
|
224
|
+
<!-- AWS -->
|
|
225
|
+
<g id="node16" class="node">
|
|
226
|
+
<title>AWS</title>
|
|
227
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M415,-180.5C415,-180.5 369,-180.5 369,-180.5 363,-180.5 357,-174.5 357,-168.5 357,-168.5 357,-156.5 357,-156.5 357,-150.5 363,-144.5 369,-144.5 369,-144.5 415,-144.5 415,-144.5 421,-144.5 427,-150.5 427,-156.5 427,-156.5 427,-168.5 427,-168.5 427,-174.5 421,-180.5 415,-180.5"/>
|
|
228
|
+
<text xml:space="preserve" text-anchor="middle" x="392" y="-165.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">AWS</text>
|
|
229
|
+
<text xml:space="preserve" text-anchor="middle" x="392" y="-152.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">90 services</text>
|
|
230
|
+
</g>
|
|
231
|
+
<!-- Registry->AWS -->
|
|
232
|
+
<g id="edge13" class="edge">
|
|
233
|
+
<title>Registry->AWS</title>
|
|
234
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M377.19,-282C380.08,-258.84 385.21,-217.79 388.61,-190.61"/>
|
|
235
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="391.36,-191.17 389.58,-182.89 385.81,-190.48 391.36,-191.17"/>
|
|
236
|
+
</g>
|
|
237
|
+
<!-- SDR -->
|
|
238
|
+
<g id="node17" class="node">
|
|
239
|
+
<title>SDR</title>
|
|
240
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M580.75,-180.5C580.75,-180.5 479.25,-180.5 479.25,-180.5 473.25,-180.5 467.25,-174.5 467.25,-168.5 467.25,-168.5 467.25,-156.5 467.25,-156.5 467.25,-150.5 473.25,-144.5 479.25,-144.5 479.25,-144.5 580.75,-144.5 580.75,-144.5 586.75,-144.5 592.75,-150.5 592.75,-156.5 592.75,-156.5 592.75,-168.5 592.75,-168.5 592.75,-174.5 586.75,-180.5 580.75,-180.5"/>
|
|
241
|
+
<text xml:space="preserve" text-anchor="middle" x="530" y="-165.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">SDR</text>
|
|
242
|
+
<text xml:space="preserve" text-anchor="middle" x="530" y="-152.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">GQRX · Flipper · RFID</text>
|
|
243
|
+
</g>
|
|
244
|
+
<!-- Swarm->SDR -->
|
|
245
|
+
<g id="edge14" class="edge">
|
|
246
|
+
<title>Swarm->SDR</title>
|
|
247
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M538.71,-282C537.01,-258.84 533.99,-217.79 531.99,-190.61"/>
|
|
248
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="534.81,-190.67 531.43,-182.9 529.22,-191.08 534.81,-190.67"/>
|
|
249
|
+
</g>
|
|
250
|
+
<!-- Chain -->
|
|
251
|
+
<g id="node18" class="node">
|
|
252
|
+
<title>Chain</title>
|
|
253
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M691,-180.5C691,-180.5 645,-180.5 645,-180.5 639,-180.5 633,-174.5 633,-168.5 633,-168.5 633,-156.5 633,-156.5 633,-150.5 639,-144.5 645,-144.5 645,-144.5 691,-144.5 691,-144.5 697,-144.5 703,-150.5 703,-156.5 703,-156.5 703,-168.5 703,-168.5 703,-174.5 697,-180.5 691,-180.5"/>
|
|
254
|
+
<text xml:space="preserve" text-anchor="middle" x="668" y="-165.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Blockchain</text>
|
|
255
|
+
<text xml:space="preserve" text-anchor="middle" x="668" y="-152.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">BTC · ETH</text>
|
|
256
|
+
</g>
|
|
257
|
+
<!-- Swarm->Chain -->
|
|
258
|
+
<g id="edge15" class="edge">
|
|
259
|
+
<title>Swarm->Chain</title>
|
|
260
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M556.53,-281.96C571.33,-266.26 593.62,-242.6 613,-222 623.38,-210.97 634.85,-198.77 644.62,-188.37"/>
|
|
261
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="646.61,-190.35 650.05,-182.6 642.53,-186.51 646.61,-190.35"/>
|
|
262
|
+
</g>
|
|
263
|
+
<!-- Bounty -->
|
|
264
|
+
<g id="node19" class="node">
|
|
265
|
+
<title>Bounty</title>
|
|
266
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M816.88,-180.5C816.88,-180.5 755.12,-180.5 755.12,-180.5 749.12,-180.5 743.12,-174.5 743.12,-168.5 743.12,-168.5 743.12,-156.5 743.12,-156.5 743.12,-150.5 749.12,-144.5 755.12,-144.5 755.12,-144.5 816.88,-144.5 816.88,-144.5 822.88,-144.5 828.88,-150.5 828.88,-156.5 828.88,-156.5 828.88,-168.5 828.88,-168.5 828.88,-174.5 822.88,-180.5 816.88,-180.5"/>
|
|
267
|
+
<text xml:space="preserve" text-anchor="middle" x="786" y="-165.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Bounty</text>
|
|
268
|
+
<text xml:space="preserve" text-anchor="middle" x="786" y="-152.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">lifecycle replay</text>
|
|
269
|
+
</g>
|
|
270
|
+
<!-- Prompt->Bounty -->
|
|
271
|
+
<!-- Reports -->
|
|
272
|
+
<g id="node20" class="node">
|
|
273
|
+
<title>Reports</title>
|
|
274
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M941.12,-180.5C941.12,-180.5 880.88,-180.5 880.88,-180.5 874.88,-180.5 868.88,-174.5 868.88,-168.5 868.88,-168.5 868.88,-156.5 868.88,-156.5 868.88,-150.5 874.88,-144.5 880.88,-144.5 880.88,-144.5 941.12,-144.5 941.12,-144.5 947.12,-144.5 953.12,-150.5 953.12,-156.5 953.12,-156.5 953.12,-168.5 953.12,-168.5 953.12,-174.5 947.12,-180.5 941.12,-180.5"/>
|
|
275
|
+
<text xml:space="preserve" text-anchor="middle" x="911" y="-165.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Reports</text>
|
|
276
|
+
<text xml:space="preserve" text-anchor="middle" x="911" y="-152.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">HTML · JSON</text>
|
|
170
277
|
</g>
|
|
171
|
-
<!--
|
|
172
|
-
|
|
173
|
-
<
|
|
174
|
-
<
|
|
175
|
-
<
|
|
278
|
+
<!-- Prompt->Reports -->
|
|
279
|
+
<!-- Memory -->
|
|
280
|
+
<g id="node21" class="node">
|
|
281
|
+
<title>Memory</title>
|
|
282
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M93.75,-48.73C93.75,-50.53 76.38,-52 55,-52 33.62,-52 16.25,-50.53 16.25,-48.73 16.25,-48.73 16.25,-19.27 16.25,-19.27 16.25,-17.47 33.62,-16 55,-16 76.38,-16 93.75,-17.47 93.75,-19.27 93.75,-19.27 93.75,-48.73 93.75,-48.73"/>
|
|
283
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M93.75,-48.73C93.75,-46.92 76.38,-45.45 55,-45.45 33.62,-45.45 16.25,-46.92 16.25,-48.73"/>
|
|
284
|
+
<text xml:space="preserve" text-anchor="middle" x="55" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">memory.json</text>
|
|
285
|
+
</g>
|
|
286
|
+
<!-- Prompt->Memory -->
|
|
287
|
+
<g id="edge29" class="edge">
|
|
288
|
+
<title>Prompt->Memory</title>
|
|
289
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M813.43,-296.69C868.46,-289.75 935.12,-270.87 971,-222 993.49,-191.37 997.19,-164.04 971,-136.5 905.29,-67.41 201.22,-132 114,-93.5 94.34,-84.82 77.58,-66.43 67,-52.57"/>
|
|
290
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="813.24,-293.89 805.61,-297.59 813.88,-299.45 813.24,-293.89"/>
|
|
291
|
+
<text xml:space="preserve" text-anchor="middle" x="1000.16" y="-159.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">inject</text>
|
|
292
|
+
</g>
|
|
293
|
+
<!-- Plugins->Target -->
|
|
294
|
+
<g id="edge28" class="edge">
|
|
295
|
+
<title>Plugins->Target</title>
|
|
296
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" d="M75.16,-181.11C85.06,-194.99 100.9,-213.4 120,-222 140.68,-231.32 301.36,-228.62 324,-230 383.76,-233.65 820.45,-230.45 861,-274.5 930.76,-350.28 879.92,-485.57 850.3,-548.22"/>
|
|
297
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="847.86,-546.84 846.89,-555.26 852.9,-549.28 847.86,-546.84"/>
|
|
298
|
+
<text xml:space="preserve" text-anchor="middle" x="908.09" y="-369.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">attack</text>
|
|
299
|
+
</g>
|
|
300
|
+
<!-- Plugins->Memory -->
|
|
301
|
+
<g id="edge19" class="edge">
|
|
302
|
+
<title>Plugins->Memory</title>
|
|
303
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M62.75,-143.91C61.24,-122.76 58.7,-87.04 56.94,-62.3"/>
|
|
304
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="59.74,-62.18 56.38,-54.4 54.16,-62.58 59.74,-62.18"/>
|
|
176
305
|
</g>
|
|
177
306
|
<!-- Skills -->
|
|
178
|
-
<g id="
|
|
307
|
+
<g id="node22" class="node">
|
|
179
308
|
<title>Skills</title>
|
|
180
|
-
<path fill="
|
|
181
|
-
<path fill="none" stroke="
|
|
182
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
183
|
-
<text xml:space="preserve" text-anchor="middle" x="52" y="-310.22" font-family="Arial" font-size="9.00">(~/.pwn/skills)</text>
|
|
184
|
-
</g>
|
|
185
|
-
<!-- Skills->REPL -->
|
|
186
|
-
<g id="edge16" class="edge">
|
|
187
|
-
<title>Skills->REPL</title>
|
|
188
|
-
<path fill="none" stroke="black" d="M85.29,-337.67C103.73,-347.05 127.43,-357.38 150,-362.15 209.14,-374.65 227.62,-377.82 286,-362.15 300.79,-358.18 315.67,-350.51 328.24,-342.71"/>
|
|
189
|
-
<polygon fill="black" stroke="black" points="330.04,-345.71 336.51,-337.32 326.22,-339.85 330.04,-345.71"/>
|
|
190
|
-
</g>
|
|
191
|
-
<!-- Skills->AI -->
|
|
192
|
-
<g id="edge15" class="edge">
|
|
193
|
-
<title>Skills->AI</title>
|
|
194
|
-
<path fill="none" stroke="black" d="M65.51,-298.57C72.79,-289.23 82.39,-278.36 92.75,-270.51 101.39,-263.97 111.36,-258.18 121.27,-253.23"/>
|
|
195
|
-
<polygon fill="black" stroke="black" points="122.61,-256.47 130.15,-249.03 119.62,-250.14 122.61,-256.47"/>
|
|
196
|
-
<text xml:space="preserve" text-anchor="middle" x="120.88" y="-272.66" font-family="Arial" font-size="8.00">context injection</text>
|
|
309
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M198,-48.73C198,-50.53 183.66,-52 166,-52 148.34,-52 134,-50.53 134,-48.73 134,-48.73 134,-19.27 134,-19.27 134,-17.47 148.34,-16 166,-16 183.66,-16 198,-17.47 198,-19.27 198,-19.27 198,-48.73 198,-48.73"/>
|
|
310
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M198,-48.73C198,-46.92 183.66,-45.45 166,-45.45 148.34,-45.45 134,-46.92 134,-48.73"/>
|
|
311
|
+
<text xml:space="preserve" text-anchor="middle" x="166" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">skills/*.md</text>
|
|
197
312
|
</g>
|
|
198
|
-
<!--
|
|
199
|
-
<g id="
|
|
200
|
-
<title>
|
|
201
|
-
<path fill="none" stroke="
|
|
202
|
-
<
|
|
203
|
-
<text xml:space="preserve" text-anchor="middle" x="164" y="-401.66" font-family="Arial" font-size="9.00">PWN::Sessions</text>
|
|
204
|
-
</g>
|
|
205
|
-
<!-- Sess->REPL -->
|
|
206
|
-
<g id="edge18" class="edge">
|
|
207
|
-
<title>Sess->REPL</title>
|
|
208
|
-
<path fill="none" stroke="black" d="M180.75,-386.54C191.22,-376.59 205.5,-364.67 220.25,-357.27 250.8,-341.97 261.99,-348.12 295,-339.27 300.99,-337.67 307.26,-335.91 313.45,-334.14"/>
|
|
209
|
-
<polygon fill="black" stroke="black" points="314.36,-337.52 322.99,-331.36 312.41,-330.8 314.36,-337.52"/>
|
|
210
|
-
<text xml:space="preserve" text-anchor="middle" x="243.12" y="-359.42" font-family="Arial" font-size="8.00">replay / audit</text>
|
|
313
|
+
<!-- SAST->Skills -->
|
|
314
|
+
<g id="edge20" class="edge">
|
|
315
|
+
<title>SAST->Skills</title>
|
|
316
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M166.86,-143.91C166.69,-122.76 166.41,-87.04 166.22,-62.3"/>
|
|
317
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="169.02,-62.39 166.15,-54.41 163.42,-62.43 169.02,-62.39"/>
|
|
211
318
|
</g>
|
|
212
|
-
<!--
|
|
213
|
-
<g id="
|
|
214
|
-
<title>
|
|
215
|
-
<path fill="
|
|
216
|
-
<path fill="none" stroke="
|
|
217
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
218
|
-
</g>
|
|
219
|
-
<!--
|
|
220
|
-
<g id="
|
|
221
|
-
<title>
|
|
222
|
-
<path fill="none" stroke="
|
|
223
|
-
<polygon fill="
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
<
|
|
228
|
-
<
|
|
229
|
-
<path fill="none" stroke="
|
|
230
|
-
<
|
|
231
|
-
|
|
319
|
+
<!-- Learn -->
|
|
320
|
+
<g id="node23" class="node">
|
|
321
|
+
<title>Learn</title>
|
|
322
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M317.5,-48.73C317.5,-50.53 299.8,-52 278,-52 256.2,-52 238.5,-50.53 238.5,-48.73 238.5,-48.73 238.5,-19.27 238.5,-19.27 238.5,-17.47 256.2,-16 278,-16 299.8,-16 317.5,-17.47 317.5,-19.27 317.5,-19.27 317.5,-48.73 317.5,-48.73"/>
|
|
323
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M317.5,-48.73C317.5,-46.92 299.8,-45.45 278,-45.45 256.2,-45.45 238.5,-46.92 238.5,-48.73"/>
|
|
324
|
+
<text xml:space="preserve" text-anchor="middle" x="278" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">learning.jsonl</text>
|
|
325
|
+
</g>
|
|
326
|
+
<!-- WWW->Learn -->
|
|
327
|
+
<g id="edge21" class="edge">
|
|
328
|
+
<title>WWW->Learn</title>
|
|
329
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M276.28,-143.91C276.61,-122.76 277.18,-87.04 277.57,-62.3"/>
|
|
330
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="280.37,-62.45 277.69,-54.41 274.77,-62.36 280.37,-62.45"/>
|
|
331
|
+
</g>
|
|
332
|
+
<!-- Metrics -->
|
|
333
|
+
<g id="node24" class="node">
|
|
334
|
+
<title>Metrics</title>
|
|
335
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M430.5,-48.73C430.5,-50.53 414.14,-52 394,-52 373.86,-52 357.5,-50.53 357.5,-48.73 357.5,-48.73 357.5,-19.27 357.5,-19.27 357.5,-17.47 373.86,-16 394,-16 414.14,-16 430.5,-17.47 430.5,-19.27 430.5,-19.27 430.5,-48.73 430.5,-48.73"/>
|
|
336
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M430.5,-48.73C430.5,-46.92 414.14,-45.45 394,-45.45 373.86,-45.45 357.5,-46.92 357.5,-48.73"/>
|
|
337
|
+
<text xml:space="preserve" text-anchor="middle" x="394" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">metrics.json</text>
|
|
338
|
+
</g>
|
|
339
|
+
<!-- AWS->Metrics -->
|
|
340
|
+
<g id="edge22" class="edge">
|
|
341
|
+
<title>AWS->Metrics</title>
|
|
342
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M392.28,-143.91C392.61,-122.76 393.18,-87.04 393.57,-62.3"/>
|
|
343
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="396.37,-62.45 393.69,-54.41 390.77,-62.36 396.37,-62.45"/>
|
|
344
|
+
</g>
|
|
345
|
+
<!-- Extro -->
|
|
346
|
+
<g id="node25" class="node">
|
|
347
|
+
<title>Extro</title>
|
|
348
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M573.12,-48.73C573.12,-50.53 550.21,-52 522,-52 493.79,-52 470.88,-50.53 470.88,-48.73 470.88,-48.73 470.88,-19.27 470.88,-19.27 470.88,-17.47 493.79,-16 522,-16 550.21,-16 573.12,-17.47 573.12,-19.27 573.12,-19.27 573.12,-48.73 573.12,-48.73"/>
|
|
349
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M573.12,-48.73C573.12,-46.92 550.21,-45.45 522,-45.45 493.79,-45.45 470.88,-46.92 470.88,-48.73"/>
|
|
350
|
+
<text xml:space="preserve" text-anchor="middle" x="522" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">extrospection.json</text>
|
|
351
|
+
</g>
|
|
352
|
+
<!-- SDR->Extro -->
|
|
353
|
+
<g id="edge23" class="edge">
|
|
354
|
+
<title>SDR->Extro</title>
|
|
355
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M528.89,-143.91C527.55,-122.76 525.29,-87.04 523.73,-62.3"/>
|
|
356
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="526.53,-62.21 523.23,-54.4 520.94,-62.56 526.53,-62.21"/>
|
|
357
|
+
</g>
|
|
358
|
+
<!-- Sessions -->
|
|
359
|
+
<g id="node26" class="node">
|
|
360
|
+
<title>Sessions</title>
|
|
361
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M702.75,-48.73C702.75,-50.53 682.69,-52 658,-52 633.31,-52 613.25,-50.53 613.25,-48.73 613.25,-48.73 613.25,-19.27 613.25,-19.27 613.25,-17.47 633.31,-16 658,-16 682.69,-16 702.75,-17.47 702.75,-19.27 702.75,-19.27 702.75,-48.73 702.75,-48.73"/>
|
|
362
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M702.75,-48.73C702.75,-46.92 682.69,-45.45 658,-45.45 633.31,-45.45 613.25,-46.92 613.25,-48.73"/>
|
|
363
|
+
<text xml:space="preserve" text-anchor="middle" x="658" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">sessions/*.jsonl</text>
|
|
364
|
+
</g>
|
|
365
|
+
<!-- Chain->Sessions -->
|
|
366
|
+
<g id="edge24" class="edge">
|
|
367
|
+
<title>Chain->Sessions</title>
|
|
368
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M666.61,-143.91C664.94,-122.76 662.11,-87.04 660.16,-62.3"/>
|
|
369
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="662.96,-62.16 659.53,-54.4 657.37,-62.6 662.96,-62.16"/>
|
|
370
|
+
</g>
|
|
371
|
+
<!-- SwarmB -->
|
|
372
|
+
<g id="node27" class="node">
|
|
373
|
+
<title>SwarmB</title>
|
|
374
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M843.38,-48.73C843.38,-50.53 820.8,-52 793,-52 765.2,-52 742.62,-50.53 742.62,-48.73 742.62,-48.73 742.62,-19.27 742.62,-19.27 742.62,-17.47 765.2,-16 793,-16 820.8,-16 843.38,-17.47 843.38,-19.27 843.38,-19.27 843.38,-48.73 843.38,-48.73"/>
|
|
375
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M843.38,-48.73C843.38,-46.92 820.8,-45.45 793,-45.45 765.2,-45.45 742.62,-46.92 742.62,-48.73"/>
|
|
376
|
+
<text xml:space="preserve" text-anchor="middle" x="793" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">swarm/*/bus.jsonl</text>
|
|
377
|
+
</g>
|
|
378
|
+
<!-- Bounty->SwarmB -->
|
|
379
|
+
<g id="edge25" class="edge">
|
|
380
|
+
<title>Bounty->SwarmB</title>
|
|
381
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M786.97,-143.91C788.14,-122.76 790.12,-87.04 791.49,-62.3"/>
|
|
382
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="794.28,-62.55 791.93,-54.4 788.69,-62.24 794.28,-62.55"/>
|
|
383
|
+
</g>
|
|
384
|
+
<!-- Reports->User -->
|
|
385
|
+
<g id="edge30" class="edge">
|
|
386
|
+
<title>Reports->User</title>
|
|
387
|
+
<path fill="none" stroke="#38bdf8" stroke-width="2" d="M920.53,-181.03C929.12,-194.86 943.12,-213.24 961,-222 977.78,-230.22 1114.82,-217.83 1129,-230 1172.94,-267.73 1170.73,-312.22 1138,-360 957.75,-623.19 754.79,-470.45 446,-550.5 435.5,-553.22 424.48,-556.75 413.99,-560.44"/>
|
|
388
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="413.13,-557.78 406.56,-563.14 415.04,-563.04 413.13,-557.78"/>
|
|
389
|
+
<text xml:space="preserve" text-anchor="middle" x="1145.79" y="-369.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">findings</text>
|
|
390
|
+
</g>
|
|
391
|
+
<!-- CronF -->
|
|
392
|
+
<g id="node28" class="node">
|
|
393
|
+
<title>CronF</title>
|
|
394
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M962.5,-48.73C962.5,-50.53 944.8,-52 923,-52 901.2,-52 883.5,-50.53 883.5,-48.73 883.5,-48.73 883.5,-19.27 883.5,-19.27 883.5,-17.47 901.2,-16 923,-16 944.8,-16 962.5,-17.47 962.5,-19.27 962.5,-19.27 962.5,-48.73 962.5,-48.73"/>
|
|
395
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M962.5,-48.73C962.5,-46.92 944.8,-45.45 923,-45.45 901.2,-45.45 883.5,-46.92 883.5,-48.73"/>
|
|
396
|
+
<text xml:space="preserve" text-anchor="middle" x="923" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">cron/jobs.yml</text>
|
|
397
|
+
</g>
|
|
398
|
+
<!-- Reports->CronF -->
|
|
399
|
+
<g id="edge26" class="edge">
|
|
400
|
+
<title>Reports->CronF</title>
|
|
401
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M912.67,-143.91C914.67,-122.76 918.06,-87.04 920.41,-62.3"/>
|
|
402
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="923.19,-62.63 921.16,-54.4 917.62,-62.1 923.19,-62.63"/>
|
|
232
403
|
</g>
|
|
233
404
|
</g>
|
|
234
405
|
</svg>
|