pwn 0.5.621 → 0.5.626
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/.rubocop.yml +2 -2
- data/Gemfile +1 -1
- data/README.md +7 -1
- data/bin/pwn_gqrx_scanner +78 -9
- data/documentation/Agent-Tool-Registry.md +3 -3
- data/documentation/Configuration.md +301 -47
- data/documentation/Cron.md +5 -3
- data/documentation/Diagrams.md +1 -1
- data/documentation/Extrospection.md +472 -26
- data/documentation/FFI.md +72 -8
- data/documentation/Home.md +4 -4
- data/documentation/How-PWN-Works.md +7 -3
- data/documentation/Mistakes.md +9 -0
- data/documentation/SDR.md +83 -10
- data/documentation/Skills-Memory-Learning.md +101 -11
- data/documentation/diagrams/agent-tool-registry.svg +56 -55
- 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 +2 -2
- data/documentation/diagrams/dot/extrospection-world-awareness.dot +33 -6
- data/documentation/diagrams/dot/hardware-hacking.dot +3 -1
- data/documentation/diagrams/dot/memory-skills-detailed.dot +4 -2
- data/documentation/diagrams/dot/mistakes-negative-feedback.dot +4 -2
- data/documentation/diagrams/dot/overall-pwn-architecture.dot +3 -3
- data/documentation/diagrams/dot/persistence-filesystem.dot +3 -3
- data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +10 -4
- data/documentation/diagrams/dot/sdr-radio-flow.dot +39 -16
- data/documentation/diagrams/driver-framework.svg +13 -13
- data/documentation/diagrams/extrospection-world-awareness.svg +383 -177
- data/documentation/diagrams/fuzzing-workflow.svg +24 -24
- data/documentation/diagrams/hardware-hacking.svg +84 -69
- data/documentation/diagrams/history-to-drivers.svg +18 -18
- data/documentation/diagrams/memory-skills-detailed.svg +137 -120
- data/documentation/diagrams/mistakes-negative-feedback.svg +152 -137
- data/documentation/diagrams/network-infra-testing.svg +27 -27
- data/documentation/diagrams/overall-pwn-architecture.svg +97 -97
- data/documentation/diagrams/penetration-testing-workflow.svg +30 -30
- data/documentation/diagrams/persistence-filesystem.svg +100 -94
- data/documentation/diagrams/plugin-ecosystem.svg +35 -35
- data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +254 -207
- 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 +223 -91
- 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 +16 -10
- data/documentation/pwn_silent_help_learn_demo.gif +0 -0
- 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 +2562 -57
- data/lib/pwn/ai/agent/gqrx.rb +2 -2
- data/lib/pwn/ai/agent/hacker_one.rb +1 -1
- data/lib/pwn/ai/agent/learning.rb +16 -16
- data/lib/pwn/ai/agent/loop.rb +1 -1
- data/lib/pwn/ai/agent/{introspection.rb → reflect.rb} +12 -12
- data/lib/pwn/ai/agent/sast.rb +1 -1
- data/lib/pwn/ai/agent/tools/extrospection.rb +311 -8
- data/lib/pwn/ai/agent/tools/learning.rb +7 -7
- 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 +1 -1
- data/lib/pwn/ai/open_ai.rb +10 -6
- data/lib/pwn/config.rb +5 -4
- data/lib/pwn/ffi/adalm_pluto.rb +498 -0
- data/lib/pwn/ffi/fftw.rb +192 -0
- data/lib/pwn/ffi/hack_rf.rb +193 -0
- data/lib/pwn/ffi/liquid.rb +244 -0
- data/lib/pwn/ffi/rtl_sdr.rb +210 -0
- data/lib/pwn/ffi/soapy_sdr.rb +177 -0
- data/lib/pwn/ffi/stdio.rb +9 -1
- data/lib/pwn/ffi/volk.rb +241 -0
- data/lib/pwn/ffi.rb +45 -2
- data/lib/pwn/plugins/burp_suite.rb +2 -2
- data/lib/pwn/sast/pom_version.rb +2 -2
- data/lib/pwn/sast/test_case_engine.rb +1 -1
- data/lib/pwn/sdr/decoder/adsb.rb +201 -12
- data/lib/pwn/sdr/decoder/apt.rb +19 -5
- data/lib/pwn/sdr/decoder/base.rb +314 -1
- data/lib/pwn/sdr/decoder/bluetooth.rb +91 -18
- data/lib/pwn/sdr/decoder/dect.rb +81 -23
- data/lib/pwn/sdr/decoder/dsp.rb +229 -15
- data/lib/pwn/sdr/decoder/flex.rb +23 -6
- data/lib/pwn/sdr/decoder/gps.rb +80 -18
- data/lib/pwn/sdr/decoder/gsm.rb +83 -28
- data/lib/pwn/sdr/decoder/iridium.rb +80 -18
- data/lib/pwn/sdr/decoder/lora.rb +84 -28
- data/lib/pwn/sdr/decoder/lte.rb +80 -18
- data/lib/pwn/sdr/decoder/morse.rb +23 -6
- data/lib/pwn/sdr/decoder/p25.rb +90 -31
- data/lib/pwn/sdr/decoder/pager.rb +23 -6
- data/lib/pwn/sdr/decoder/pocsag.rb +23 -6
- data/lib/pwn/sdr/decoder/rds.rb +219 -52
- data/lib/pwn/sdr/decoder/rfid.rb +81 -27
- data/lib/pwn/sdr/decoder/rtl433.rb +85 -27
- data/lib/pwn/sdr/decoder/rtty.rb +23 -6
- data/lib/pwn/sdr/decoder/wifi.rb +86 -32
- data/lib/pwn/sdr/decoder/zigbee.rb +88 -35
- data/lib/pwn/sdr/decoder.rb +6 -5
- data/lib/pwn/sdr/frequency_allocation.rb +124 -81
- data/lib/pwn/sdr/gqrx.rb +1513 -165
- data/lib/pwn/version.rb +1 -1
- data/spec/lib/pwn/ai/agent/extrospection_spec.rb +96 -0
- data/spec/lib/pwn/ai/agent/{introspection_spec.rb → reflect_spec.rb} +3 -3
- data/spec/lib/pwn/ai/agent/tools/extrospection_spec.rb +8 -24
- data/spec/lib/pwn/ffi/adalm_pluto_spec.rb +37 -0
- data/spec/lib/pwn/ffi/fftw_spec.rb +26 -0
- data/spec/lib/pwn/ffi/hack_rf_spec.rb +25 -0
- data/spec/lib/pwn/ffi/liquid_spec.rb +42 -0
- data/spec/lib/pwn/ffi/rtl_sdr_spec.rb +24 -0
- data/spec/lib/pwn/ffi/soapy_sdr_spec.rb +25 -0
- data/spec/lib/pwn/ffi/volk_spec.rb +36 -0
- data/spec/lib/pwn/sdr/decoder/base_iq_spec.rb +65 -0
- data/spec/lib/pwn/sdr/decoder/dsp_spec.rb +50 -4
- data/spec/lib/pwn/sdr/decoder/rds_spec.rb +45 -4
- data/third_party/pwn_rdoc.jsonl +279 -30
- metadata +21 -5
|
@@ -4,51 +4,51 @@
|
|
|
4
4
|
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
5
|
-->
|
|
6
6
|
<!-- Title: PWN_Overall_Architecture Pages: 1 -->
|
|
7
|
-
<svg width="
|
|
8
|
-
viewBox="0.00 0.00
|
|
7
|
+
<svg width="1205pt" height="821pt"
|
|
8
|
+
viewBox="0.00 0.00 1205.00 821.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
9
9
|
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2 777.83)">
|
|
10
10
|
<title>PWN_Overall_Architecture</title>
|
|
11
|
-
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-777.83
|
|
12
|
-
<text xml:space="preserve" text-anchor="start" x="
|
|
13
|
-
<text xml:space="preserve" text-anchor="start" x="
|
|
11
|
+
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-777.83 1162.2,-777.83 1162.2,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="295.5" y="-710.73" 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="487.5" y="-699.18" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">Overall Architecture · lib/pwn/*</text>
|
|
14
14
|
<g id="clust1" class="cluster">
|
|
15
15
|
<title>cluster_actors</title>
|
|
16
16
|
<path fill="#1e293b" stroke="#334155" stroke-dasharray="5,2" d="M310,-587.62C310,-587.62 895,-587.62 895,-587.62 901,-587.62 907,-593.62 907,-599.62 907,-599.62 907,-673.62 907,-673.62 907,-679.62 901,-685.62 895,-685.62 895,-685.62 310,-685.62 310,-685.62 304,-685.62 298,-679.62 298,-673.62 298,-673.62 298,-599.62 298,-599.62 298,-593.62 304,-587.62 310,-587.62"/>
|
|
17
|
-
<text xml:space="preserve" text-anchor="middle" x="602.5" y="-660.73" font-family="
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="602.5" y="-660.73" font-family="sans-Serif" font-size="22.00" fill="#94a3b8">Actors</text>
|
|
18
18
|
</g>
|
|
19
19
|
<g id="clust3" class="cluster">
|
|
20
20
|
<title>cluster_entry</title>
|
|
21
21
|
<path fill="#0c4a6e" stroke="#0369a1" stroke-width="2" d="M176,-449.62C176,-449.62 694,-449.62 694,-449.62 700,-449.62 706,-455.62 706,-461.62 706,-461.62 706,-523.12 706,-523.12 706,-529.12 700,-535.12 694,-535.12 694,-535.12 176,-535.12 176,-535.12 170,-535.12 164,-529.12 164,-523.12 164,-523.12 164,-461.62 164,-461.62 164,-455.62 170,-449.62 176,-449.62"/>
|
|
22
|
-
<text xml:space="preserve" text-anchor="middle" x="435" y="-510.23" font-family="
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="435" y="-510.23" font-family="sans-Serif" font-size="22.00" fill="#7dd3fc">Entry Points  (bin/)</text>
|
|
23
23
|
</g>
|
|
24
24
|
<g id="clust5" class="cluster">
|
|
25
25
|
<title>cluster_agent</title>
|
|
26
|
-
<path fill="#2e1065" stroke="#6d28d9" stroke-width="2" d="M143,-299.12C143,-299.12
|
|
27
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
26
|
+
<path fill="#2e1065" stroke="#6d28d9" stroke-width="2" d="M143,-299.12C143,-299.12 824,-299.12 824,-299.12 830,-299.12 836,-305.12 836,-311.12 836,-311.12 836,-385.12 836,-385.12 836,-391.12 830,-397.12 824,-397.12 824,-397.12 143,-397.12 143,-397.12 137,-397.12 131,-391.12 131,-385.12 131,-385.12 131,-311.12 131,-311.12 131,-305.12 137,-299.12 143,-299.12"/>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="483.5" y="-372.23" font-family="sans-Serif" font-size="22.00" fill="#ddd6fe">PWN::AI::Agent</text>
|
|
28
28
|
</g>
|
|
29
29
|
<g id="clust7" class="cluster">
|
|
30
30
|
<title>cluster_caps</title>
|
|
31
31
|
<path fill="#022c22" stroke="#047857" stroke-width="2" d="M34,-148.62C34,-148.62 951,-148.62 951,-148.62 957,-148.62 963,-154.62 963,-160.62 963,-160.62 963,-234.62 963,-234.62 963,-240.62 957,-246.62 951,-246.62 951,-246.62 34,-246.62 34,-246.62 28,-246.62 22,-240.62 22,-234.62 22,-234.62 22,-160.62 22,-160.62 22,-154.62 28,-148.62 34,-148.62"/>
|
|
32
|
-
<text xml:space="preserve" text-anchor="middle" x="492.5" y="-221.72" font-family="
|
|
32
|
+
<text xml:space="preserve" text-anchor="middle" x="492.5" y="-221.72" font-family="sans-Serif" font-size="22.00" fill="#a7f3d0">Capability Namespaces  (lib/pwn/*)</text>
|
|
33
33
|
</g>
|
|
34
34
|
<g id="clust9" class="cluster">
|
|
35
35
|
<title>cluster_persist</title>
|
|
36
|
-
<path fill="#422006" stroke="#a16207" stroke-width="2" d="M20,-8C20,-8
|
|
37
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
36
|
+
<path fill="#422006" stroke="#a16207" stroke-width="2" d="M20,-8C20,-8 1099,-8 1099,-8 1105,-8 1111,-14 1111,-20 1111,-20 1111,-93.62 1111,-93.62 1111,-99.62 1105,-105.62 1099,-105.62 1099,-105.62 20,-105.62 20,-105.62 14,-105.62 8,-99.62 8,-93.62 8,-93.62 8,-20 8,-20 8,-14 14,-8 20,-8"/>
|
|
37
|
+
<text xml:space="preserve" text-anchor="middle" x="559.5" y="-80.72" font-family="sans-Serif" font-size="22.00" fill="#fde68a">Persistence  ~/.pwn/</text>
|
|
38
38
|
</g>
|
|
39
39
|
<!-- User -->
|
|
40
40
|
<g id="node1" class="node">
|
|
41
41
|
<title>User</title>
|
|
42
42
|
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M424,-637.88C424,-637.88 318,-637.88 318,-637.88 312,-637.88 306,-631.88 306,-625.88 306,-625.88 306,-613.88 306,-613.88 306,-607.88 312,-601.88 318,-601.88 318,-601.88 424,-601.88 424,-601.88 430,-601.88 436,-607.88 436,-613.88 436,-613.88 436,-625.88 436,-625.88 436,-631.88 430,-637.88 424,-637.88"/>
|
|
43
|
-
<text xml:space="preserve" text-anchor="middle" x="371" y="-622.92" font-family="
|
|
44
|
-
<text xml:space="preserve" text-anchor="middle" x="371" y="-609.42" font-family="
|
|
43
|
+
<text xml:space="preserve" text-anchor="middle" x="371" y="-622.92" font-family="sans-Serif" font-size="11.00" fill="#0f172a">👤  Researcher</text>
|
|
44
|
+
<text xml:space="preserve" text-anchor="middle" x="371" y="-609.42" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Red Team · Bug Hunter</text>
|
|
45
45
|
</g>
|
|
46
46
|
<!-- REPL -->
|
|
47
47
|
<g id="node5" class="node">
|
|
48
48
|
<title>REPL</title>
|
|
49
49
|
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M276.25,-493.62C276.25,-493.62 183.75,-493.62 183.75,-493.62 177.75,-493.62 171.75,-487.62 171.75,-481.62 171.75,-481.62 171.75,-469.62 171.75,-469.62 171.75,-463.62 177.75,-457.62 183.75,-457.62 183.75,-457.62 276.25,-457.62 276.25,-457.62 282.25,-457.62 288.25,-463.62 288.25,-469.62 288.25,-469.62 288.25,-481.62 288.25,-481.62 288.25,-487.62 282.25,-493.62 276.25,-493.62"/>
|
|
50
|
-
<text xml:space="preserve" text-anchor="middle" x="230" y="-478.68" font-family="
|
|
51
|
-
<text xml:space="preserve" text-anchor="middle" x="230" y="-465.18" font-family="
|
|
50
|
+
<text xml:space="preserve" text-anchor="middle" x="230" y="-478.68" font-family="sans-Serif" font-size="11.00" fill="#0f172a">🐚  pwn REPL</text>
|
|
51
|
+
<text xml:space="preserve" text-anchor="middle" x="230" y="-465.18" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Pry + PWN:: preload</text>
|
|
52
52
|
</g>
|
|
53
53
|
<!-- User->REPL -->
|
|
54
54
|
<g id="edge1" class="edge">
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
<g id="node6" class="node">
|
|
61
61
|
<title>PwnAI</title>
|
|
62
62
|
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M429.75,-493.62C429.75,-493.62 340.25,-493.62 340.25,-493.62 334.25,-493.62 328.25,-487.62 328.25,-481.62 328.25,-481.62 328.25,-469.62 328.25,-469.62 328.25,-463.62 334.25,-457.62 340.25,-457.62 340.25,-457.62 429.75,-457.62 429.75,-457.62 435.75,-457.62 441.75,-463.62 441.75,-469.62 441.75,-469.62 441.75,-481.62 441.75,-481.62 441.75,-487.62 435.75,-493.62 429.75,-493.62"/>
|
|
63
|
-
<text xml:space="preserve" text-anchor="middle" x="385" y="-478.68" font-family="
|
|
64
|
-
<text xml:space="preserve" text-anchor="middle" x="385" y="-465.18" font-family="
|
|
63
|
+
<text xml:space="preserve" text-anchor="middle" x="385" y="-478.68" font-family="sans-Serif" font-size="11.00" fill="#0f172a">✨  pwn-ai</text>
|
|
64
|
+
<text xml:space="preserve" text-anchor="middle" x="385" y="-465.18" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Agent TUI · pwn --ai</text>
|
|
65
65
|
</g>
|
|
66
66
|
<!-- User->PwnAI -->
|
|
67
67
|
<g id="edge2" class="edge">
|
|
@@ -73,15 +73,15 @@
|
|
|
73
73
|
<g id="node2" class="node">
|
|
74
74
|
<title>CI</title>
|
|
75
75
|
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M570,-637.88C570,-637.88 488,-637.88 488,-637.88 482,-637.88 476,-631.88 476,-625.88 476,-625.88 476,-613.88 476,-613.88 476,-607.88 482,-601.88 488,-601.88 488,-601.88 570,-601.88 570,-601.88 576,-601.88 582,-607.88 582,-613.88 582,-613.88 582,-625.88 582,-625.88 582,-631.88 576,-637.88 570,-637.88"/>
|
|
76
|
-
<text xml:space="preserve" text-anchor="middle" x="529" y="-622.92" font-family="
|
|
77
|
-
<text xml:space="preserve" text-anchor="middle" x="529" y="-609.42" font-family="
|
|
76
|
+
<text xml:space="preserve" text-anchor="middle" x="529" y="-622.92" font-family="sans-Serif" font-size="11.00" fill="#0f172a">⚙️  CI / CD</text>
|
|
77
|
+
<text xml:space="preserve" text-anchor="middle" x="529" y="-609.42" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Headless pipelines</text>
|
|
78
78
|
</g>
|
|
79
79
|
<!-- CLI -->
|
|
80
80
|
<g id="node7" class="node">
|
|
81
81
|
<title>CLI</title>
|
|
82
82
|
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M553.75,-493.62C553.75,-493.62 494.25,-493.62 494.25,-493.62 488.25,-493.62 482.25,-487.62 482.25,-481.62 482.25,-481.62 482.25,-469.62 482.25,-469.62 482.25,-463.62 488.25,-457.62 494.25,-457.62 494.25,-457.62 553.75,-457.62 553.75,-457.62 559.75,-457.62 565.75,-463.62 565.75,-469.62 565.75,-469.62 565.75,-481.62 565.75,-481.62 565.75,-487.62 559.75,-493.62 553.75,-493.62"/>
|
|
83
|
-
<text xml:space="preserve" text-anchor="middle" x="524" y="-478.68" font-family="
|
|
84
|
-
<text xml:space="preserve" text-anchor="middle" x="524" y="-465.18" font-family="
|
|
83
|
+
<text xml:space="preserve" text-anchor="middle" x="524" y="-478.68" font-family="sans-Serif" font-size="11.00" fill="#0f172a">📜  bin/pwn_*</text>
|
|
84
|
+
<text xml:space="preserve" text-anchor="middle" x="524" y="-465.18" font-family="sans-Serif" font-size="11.00" fill="#0f172a">52 CLI drivers</text>
|
|
85
85
|
</g>
|
|
86
86
|
<!-- CI->CLI -->
|
|
87
87
|
<g id="edge3" class="edge">
|
|
@@ -93,38 +93,38 @@
|
|
|
93
93
|
<g id="node8" class="node">
|
|
94
94
|
<title>Cronb</title>
|
|
95
95
|
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M685.88,-493.62C685.88,-493.62 618.12,-493.62 618.12,-493.62 612.12,-493.62 606.12,-487.62 606.12,-481.62 606.12,-481.62 606.12,-469.62 606.12,-469.62 606.12,-463.62 612.12,-457.62 618.12,-457.62 618.12,-457.62 685.88,-457.62 685.88,-457.62 691.88,-457.62 697.88,-463.62 697.88,-469.62 697.88,-469.62 697.88,-481.62 697.88,-481.62 697.88,-487.62 691.88,-493.62 685.88,-493.62"/>
|
|
96
|
-
<text xml:space="preserve" text-anchor="middle" x="652" y="-478.68" font-family="
|
|
97
|
-
<text xml:space="preserve" text-anchor="middle" x="652" y="-465.18" font-family="
|
|
96
|
+
<text xml:space="preserve" text-anchor="middle" x="652" y="-478.68" font-family="sans-Serif" font-size="11.00" fill="#0f172a">⏱  PWN::Cron</text>
|
|
97
|
+
<text xml:space="preserve" text-anchor="middle" x="652" y="-465.18" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Scheduled jobs</text>
|
|
98
98
|
</g>
|
|
99
99
|
<!-- CI->Cronb -->
|
|
100
100
|
<g id="edge4" class="edge">
|
|
101
101
|
<title>CI->Cronb</title>
|
|
102
102
|
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M544.08,-601.43C565.75,-576.37 605.81,-530.05 630.55,-501.43"/>
|
|
103
103
|
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="632.39,-503.58 635.51,-495.7 628.16,-499.92 632.39,-503.58"/>
|
|
104
|
-
<text xml:space="preserve" text-anchor="middle" x="609.56" y="-545.08" font-family="
|
|
104
|
+
<text xml:space="preserve" text-anchor="middle" x="609.56" y="-545.08" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">crontab</text>
|
|
105
105
|
</g>
|
|
106
106
|
<!-- LLM -->
|
|
107
107
|
<g id="node3" class="node">
|
|
108
108
|
<title>LLM</title>
|
|
109
109
|
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M734.38,-644.12C734.38,-644.12 633.62,-644.12 633.62,-644.12 627.62,-644.12 621.62,-638.12 621.62,-632.12 621.62,-632.12 621.62,-607.62 621.62,-607.62 621.62,-601.62 627.62,-595.62 633.62,-595.62 633.62,-595.62 734.38,-595.62 734.38,-595.62 740.38,-595.62 746.38,-601.62 746.38,-607.62 746.38,-607.62 746.38,-632.12 746.38,-632.12 746.38,-638.12 740.38,-644.12 734.38,-644.12"/>
|
|
110
|
-
<text xml:space="preserve" text-anchor="middle" x="684" y="-629.67" font-family="
|
|
111
|
-
<text xml:space="preserve" text-anchor="middle" x="684" y="-616.17" font-family="
|
|
112
|
-
<text xml:space="preserve" text-anchor="middle" x="684" y="-602.67" font-family="
|
|
110
|
+
<text xml:space="preserve" text-anchor="middle" x="684" y="-629.67" font-family="sans-Serif" font-size="11.00" fill="#0f172a">🤖  LLM Providers</text>
|
|
111
|
+
<text xml:space="preserve" text-anchor="middle" x="684" y="-616.17" font-family="sans-Serif" font-size="11.00" fill="#0f172a">OpenAI · Anthropic</text>
|
|
112
|
+
<text xml:space="preserve" text-anchor="middle" x="684" y="-602.67" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Grok · Gemini · Ollama</text>
|
|
113
113
|
</g>
|
|
114
114
|
<!-- Target -->
|
|
115
115
|
<g id="node4" class="node">
|
|
116
116
|
<title>Target</title>
|
|
117
117
|
<path fill="#fda4af" stroke="#334155" stroke-width="1.4" d="M887.38,-644.12C887.38,-644.12 798.62,-644.12 798.62,-644.12 792.62,-644.12 786.62,-638.12 786.62,-632.12 786.62,-632.12 786.62,-607.62 786.62,-607.62 786.62,-601.62 792.62,-595.62 798.62,-595.62 798.62,-595.62 887.38,-595.62 887.38,-595.62 893.38,-595.62 899.38,-601.62 899.38,-607.62 899.38,-607.62 899.38,-632.12 899.38,-632.12 899.38,-638.12 893.38,-644.12 887.38,-644.12"/>
|
|
118
|
-
<text xml:space="preserve" text-anchor="middle" x="843" y="-629.67" font-family="
|
|
119
|
-
<text xml:space="preserve" text-anchor="middle" x="843" y="-616.17" font-family="
|
|
120
|
-
<text xml:space="preserve" text-anchor="middle" x="843" y="-602.67" font-family="
|
|
118
|
+
<text xml:space="preserve" text-anchor="middle" x="843" y="-629.67" font-family="sans-Serif" font-size="11.00" fill="#0f172a">🎯  Attack Surface</text>
|
|
119
|
+
<text xml:space="preserve" text-anchor="middle" x="843" y="-616.17" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Hosts · Web · Cloud</text>
|
|
120
|
+
<text xml:space="preserve" text-anchor="middle" x="843" y="-602.67" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Radio · Hardware</text>
|
|
121
121
|
</g>
|
|
122
122
|
<!-- Loop -->
|
|
123
123
|
<g id="node9" class="node">
|
|
124
124
|
<title>Loop</title>
|
|
125
125
|
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M275.38,-349.38C275.38,-349.38 150.62,-349.38 150.62,-349.38 144.62,-349.38 138.62,-343.38 138.62,-337.38 138.62,-337.38 138.62,-325.38 138.62,-325.38 138.62,-319.38 144.62,-313.38 150.62,-313.38 150.62,-313.38 275.38,-313.38 275.38,-313.38 281.38,-313.38 287.38,-319.38 287.38,-325.38 287.38,-325.38 287.38,-337.38 287.38,-337.38 287.38,-343.38 281.38,-349.38 275.38,-349.38"/>
|
|
126
|
-
<text xml:space="preserve" text-anchor="middle" x="213" y="-334.43" font-family="
|
|
127
|
-
<text xml:space="preserve" text-anchor="middle" x="213" y="-320.93" font-family="
|
|
126
|
+
<text xml:space="preserve" text-anchor="middle" x="213" y="-334.43" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Loop</text>
|
|
127
|
+
<text xml:space="preserve" text-anchor="middle" x="213" y="-320.93" font-family="sans-Serif" font-size="11.00" fill="#0f172a">plan → dispatch → observe</text>
|
|
128
128
|
</g>
|
|
129
129
|
<!-- REPL->Loop -->
|
|
130
130
|
<g id="edge5" class="edge">
|
|
@@ -137,14 +137,14 @@
|
|
|
137
137
|
<title>PwnAI->Loop</title>
|
|
138
138
|
<path fill="none" stroke="#a78bfa" stroke-width="2" d="M360.1,-457.15C344.13,-445.72 323.11,-430.24 305.25,-415.62 282.23,-396.79 257.24,-374.1 239.09,-357.16"/>
|
|
139
139
|
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="2" points="241.22,-355.32 233.47,-351.89 237.39,-359.41 241.22,-355.32"/>
|
|
140
|
-
<text xml:space="preserve" text-anchor="middle" x="340.12" y="-407.07" font-family="
|
|
140
|
+
<text xml:space="preserve" text-anchor="middle" x="340.12" y="-407.07" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">natural language</text>
|
|
141
141
|
</g>
|
|
142
142
|
<!-- Registry -->
|
|
143
143
|
<g id="node10" class="node">
|
|
144
144
|
<title>Registry</title>
|
|
145
145
|
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M430.12,-349.38C430.12,-349.38 339.88,-349.38 339.88,-349.38 333.88,-349.38 327.88,-343.38 327.88,-337.38 327.88,-337.38 327.88,-325.38 327.88,-325.38 327.88,-319.38 333.88,-313.38 339.88,-313.38 339.88,-313.38 430.12,-313.38 430.12,-313.38 436.12,-313.38 442.12,-319.38 442.12,-325.38 442.12,-325.38 442.12,-337.38 442.12,-337.38 442.12,-343.38 436.12,-349.38 430.12,-349.38"/>
|
|
146
|
-
<text xml:space="preserve" text-anchor="middle" x="385" y="-334.43" font-family="
|
|
147
|
-
<text xml:space="preserve" text-anchor="middle" x="385" y="-320.93" font-family="
|
|
146
|
+
<text xml:space="preserve" text-anchor="middle" x="385" y="-334.43" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Registry</text>
|
|
147
|
+
<text xml:space="preserve" text-anchor="middle" x="385" y="-320.93" font-family="sans-Serif" font-size="11.00" fill="#0f172a">10 toolsets · 55 tools</text>
|
|
148
148
|
</g>
|
|
149
149
|
<!-- PwnAI->Registry -->
|
|
150
150
|
<g id="edge7" class="edge">
|
|
@@ -156,30 +156,30 @@
|
|
|
156
156
|
<g id="node11" class="node">
|
|
157
157
|
<title>Swarm</title>
|
|
158
158
|
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M598.25,-349.38C598.25,-349.38 493.75,-349.38 493.75,-349.38 487.75,-349.38 481.75,-343.38 481.75,-337.38 481.75,-337.38 481.75,-325.38 481.75,-325.38 481.75,-319.38 487.75,-313.38 493.75,-313.38 493.75,-313.38 598.25,-313.38 598.25,-313.38 604.25,-313.38 610.25,-319.38 610.25,-325.38 610.25,-325.38 610.25,-337.38 610.25,-337.38 610.25,-343.38 604.25,-349.38 598.25,-349.38"/>
|
|
159
|
-
<text xml:space="preserve" text-anchor="middle" x="546" y="-334.43" font-family="
|
|
160
|
-
<text xml:space="preserve" text-anchor="middle" x="546" y="-320.93" font-family="
|
|
159
|
+
<text xml:space="preserve" text-anchor="middle" x="546" y="-334.43" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Swarm</text>
|
|
160
|
+
<text xml:space="preserve" text-anchor="middle" x="546" y="-320.93" font-family="sans-Serif" font-size="11.00" fill="#0f172a">personas · debate · bus</text>
|
|
161
161
|
</g>
|
|
162
162
|
<!-- CLI->Swarm -->
|
|
163
163
|
<!-- Plugins -->
|
|
164
164
|
<g id="node13" class="node">
|
|
165
165
|
<title>Plugins</title>
|
|
166
166
|
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M89.75,-198.88C89.75,-198.88 42.25,-198.88 42.25,-198.88 36.25,-198.88 30.25,-192.88 30.25,-186.88 30.25,-186.88 30.25,-174.88 30.25,-174.88 30.25,-168.88 36.25,-162.88 42.25,-162.88 42.25,-162.88 89.75,-162.88 89.75,-162.88 95.75,-162.88 101.75,-168.88 101.75,-174.88 101.75,-174.88 101.75,-186.88 101.75,-186.88 101.75,-192.88 95.75,-198.88 89.75,-198.88"/>
|
|
167
|
-
<text xml:space="preserve" text-anchor="middle" x="66" y="-183.93" font-family="
|
|
168
|
-
<text xml:space="preserve" text-anchor="middle" x="66" y="-170.43" font-family="
|
|
167
|
+
<text xml:space="preserve" text-anchor="middle" x="66" y="-183.93" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Plugins</text>
|
|
168
|
+
<text xml:space="preserve" text-anchor="middle" x="66" y="-170.43" font-family="sans-Serif" font-size="11.00" fill="#0f172a">66 modules</text>
|
|
169
169
|
</g>
|
|
170
170
|
<!-- CLI->Plugins -->
|
|
171
171
|
<g id="edge18" class="edge">
|
|
172
172
|
<title>CLI->Plugins</title>
|
|
173
|
-
<path fill="none" stroke="#34d399" stroke-width="1.3" d="
|
|
174
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="83.
|
|
173
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M564.64,-457C571.68,-454.3 579,-451.72 586,-449.62 587.76,-449.1 844.83,-398.55 846,-397.12 873.58,-363.42 875.66,-331.02 846,-299.12 832.27,-284.36 140.02,-255.67 122,-246.62 104.79,-237.99 90.65,-221.51 80.89,-207.33"/>
|
|
174
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="83.46,-206.14 76.73,-200.98 78.77,-209.21 83.46,-206.14"/>
|
|
175
175
|
</g>
|
|
176
176
|
<!-- Prompt -->
|
|
177
177
|
<g id="node12" class="node">
|
|
178
178
|
<title>Prompt</title>
|
|
179
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="
|
|
180
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
181
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
182
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
179
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M815.62,-355.62C815.62,-355.62 662.38,-355.62 662.38,-355.62 656.38,-355.62 650.38,-349.62 650.38,-343.62 650.38,-343.62 650.38,-319.12 650.38,-319.12 650.38,-313.12 656.38,-307.12 662.38,-307.12 662.38,-307.12 815.62,-307.12 815.62,-307.12 821.62,-307.12 827.62,-313.12 827.62,-319.12 827.62,-319.12 827.62,-343.62 827.62,-343.62 827.62,-349.62 821.62,-355.62 815.62,-355.62"/>
|
|
180
|
+
<text xml:space="preserve" text-anchor="middle" x="739" y="-341.18" font-family="sans-Serif" font-size="11.00" fill="#0f172a">PromptBuilder</text>
|
|
181
|
+
<text xml:space="preserve" text-anchor="middle" x="739" y="-327.68" font-family="sans-Serif" font-size="11.00" fill="#0f172a">MEMORY · SKILLS · LEARNING</text>
|
|
182
|
+
<text xml:space="preserve" text-anchor="middle" x="739" y="-314.18" font-family="sans-Serif" font-size="11.00" fill="#0f172a">MISTAKES · METRICS · EXTRO</text>
|
|
183
183
|
</g>
|
|
184
184
|
<!-- Cronb->Prompt -->
|
|
185
185
|
<!-- Loop->LLM -->
|
|
@@ -187,21 +187,21 @@
|
|
|
187
187
|
<title>Loop->LLM</title>
|
|
188
188
|
<path fill="none" stroke="#c4b5fd" stroke-width="2" d="M232.48,-349.99C250.62,-365.27 279.14,-386.56 308,-397.12 340.31,-408.95 350.84,-401.05 385,-405.12 458.7,-413.91 667.14,-393.76 716,-449.62 748.98,-487.34 725.09,-548.17 704.64,-585.72"/>
|
|
189
189
|
<polygon fill="#c4b5fd" stroke="#c4b5fd" stroke-width="2" points="702.27,-584.21 700.77,-592.56 707.15,-586.97 702.27,-584.21"/>
|
|
190
|
-
<text xml:space="preserve" text-anchor="middle" x="757.07" y="-472.32" font-family="
|
|
190
|
+
<text xml:space="preserve" text-anchor="middle" x="757.07" y="-472.32" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">tool-use API</text>
|
|
191
191
|
</g>
|
|
192
192
|
<!-- Loop->Plugins -->
|
|
193
193
|
<g id="edge10" class="edge">
|
|
194
194
|
<title>Loop->Plugins</title>
|
|
195
195
|
<path fill="none" stroke="#34d399" stroke-width="2" d="M192.38,-312.83C173.44,-296.38 144.91,-270.77 122,-246.62 110.23,-234.22 97.72,-219.88 87.53,-207.86"/>
|
|
196
196
|
<polygon fill="#34d399" stroke="#34d399" stroke-width="2" points="89.79,-206.21 82.5,-201.89 85.51,-209.81 89.79,-206.21"/>
|
|
197
|
-
<text xml:space="preserve" text-anchor="middle" x="158.48" y="-256.57" font-family="
|
|
197
|
+
<text xml:space="preserve" text-anchor="middle" x="158.48" y="-256.57" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">pwn_eval</text>
|
|
198
198
|
</g>
|
|
199
199
|
<!-- SAST -->
|
|
200
200
|
<g id="node14" class="node">
|
|
201
201
|
<title>SAST</title>
|
|
202
202
|
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M184.12,-198.88C184.12,-198.88 153.88,-198.88 153.88,-198.88 147.88,-198.88 141.88,-192.88 141.88,-186.88 141.88,-186.88 141.88,-174.88 141.88,-174.88 141.88,-168.88 147.88,-162.88 153.88,-162.88 153.88,-162.88 184.12,-162.88 184.12,-162.88 190.12,-162.88 196.12,-168.88 196.12,-174.88 196.12,-174.88 196.12,-186.88 196.12,-186.88 196.12,-192.88 190.12,-198.88 184.12,-198.88"/>
|
|
203
|
-
<text xml:space="preserve" text-anchor="middle" x="169" y="-183.93" font-family="
|
|
204
|
-
<text xml:space="preserve" text-anchor="middle" x="169" y="-170.43" font-family="
|
|
203
|
+
<text xml:space="preserve" text-anchor="middle" x="169" y="-183.93" font-family="sans-Serif" font-size="11.00" fill="#0f172a">SAST</text>
|
|
204
|
+
<text xml:space="preserve" text-anchor="middle" x="169" y="-170.43" font-family="sans-Serif" font-size="11.00" fill="#0f172a">48 rules</text>
|
|
205
205
|
</g>
|
|
206
206
|
<!-- Loop->SAST -->
|
|
207
207
|
<g id="edge11" class="edge">
|
|
@@ -213,8 +213,8 @@
|
|
|
213
213
|
<g id="node15" class="node">
|
|
214
214
|
<title>WWW</title>
|
|
215
215
|
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M307.38,-198.88C307.38,-198.88 248.62,-198.88 248.62,-198.88 242.62,-198.88 236.62,-192.88 236.62,-186.88 236.62,-186.88 236.62,-174.88 236.62,-174.88 236.62,-168.88 242.62,-162.88 248.62,-162.88 248.62,-162.88 307.38,-162.88 307.38,-162.88 313.38,-162.88 319.38,-168.88 319.38,-174.88 319.38,-174.88 319.38,-186.88 319.38,-186.88 319.38,-192.88 313.38,-198.88 307.38,-198.88"/>
|
|
216
|
-
<text xml:space="preserve" text-anchor="middle" x="278" y="-183.93" font-family="
|
|
217
|
-
<text xml:space="preserve" text-anchor="middle" x="278" y="-170.43" font-family="
|
|
216
|
+
<text xml:space="preserve" text-anchor="middle" x="278" y="-183.93" font-family="sans-Serif" font-size="11.00" fill="#0f172a">WWW</text>
|
|
217
|
+
<text xml:space="preserve" text-anchor="middle" x="278" y="-170.43" font-family="sans-Serif" font-size="11.00" fill="#0f172a">21 site drivers</text>
|
|
218
218
|
</g>
|
|
219
219
|
<!-- Registry->WWW -->
|
|
220
220
|
<g id="edge12" class="edge">
|
|
@@ -226,8 +226,8 @@
|
|
|
226
226
|
<g id="node16" class="node">
|
|
227
227
|
<title>AWS</title>
|
|
228
228
|
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M417,-198.88C417,-198.88 371,-198.88 371,-198.88 365,-198.88 359,-192.88 359,-186.88 359,-186.88 359,-174.88 359,-174.88 359,-168.88 365,-162.88 371,-162.88 371,-162.88 417,-162.88 417,-162.88 423,-162.88 429,-168.88 429,-174.88 429,-174.88 429,-186.88 429,-186.88 429,-192.88 423,-198.88 417,-198.88"/>
|
|
229
|
-
<text xml:space="preserve" text-anchor="middle" x="394" y="-183.93" font-family="
|
|
230
|
-
<text xml:space="preserve" text-anchor="middle" x="394" y="-170.43" font-family="
|
|
229
|
+
<text xml:space="preserve" text-anchor="middle" x="394" y="-183.93" font-family="sans-Serif" font-size="11.00" fill="#0f172a">AWS</text>
|
|
230
|
+
<text xml:space="preserve" text-anchor="middle" x="394" y="-170.43" font-family="sans-Serif" font-size="11.00" fill="#0f172a">90 services</text>
|
|
231
231
|
</g>
|
|
232
232
|
<!-- Registry->AWS -->
|
|
233
233
|
<g id="edge13" class="edge">
|
|
@@ -239,9 +239,9 @@
|
|
|
239
239
|
<g id="node17" class="node">
|
|
240
240
|
<title>SDR</title>
|
|
241
241
|
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M582.75,-205.12C582.75,-205.12 481.25,-205.12 481.25,-205.12 475.25,-205.12 469.25,-199.12 469.25,-193.12 469.25,-193.12 469.25,-168.62 469.25,-168.62 469.25,-162.62 475.25,-156.62 481.25,-156.62 481.25,-156.62 582.75,-156.62 582.75,-156.62 588.75,-156.62 594.75,-162.62 594.75,-168.62 594.75,-168.62 594.75,-193.12 594.75,-193.12 594.75,-199.12 588.75,-205.12 582.75,-205.12"/>
|
|
242
|
-
<text xml:space="preserve" text-anchor="middle" x="532" y="-190.68" font-family="
|
|
243
|
-
<text xml:space="preserve" text-anchor="middle" x="532" y="-177.18" font-family="
|
|
244
|
-
<text xml:space="preserve" text-anchor="middle" x="532" y="-163.68" font-family="
|
|
242
|
+
<text xml:space="preserve" text-anchor="middle" x="532" y="-190.68" font-family="sans-Serif" font-size="11.00" fill="#0f172a">SDR</text>
|
|
243
|
+
<text xml:space="preserve" text-anchor="middle" x="532" y="-177.18" font-family="sans-Serif" font-size="11.00" fill="#0f172a">GQRX · Flipper · RFID</text>
|
|
244
|
+
<text xml:space="preserve" text-anchor="middle" x="532" y="-163.68" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Decoder::* (20)</text>
|
|
245
245
|
</g>
|
|
246
246
|
<!-- Swarm->SDR -->
|
|
247
247
|
<g id="edge14" class="edge">
|
|
@@ -253,8 +253,8 @@
|
|
|
253
253
|
<g id="node18" class="node">
|
|
254
254
|
<title>Chain</title>
|
|
255
255
|
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M693,-198.88C693,-198.88 647,-198.88 647,-198.88 641,-198.88 635,-192.88 635,-186.88 635,-186.88 635,-174.88 635,-174.88 635,-168.88 641,-162.88 647,-162.88 647,-162.88 693,-162.88 693,-162.88 699,-162.88 705,-168.88 705,-174.88 705,-174.88 705,-186.88 705,-186.88 705,-192.88 699,-198.88 693,-198.88"/>
|
|
256
|
-
<text xml:space="preserve" text-anchor="middle" x="670" y="-183.93" font-family="
|
|
257
|
-
<text xml:space="preserve" text-anchor="middle" x="670" y="-170.43" font-family="
|
|
256
|
+
<text xml:space="preserve" text-anchor="middle" x="670" y="-183.93" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Blockchain</text>
|
|
257
|
+
<text xml:space="preserve" text-anchor="middle" x="670" y="-170.43" font-family="sans-Serif" font-size="11.00" fill="#0f172a">BTC · ETH</text>
|
|
258
258
|
</g>
|
|
259
259
|
<!-- Swarm->Chain -->
|
|
260
260
|
<g id="edge15" class="edge">
|
|
@@ -266,16 +266,16 @@
|
|
|
266
266
|
<g id="node19" class="node">
|
|
267
267
|
<title>Bounty</title>
|
|
268
268
|
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M818.88,-198.88C818.88,-198.88 757.12,-198.88 757.12,-198.88 751.12,-198.88 745.12,-192.88 745.12,-186.88 745.12,-186.88 745.12,-174.88 745.12,-174.88 745.12,-168.88 751.12,-162.88 757.12,-162.88 757.12,-162.88 818.88,-162.88 818.88,-162.88 824.88,-162.88 830.88,-168.88 830.88,-174.88 830.88,-174.88 830.88,-186.88 830.88,-186.88 830.88,-192.88 824.88,-198.88 818.88,-198.88"/>
|
|
269
|
-
<text xml:space="preserve" text-anchor="middle" x="788" y="-183.93" font-family="
|
|
270
|
-
<text xml:space="preserve" text-anchor="middle" x="788" y="-170.43" font-family="
|
|
269
|
+
<text xml:space="preserve" text-anchor="middle" x="788" y="-183.93" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Bounty</text>
|
|
270
|
+
<text xml:space="preserve" text-anchor="middle" x="788" y="-170.43" font-family="sans-Serif" font-size="11.00" fill="#0f172a">lifecycle replay</text>
|
|
271
271
|
</g>
|
|
272
272
|
<!-- Prompt->Bounty -->
|
|
273
273
|
<!-- Reports -->
|
|
274
274
|
<g id="node20" class="node">
|
|
275
275
|
<title>Reports</title>
|
|
276
276
|
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M943.12,-198.88C943.12,-198.88 882.88,-198.88 882.88,-198.88 876.88,-198.88 870.88,-192.88 870.88,-186.88 870.88,-186.88 870.88,-174.88 870.88,-174.88 870.88,-168.88 876.88,-162.88 882.88,-162.88 882.88,-162.88 943.12,-162.88 943.12,-162.88 949.12,-162.88 955.12,-168.88 955.12,-174.88 955.12,-174.88 955.12,-186.88 955.12,-186.88 955.12,-192.88 949.12,-198.88 943.12,-198.88"/>
|
|
277
|
-
<text xml:space="preserve" text-anchor="middle" x="913" y="-183.93" font-family="
|
|
278
|
-
<text xml:space="preserve" text-anchor="middle" x="913" y="-170.43" font-family="
|
|
277
|
+
<text xml:space="preserve" text-anchor="middle" x="913" y="-183.93" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Reports</text>
|
|
278
|
+
<text xml:space="preserve" text-anchor="middle" x="913" y="-170.43" font-family="sans-Serif" font-size="11.00" fill="#0f172a">HTML · JSON</text>
|
|
279
279
|
</g>
|
|
280
280
|
<!-- Prompt->Reports -->
|
|
281
281
|
<!-- Memory -->
|
|
@@ -283,21 +283,21 @@
|
|
|
283
283
|
<title>Memory</title>
|
|
284
284
|
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M93.75,-54.79C93.75,-56.6 76.38,-58.06 55,-58.06 33.62,-58.06 16.25,-56.6 16.25,-54.79 16.25,-54.79 16.25,-25.34 16.25,-25.34 16.25,-23.53 33.62,-22.06 55,-22.06 76.38,-22.06 93.75,-23.53 93.75,-25.34 93.75,-25.34 93.75,-54.79 93.75,-54.79"/>
|
|
285
285
|
<path fill="none" stroke="#334155" stroke-width="1.4" d="M93.75,-54.79C93.75,-52.98 76.38,-51.52 55,-51.52 33.62,-51.52 16.25,-52.98 16.25,-54.79"/>
|
|
286
|
-
<text xml:space="preserve" text-anchor="middle" x="55" y="-36.36" font-family="
|
|
286
|
+
<text xml:space="preserve" text-anchor="middle" x="55" y="-36.36" font-family="sans-Serif" font-size="11.00" fill="#0f172a">memory.json</text>
|
|
287
287
|
</g>
|
|
288
288
|
<!-- Prompt->Memory -->
|
|
289
289
|
<g id="edge30" class="edge">
|
|
290
290
|
<title>Prompt->Memory</title>
|
|
291
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
292
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
293
|
-
<text xml:space="preserve" text-anchor="middle" x="1004.
|
|
291
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M838.05,-321.2C887.19,-311.06 942.43,-290.03 973,-246.62 998.08,-211.01 1003.02,-180.18 973,-148.62 907.14,-79.38 200.45,-146.35 114,-105.62 92.71,-95.6 75.57,-74.04 65.36,-58.6"/>
|
|
292
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="837.57,-318.44 830.25,-322.71 838.63,-323.94 837.57,-318.44"/>
|
|
293
|
+
<text xml:space="preserve" text-anchor="middle" x="1004.58" y="-177.57" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">inject</text>
|
|
294
294
|
</g>
|
|
295
295
|
<!-- Plugins->Target -->
|
|
296
296
|
<g id="edge29" class="edge">
|
|
297
297
|
<title>Plugins->Target</title>
|
|
298
|
-
<path fill="none" stroke="#fb7185" stroke-width="2" d="M75.58,-199.
|
|
299
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="
|
|
300
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
298
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" d="M75.58,-199.5C85.09,-215.01 101.24,-236.64 122,-246.62 142.54,-256.51 304.24,-253.28 327,-254.62 389.42,-258.32 845.57,-253.2 888,-299.12 961.81,-379.02 897.88,-521.5 862.6,-585.79"/>
|
|
299
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="860.36,-584.06 858.9,-592.41 865.25,-586.8 860.36,-584.06"/>
|
|
300
|
+
<text xml:space="preserve" text-anchor="middle" x="933.69" y="-407.07" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">attack</text>
|
|
301
301
|
</g>
|
|
302
302
|
<!-- Plugins->Memory -->
|
|
303
303
|
<g id="edge19" class="edge">
|
|
@@ -310,7 +310,7 @@
|
|
|
310
310
|
<title>Skills</title>
|
|
311
311
|
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M198,-54.79C198,-56.6 183.66,-58.06 166,-58.06 148.34,-58.06 134,-56.6 134,-54.79 134,-54.79 134,-25.34 134,-25.34 134,-23.53 148.34,-22.06 166,-22.06 183.66,-22.06 198,-23.53 198,-25.34 198,-25.34 198,-54.79 198,-54.79"/>
|
|
312
312
|
<path fill="none" stroke="#334155" stroke-width="1.4" d="M198,-54.79C198,-52.98 183.66,-51.52 166,-51.52 148.34,-51.52 134,-52.98 134,-54.79"/>
|
|
313
|
-
<text xml:space="preserve" text-anchor="middle" x="166" y="-36.36" font-family="
|
|
313
|
+
<text xml:space="preserve" text-anchor="middle" x="166" y="-36.36" font-family="sans-Serif" font-size="11.00" fill="#0f172a">skills/*.md</text>
|
|
314
314
|
</g>
|
|
315
315
|
<!-- SAST->Skills -->
|
|
316
316
|
<g id="edge20" class="edge">
|
|
@@ -323,7 +323,7 @@
|
|
|
323
323
|
<title>Learn</title>
|
|
324
324
|
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M317.5,-54.79C317.5,-56.6 299.8,-58.06 278,-58.06 256.2,-58.06 238.5,-56.6 238.5,-54.79 238.5,-54.79 238.5,-25.34 238.5,-25.34 238.5,-23.53 256.2,-22.06 278,-22.06 299.8,-22.06 317.5,-23.53 317.5,-25.34 317.5,-25.34 317.5,-54.79 317.5,-54.79"/>
|
|
325
325
|
<path fill="none" stroke="#334155" stroke-width="1.4" d="M317.5,-54.79C317.5,-52.98 299.8,-51.52 278,-51.52 256.2,-51.52 238.5,-52.98 238.5,-54.79"/>
|
|
326
|
-
<text xml:space="preserve" text-anchor="middle" x="278" y="-36.36" font-family="
|
|
326
|
+
<text xml:space="preserve" text-anchor="middle" x="278" y="-36.36" font-family="sans-Serif" font-size="11.00" fill="#0f172a">learning.jsonl</text>
|
|
327
327
|
</g>
|
|
328
328
|
<!-- WWW->Learn -->
|
|
329
329
|
<g id="edge21" class="edge">
|
|
@@ -336,7 +336,7 @@
|
|
|
336
336
|
<title>Metrics</title>
|
|
337
337
|
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M430.5,-54.79C430.5,-56.6 414.14,-58.06 394,-58.06 373.86,-58.06 357.5,-56.6 357.5,-54.79 357.5,-54.79 357.5,-25.34 357.5,-25.34 357.5,-23.53 373.86,-22.06 394,-22.06 414.14,-22.06 430.5,-23.53 430.5,-25.34 430.5,-25.34 430.5,-54.79 430.5,-54.79"/>
|
|
338
338
|
<path fill="none" stroke="#334155" stroke-width="1.4" d="M430.5,-54.79C430.5,-52.98 414.14,-51.52 394,-51.52 373.86,-51.52 357.5,-52.98 357.5,-54.79"/>
|
|
339
|
-
<text xml:space="preserve" text-anchor="middle" x="394" y="-36.36" font-family="
|
|
339
|
+
<text xml:space="preserve" text-anchor="middle" x="394" y="-36.36" font-family="sans-Serif" font-size="11.00" fill="#0f172a">metrics.json</text>
|
|
340
340
|
</g>
|
|
341
341
|
<!-- AWS->Metrics -->
|
|
342
342
|
<g id="edge22" class="edge">
|
|
@@ -349,68 +349,68 @@
|
|
|
349
349
|
<title>MistF</title>
|
|
350
350
|
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M551.25,-54.79C551.25,-56.6 533.21,-58.06 511,-58.06 488.79,-58.06 470.75,-56.6 470.75,-54.79 470.75,-54.79 470.75,-25.34 470.75,-25.34 470.75,-23.53 488.79,-22.06 511,-22.06 533.21,-22.06 551.25,-23.53 551.25,-25.34 551.25,-25.34 551.25,-54.79 551.25,-54.79"/>
|
|
351
351
|
<path fill="none" stroke="#334155" stroke-width="1.4" d="M551.25,-54.79C551.25,-52.98 533.21,-51.52 511,-51.52 488.79,-51.52 470.75,-52.98 470.75,-54.79"/>
|
|
352
|
-
<text xml:space="preserve" text-anchor="middle" x="511" y="-36.36" font-family="
|
|
352
|
+
<text xml:space="preserve" text-anchor="middle" x="511" y="-36.36" font-family="sans-Serif" font-size="11.00" fill="#0f172a">mistakes.json</text>
|
|
353
353
|
</g>
|
|
354
354
|
<!-- SDR->MistF -->
|
|
355
355
|
<!-- Extro -->
|
|
356
356
|
<g id="node26" class="node">
|
|
357
357
|
<title>Extro</title>
|
|
358
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="
|
|
359
|
-
<path fill="none" stroke="#334155" stroke-width="1.4" d="
|
|
360
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
361
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
358
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M712.88,-59.75C712.88,-62.16 685.59,-64.12 652,-64.12 618.41,-64.12 591.12,-62.16 591.12,-59.75 591.12,-59.75 591.12,-20.38 591.12,-20.38 591.12,-17.96 618.41,-16 652,-16 685.59,-16 712.88,-17.96 712.88,-20.38 712.88,-20.38 712.88,-59.75 712.88,-59.75"/>
|
|
359
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M712.88,-59.75C712.88,-57.34 685.59,-55.38 652,-55.38 618.41,-55.38 591.12,-57.34 591.12,-59.75"/>
|
|
360
|
+
<text xml:space="preserve" text-anchor="middle" x="652" y="-43.11" font-family="sans-Serif" font-size="11.00" fill="#0f172a">extrospection.json</text>
|
|
361
|
+
<text xml:space="preserve" text-anchor="middle" x="652" y="-29.61" font-family="sans-Serif" font-size="11.00" fill="#0f172a">rf · web · observations</text>
|
|
362
362
|
</g>
|
|
363
363
|
<!-- SDR->Extro -->
|
|
364
364
|
<g id="edge24" class="edge">
|
|
365
365
|
<title>SDR->Extro</title>
|
|
366
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
367
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
366
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M552.63,-156.01C572.67,-132.83 603.2,-97.51 625.13,-72.14"/>
|
|
367
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="627.24,-73.99 630.35,-66.1 623,-70.32 627.24,-73.99"/>
|
|
368
368
|
</g>
|
|
369
369
|
<!-- Sessions -->
|
|
370
370
|
<g id="node27" class="node">
|
|
371
371
|
<title>Sessions</title>
|
|
372
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="
|
|
373
|
-
<path fill="none" stroke="#334155" stroke-width="1.4" d="
|
|
374
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
372
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M842.75,-54.79C842.75,-56.6 822.69,-58.06 798,-58.06 773.31,-58.06 753.25,-56.6 753.25,-54.79 753.25,-54.79 753.25,-25.34 753.25,-25.34 753.25,-23.53 773.31,-22.06 798,-22.06 822.69,-22.06 842.75,-23.53 842.75,-25.34 842.75,-25.34 842.75,-54.79 842.75,-54.79"/>
|
|
373
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M842.75,-54.79C842.75,-52.98 822.69,-51.52 798,-51.52 773.31,-51.52 753.25,-52.98 753.25,-54.79"/>
|
|
374
|
+
<text xml:space="preserve" text-anchor="middle" x="798" y="-36.36" font-family="sans-Serif" font-size="11.00" fill="#0f172a">sessions/*.jsonl</text>
|
|
375
375
|
</g>
|
|
376
376
|
<!-- Chain->Sessions -->
|
|
377
377
|
<g id="edge25" class="edge">
|
|
378
378
|
<title>Chain->Sessions</title>
|
|
379
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
380
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
379
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M686.21,-162.29C708.81,-137.78 749.89,-93.24 775.46,-65.51"/>
|
|
380
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="777.22,-67.73 780.59,-59.95 773.1,-63.93 777.22,-67.73"/>
|
|
381
381
|
</g>
|
|
382
382
|
<!-- SwarmB -->
|
|
383
383
|
<g id="node28" class="node">
|
|
384
384
|
<title>SwarmB</title>
|
|
385
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="
|
|
386
|
-
<path fill="none" stroke="#334155" stroke-width="1.4" d="
|
|
387
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
385
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M983.38,-54.79C983.38,-56.6 960.8,-58.06 933,-58.06 905.2,-58.06 882.62,-56.6 882.62,-54.79 882.62,-54.79 882.62,-25.34 882.62,-25.34 882.62,-23.53 905.2,-22.06 933,-22.06 960.8,-22.06 983.38,-23.53 983.38,-25.34 983.38,-25.34 983.38,-54.79 983.38,-54.79"/>
|
|
386
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M983.38,-54.79C983.38,-52.98 960.8,-51.52 933,-51.52 905.2,-51.52 882.62,-52.98 882.62,-54.79"/>
|
|
387
|
+
<text xml:space="preserve" text-anchor="middle" x="933" y="-36.36" font-family="sans-Serif" font-size="11.00" fill="#0f172a">swarm/*/bus.jsonl</text>
|
|
388
388
|
</g>
|
|
389
389
|
<!-- Bounty->SwarmB -->
|
|
390
390
|
<g id="edge26" class="edge">
|
|
391
391
|
<title>Bounty->SwarmB</title>
|
|
392
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
393
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
392
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M806.36,-162.29C832.08,-137.68 878.9,-92.86 907.84,-65.15"/>
|
|
393
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="909.52,-67.42 913.36,-59.86 905.65,-63.37 909.52,-67.42"/>
|
|
394
394
|
</g>
|
|
395
395
|
<!-- Reports->User -->
|
|
396
396
|
<g id="edge31" class="edge">
|
|
397
397
|
<title>Reports->User</title>
|
|
398
|
-
<path fill="none" stroke="#38bdf8" stroke-width="2" d="
|
|
398
|
+
<path fill="none" stroke="#38bdf8" stroke-width="2" d="M922.82,-199.45C931.67,-213.88 945.89,-233.93 963,-246.62 971.02,-252.58 976.87,-247.64 984,-254.62 1029.6,-299.3 1032.31,-340.94 1002,-397.12 879.98,-623.32 704.79,-523.13 456,-587.62 445.5,-590.35 434.48,-593.87 423.99,-597.57"/>
|
|
399
399
|
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="423.13,-594.91 416.56,-600.27 425.04,-600.17 423.13,-594.91"/>
|
|
400
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
400
|
+
<text xml:space="preserve" text-anchor="middle" x="1012.46" y="-407.07" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">findings</text>
|
|
401
401
|
</g>
|
|
402
402
|
<!-- CronF -->
|
|
403
403
|
<g id="node29" class="node">
|
|
404
404
|
<title>CronF</title>
|
|
405
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="
|
|
406
|
-
<path fill="none" stroke="#334155" stroke-width="1.4" d="
|
|
407
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
405
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M1102.5,-54.79C1102.5,-56.6 1084.8,-58.06 1063,-58.06 1041.2,-58.06 1023.5,-56.6 1023.5,-54.79 1023.5,-54.79 1023.5,-25.34 1023.5,-25.34 1023.5,-23.53 1041.2,-22.06 1063,-22.06 1084.8,-22.06 1102.5,-23.53 1102.5,-25.34 1102.5,-25.34 1102.5,-54.79 1102.5,-54.79"/>
|
|
406
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M1102.5,-54.79C1102.5,-52.98 1084.8,-51.52 1063,-51.52 1041.2,-51.52 1023.5,-52.98 1023.5,-54.79"/>
|
|
407
|
+
<text xml:space="preserve" text-anchor="middle" x="1063" y="-36.36" font-family="sans-Serif" font-size="11.00" fill="#0f172a">cron/jobs.yml</text>
|
|
408
408
|
</g>
|
|
409
409
|
<!-- Reports->CronF -->
|
|
410
410
|
<g id="edge27" class="edge">
|
|
411
411
|
<title>Reports->CronF</title>
|
|
412
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
413
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
412
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M935.89,-162.36C954.51,-147.79 981.19,-126.19 1003,-105.62 1016.28,-93.11 1030.2,-78.24 1041.29,-65.93"/>
|
|
413
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="1043.25,-67.94 1046.49,-60.11 1039.08,-64.22 1043.25,-67.94"/>
|
|
414
414
|
</g>
|
|
415
415
|
</g>
|
|
416
416
|
</svg>
|