pwn 0.5.613 → 0.5.617

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.
Files changed (134) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +10 -10
  3. data/README.md +117 -17
  4. data/bin/pwn +47 -2
  5. data/bin/pwn_gqrx_scanner +75 -18
  6. data/documentation/AI-Integration.md +36 -0
  7. data/documentation/BurpSuite.md +26 -0
  8. data/documentation/Contributing.md +31 -0
  9. data/documentation/Diagrams.md +140 -0
  10. data/documentation/Drivers.md +25 -0
  11. data/documentation/General-PWN-Usage.md +60 -0
  12. data/documentation/Home.md +78 -0
  13. data/documentation/How-PWN-Works.md +62 -0
  14. data/documentation/Installation.md +75 -0
  15. data/documentation/NmapIt.md +18 -0
  16. data/documentation/Plugins.md +59 -0
  17. data/documentation/Reporting.md +28 -0
  18. data/documentation/SAST.md +32 -0
  19. data/documentation/Skills-Memory-Learning.md +44 -0
  20. data/documentation/Transparent-Browser.md +32 -0
  21. data/documentation/Troubleshooting.md +38 -0
  22. data/documentation/What-is-PWN.md +53 -0
  23. data/documentation/Why-PWN.md +48 -0
  24. data/documentation/diagrams/ai-integration-tool-calling.svg +172 -0
  25. data/documentation/diagrams/build.sh +20 -0
  26. data/documentation/diagrams/burp-vs-zap-preference.svg +69 -0
  27. data/documentation/diagrams/code-scanning-sast.svg +172 -0
  28. data/documentation/diagrams/dot/_THEME.md +27 -0
  29. data/documentation/diagrams/dot/agent-tool-registry.dot +59 -0
  30. data/documentation/diagrams/dot/ai-integration-tool-calling.dot +50 -0
  31. data/documentation/diagrams/dot/aws-cloud-security.dot +48 -0
  32. data/documentation/diagrams/dot/burp-vs-zap-preference.dot +26 -0
  33. data/documentation/diagrams/dot/code-scanning-sast.dot +49 -0
  34. data/documentation/diagrams/dot/cron-scheduling.dot +40 -0
  35. data/documentation/diagrams/dot/driver-framework.dot +39 -0
  36. data/documentation/diagrams/dot/extrospection-world-awareness.dot +55 -0
  37. data/documentation/diagrams/dot/fuzzing-workflow.dot +47 -0
  38. data/documentation/diagrams/dot/history-to-drivers.dot +34 -0
  39. data/documentation/diagrams/dot/memory-skills-detailed.dot +60 -0
  40. data/documentation/diagrams/dot/network-infra-testing.dot +54 -0
  41. data/documentation/diagrams/dot/overall-pwn-architecture.dot +115 -0
  42. data/documentation/diagrams/dot/penetration-testing-workflow.dot +60 -0
  43. data/documentation/diagrams/dot/plugin-ecosystem.dot +45 -0
  44. data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +98 -0
  45. data/documentation/diagrams/dot/pwn-repl-prototyping.dot +56 -0
  46. data/documentation/diagrams/dot/reporting-pipeline.dot +46 -0
  47. data/documentation/diagrams/dot/reverse-engineering-flow.dot +43 -0
  48. data/documentation/diagrams/dot/sdr-radio-flow.dot +45 -0
  49. data/documentation/diagrams/dot/sessions-cron-automation.dot +44 -0
  50. data/documentation/diagrams/dot/swarm-multi-agent.dot +70 -0
  51. data/documentation/diagrams/dot/web-application-testing.dot +49 -0
  52. data/documentation/diagrams/dot/zero-day-research-flow.dot +49 -0
  53. data/documentation/diagrams/driver-framework.svg +111 -0
  54. data/documentation/diagrams/fuzzing-workflow.svg +160 -0
  55. data/documentation/diagrams/history-to-drivers.svg +119 -0
  56. data/documentation/diagrams/memory-skills-detailed.svg +202 -0
  57. data/documentation/diagrams/network-infra-testing.svg +183 -0
  58. data/documentation/diagrams/overall-pwn-architecture.svg +405 -0
  59. data/documentation/diagrams/penetration-testing-workflow.svg +201 -0
  60. data/documentation/diagrams/plugin-ecosystem.svg +276 -0
  61. data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +306 -0
  62. data/documentation/diagrams/pwn-repl-prototyping.svg +168 -0
  63. data/documentation/diagrams/reporting-pipeline.svg +151 -0
  64. data/documentation/diagrams/reverse-engineering-flow.svg +134 -0
  65. data/documentation/diagrams/sessions-cron-automation.svg +136 -0
  66. data/documentation/diagrams/web-application-testing.svg +173 -0
  67. data/documentation/diagrams/zero-day-research-flow.svg +153 -0
  68. data/documentation/pwn-REPL.md +33 -0
  69. data/documentation/pwn-ai-Agent.md +43 -0
  70. data/git_commit.sh +1 -1
  71. data/lib/pwn/ai/agent/assembly.rb +1 -1
  72. data/lib/pwn/ai/agent/btc.rb +1 -1
  73. data/lib/pwn/ai/agent/burp_suite.rb +1 -1
  74. data/lib/pwn/ai/agent/extrospection.rb +618 -0
  75. data/lib/pwn/ai/agent/gqrx.rb +2 -2
  76. data/lib/pwn/ai/agent/hacker_one.rb +1 -1
  77. data/lib/pwn/ai/agent/introspection.rb +91 -0
  78. data/lib/pwn/ai/agent/learning.rb +379 -0
  79. data/lib/pwn/ai/agent/loop.rb +33 -3
  80. data/lib/pwn/ai/agent/metrics.rb +155 -0
  81. data/lib/pwn/ai/agent/prompt_builder.rb +32 -3
  82. data/lib/pwn/ai/agent/sast.rb +1 -1
  83. data/lib/pwn/ai/agent/swarm.rb +437 -0
  84. data/lib/pwn/ai/agent/tools/cron.rb +163 -0
  85. data/lib/pwn/ai/agent/tools/extrospection.rb +280 -0
  86. data/lib/pwn/ai/agent/tools/learning.rb +221 -0
  87. data/lib/pwn/ai/agent/tools/memory.rb +27 -0
  88. data/lib/pwn/ai/agent/tools/metrics.rb +61 -0
  89. data/lib/pwn/ai/agent/tools/sessions.rb +139 -0
  90. data/lib/pwn/ai/agent/tools/skills.rb +124 -8
  91. data/lib/pwn/ai/agent/tools/swarm.rb +229 -0
  92. data/lib/pwn/ai/agent/transparent_browser.rb +1 -1
  93. data/lib/pwn/ai/agent/vuln_gen.rb +2 -2
  94. data/lib/pwn/ai/agent.rb +5 -0
  95. data/lib/pwn/ai/anthropic.rb +19 -4
  96. data/lib/pwn/ai/grok.rb +249 -106
  97. data/lib/pwn/ai.rb +0 -1
  98. data/lib/pwn/config.rb +96 -36
  99. data/lib/pwn/cron.rb +16 -7
  100. data/lib/pwn/plugins/monkey_patch.rb +2 -2
  101. data/lib/pwn/plugins/repl.rb +158 -284
  102. data/lib/pwn/sdr/decoder/base.rb +251 -0
  103. data/lib/pwn/sdr/decoder/gsm.rb +84 -185
  104. data/lib/pwn/sdr/decoder/pocsag.rb +62 -217
  105. data/lib/pwn/sdr/decoder.rb +1 -0
  106. data/lib/pwn/sdr/gqrx.rb +446 -65
  107. data/lib/pwn/version.rb +1 -1
  108. data/spec/lib/pwn/ai/agent/extrospection_spec.rb +15 -0
  109. data/spec/lib/pwn/ai/agent/introspection_spec.rb +15 -0
  110. data/spec/lib/pwn/ai/agent/learning_spec.rb +68 -0
  111. data/spec/lib/pwn/ai/agent/metrics_spec.rb +27 -0
  112. data/spec/lib/pwn/ai/agent/swarm_spec.rb +34 -0
  113. data/spec/lib/pwn/ai/agent/tools/cron_spec.rb +40 -0
  114. data/spec/lib/pwn/ai/agent/tools/extrospection_spec.rb +40 -0
  115. data/spec/lib/pwn/ai/agent/tools/learning_spec.rb +30 -0
  116. data/spec/lib/pwn/ai/agent/tools/metrics_spec.rb +20 -0
  117. data/spec/lib/pwn/ai/agent/tools/sessions_spec.rb +35 -0
  118. data/spec/lib/pwn/ai/agent/tools/swarm_spec.rb +17 -0
  119. data/spec/lib/pwn/{ai/introspection_spec.rb → sdr/decoder/base_spec.rb} +3 -3
  120. data/third_party/pwn_rdoc.jsonl +178 -33
  121. metadata +110 -36
  122. data/documentation/PWN.png +0 -0
  123. data/documentation/PWN_Contributors_and_Users.png +0 -0
  124. data/documentation/fax-spectrogram.png +0 -0
  125. data/documentation/fax-waveform.png +0 -0
  126. data/documentation/frozen_string_literal_files_changed_from_false_to_true.txt +0 -54
  127. data/documentation/lifecycle_authz_replay.example.yaml +0 -27
  128. data/documentation/pwn_android_war_dialer_session.png +0 -0
  129. data/documentation/pwn_install.png +0 -0
  130. data/documentation/pwn_wallpaper.jpg +0 -0
  131. data/documentation/ringing-spectrogram.png +0 -0
  132. data/documentation/ringing-waveform.png +0 -0
  133. data/documentation/vulnerability_report_template.md +0 -37
  134. data/lib/pwn/ai/introspection.rb +0 -76
@@ -0,0 +1,201 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <!-- Generated by graphviz version 14.1.2 (0)
5
+ -->
6
+ <!-- Title: PWN_Pentest Pages: 1 -->
7
+ <svg width="1381pt" height="292pt"
8
+ viewBox="0.00 0.00 1381.00 292.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 249.2)">
10
+ <title>PWN_Pentest</title>
11
+ <polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-249.2 1337.95,-249.2 1337.95,43.2 -43.2,43.2"/>
12
+ <text xml:space="preserve" text-anchor="start" x="450.88" y="-184" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">End&#45;to&#45;End Penetration Testing with PWN</text>
13
+ <text xml:space="preserve" text-anchor="start" x="526.25" y="-172.55" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">recon → enumerate → exploit → post&#45;ex → report</text>
14
+ <g id="clust1" class="cluster">
15
+ <title>cluster_recon</title>
16
+ <path fill="#022c22" stroke="#047857" d="M166,-8C166,-8 285.75,-8 285.75,-8 291.75,-8 297.75,-14 297.75,-20 297.75,-20 297.75,-147 297.75,-147 297.75,-153 291.75,-159 285.75,-159 285.75,-159 166,-159 166,-159 160,-159 154,-153 154,-147 154,-147 154,-20 154,-20 154,-14 160,-8 166,-8"/>
17
+ <text xml:space="preserve" text-anchor="middle" x="225.88" y="-136" font-family="sans-Serif" font-size="20.00" fill="#a7f3d0">1 · Recon</text>
18
+ </g>
19
+ <g id="clust2" class="cluster">
20
+ <title>cluster_enum</title>
21
+ <path fill="#022c22" stroke="#047857" d="M379.75,-8C379.75,-8 497,-8 497,-8 503,-8 509,-14 509,-20 509,-20 509,-147 509,-147 509,-153 503,-159 497,-159 497,-159 379.75,-159 379.75,-159 373.75,-159 367.75,-153 367.75,-147 367.75,-147 367.75,-20 367.75,-20 367.75,-14 373.75,-8 379.75,-8"/>
22
+ <text xml:space="preserve" text-anchor="middle" x="438.38" y="-136" font-family="sans-Serif" font-size="20.00" fill="#a7f3d0">2 · Enumerate</text>
23
+ </g>
24
+ <g id="clust3" class="cluster">
25
+ <title>cluster_vuln</title>
26
+ <path fill="#422006" stroke="#a16207" d="M591,-8C591,-8 700,-8 700,-8 706,-8 712,-14 712,-20 712,-20 712,-147 712,-147 712,-153 706,-159 700,-159 700,-159 591,-159 591,-159 585,-159 579,-153 579,-147 579,-147 579,-20 579,-20 579,-14 585,-8 591,-8"/>
27
+ <text xml:space="preserve" text-anchor="middle" x="645.5" y="-136" font-family="sans-Serif" font-size="20.00" fill="#fde68a">3 · Vuln Scan</text>
28
+ </g>
29
+ <g id="clust4" class="cluster">
30
+ <title>cluster_xpl</title>
31
+ <path fill="#450a0a" stroke="#b91c1c" d="M794,-8C794,-8 885.25,-8 885.25,-8 891.25,-8 897.25,-14 897.25,-20 897.25,-20 897.25,-147 897.25,-147 897.25,-153 891.25,-159 885.25,-159 885.25,-159 794,-159 794,-159 788,-159 782,-153 782,-147 782,-147 782,-20 782,-20 782,-14 788,-8 794,-8"/>
32
+ <text xml:space="preserve" text-anchor="middle" x="839.62" y="-136" font-family="sans-Serif" font-size="20.00" fill="#fecaca">4 · Exploit</text>
33
+ </g>
34
+ <g id="clust5" class="cluster">
35
+ <title>cluster_post</title>
36
+ <path fill="#2e1065" stroke="#6d28d9" d="M979.25,-8C979.25,-8 1068,-8 1068,-8 1074,-8 1080,-14 1080,-20 1080,-20 1080,-147 1080,-147 1080,-153 1074,-159 1068,-159 1068,-159 979.25,-159 979.25,-159 973.25,-159 967.25,-153 967.25,-147 967.25,-147 967.25,-20 967.25,-20 967.25,-14 973.25,-8 979.25,-8"/>
37
+ <text xml:space="preserve" text-anchor="middle" x="1023.62" y="-136" font-family="sans-Serif" font-size="20.00" fill="#ddd6fe">5 · Post&#45;Ex</text>
38
+ </g>
39
+ <!-- Scope -->
40
+ <g id="node1" class="node">
41
+ <title>Scope</title>
42
+ <path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M64,-86C64,-86 12,-86 12,-86 6,-86 0,-80 0,-74 0,-74 0,-62 0,-62 0,-56 6,-50 12,-50 12,-50 64,-50 64,-50 70,-50 76,-56 76,-62 76,-62 76,-74 76,-74 76,-80 70,-86 64,-86"/>
43
+ <text xml:space="preserve" text-anchor="middle" x="38" y="-70.88" font-family="sans-Serif" font-size="10.00" fill="#0f172a">🎯 &#160;Scope</text>
44
+ <text xml:space="preserve" text-anchor="middle" x="38" y="-58.12" font-family="sans-Serif" font-size="10.00" fill="#0f172a">targets · rules</text>
45
+ </g>
46
+ <!-- Shodan -->
47
+ <g id="node2" class="node">
48
+ <title>Shodan</title>
49
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M257.5,-52C257.5,-52 194.25,-52 194.25,-52 188.25,-52 182.25,-46 182.25,-40 182.25,-40 182.25,-28 182.25,-28 182.25,-22 188.25,-16 194.25,-16 194.25,-16 257.5,-16 257.5,-16 263.5,-16 269.5,-22 269.5,-28 269.5,-28 269.5,-40 269.5,-40 269.5,-46 263.5,-52 257.5,-52"/>
50
+ <text xml:space="preserve" text-anchor="middle" x="225.88" y="-36.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::Shodan</text>
51
+ <text xml:space="preserve" text-anchor="middle" x="225.88" y="-24.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Hunter · IPInfo</text>
52
+ </g>
53
+ <!-- Scope&#45;&gt;Shodan -->
54
+ <g id="edge1" class="edge">
55
+ <title>Scope&#45;&gt;Shodan</title>
56
+ <path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M76.61,-61.12C104.09,-56.09 141.7,-49.21 172.16,-43.64"/>
57
+ <polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="172.48,-46.43 179.85,-42.24 171.47,-40.92 172.48,-46.43"/>
58
+ </g>
59
+ <!-- CrtSh -->
60
+ <g id="node3" class="node">
61
+ <title>CrtSh</title>
62
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M277.75,-120C277.75,-120 174,-120 174,-120 168,-120 162,-114 162,-108 162,-108 162,-96 162,-96 162,-90 168,-84 174,-84 174,-84 277.75,-84 277.75,-84 283.75,-84 289.75,-90 289.75,-96 289.75,-96 289.75,-108 289.75,-108 289.75,-114 283.75,-120 277.75,-120"/>
63
+ <text xml:space="preserve" text-anchor="middle" x="225.88" y="-104.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">bin/pwn_crt_sh</text>
64
+ <text xml:space="preserve" text-anchor="middle" x="225.88" y="-92.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">WWW::WaybackMachine</text>
65
+ </g>
66
+ <!-- Scope&#45;&gt;CrtSh -->
67
+ <g id="edge2" class="edge">
68
+ <title>Scope&#45;&gt;CrtSh</title>
69
+ <path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M76.61,-74.88C98.25,-78.84 126.17,-83.95 151.94,-88.66"/>
70
+ <polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="151.39,-91.4 159.76,-90.09 152.39,-85.9 151.39,-91.4"/>
71
+ </g>
72
+ <!-- Nmap -->
73
+ <g id="node4" class="node">
74
+ <title>Nmap</title>
75
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M476.25,-52C476.25,-52 399.5,-52 399.5,-52 393.5,-52 387.5,-46 387.5,-40 387.5,-40 387.5,-28 387.5,-28 387.5,-22 393.5,-16 399.5,-16 399.5,-16 476.25,-16 476.25,-16 482.25,-16 488.25,-22 488.25,-28 488.25,-28 488.25,-40 488.25,-40 488.25,-46 482.25,-52 476.25,-52"/>
76
+ <text xml:space="preserve" text-anchor="middle" x="437.88" y="-36.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::NmapIt</text>
77
+ <text xml:space="preserve" text-anchor="middle" x="437.88" y="-24.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">TCP/UDP discover</text>
78
+ </g>
79
+ <!-- Shodan&#45;&gt;Nmap -->
80
+ <g id="edge3" class="edge">
81
+ <title>Shodan&#45;&gt;Nmap</title>
82
+ <path fill="none" stroke="#34d399" stroke-width="1.3" d="M270.13,-34C301.06,-34 343.07,-34 377.18,-34"/>
83
+ <polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="377.07,-36.8 385.07,-34 377.07,-31.2 377.07,-36.8"/>
84
+ </g>
85
+ <!-- Spider -->
86
+ <g id="node5" class="node">
87
+ <title>Spider</title>
88
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M477.75,-120C477.75,-120 398,-120 398,-120 392,-120 386,-114 386,-108 386,-108 386,-96 386,-96 386,-90 392,-84 398,-84 398,-84 477.75,-84 477.75,-84 483.75,-84 489.75,-90 489.75,-96 489.75,-96 489.75,-108 489.75,-108 489.75,-114 483.75,-120 477.75,-120"/>
89
+ <text xml:space="preserve" text-anchor="middle" x="437.88" y="-104.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::Spider</text>
90
+ <text xml:space="preserve" text-anchor="middle" x="437.88" y="-92.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">TransparentBrowser</text>
91
+ </g>
92
+ <!-- CrtSh&#45;&gt;Spider -->
93
+ <g id="edge4" class="edge">
94
+ <title>CrtSh&#45;&gt;Spider</title>
95
+ <path fill="none" stroke="#34d399" stroke-width="1.3" d="M290.17,-102C317.38,-102 349.05,-102 375.99,-102"/>
96
+ <polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="375.72,-104.8 383.72,-102 375.72,-99.2 375.72,-104.8"/>
97
+ </g>
98
+ <!-- Burp -->
99
+ <g id="node6" class="node">
100
+ <title>Burp</title>
101
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M681.5,-120C681.5,-120 608.5,-120 608.5,-120 602.5,-120 596.5,-114 596.5,-108 596.5,-108 596.5,-96 596.5,-96 596.5,-90 602.5,-84 608.5,-84 608.5,-84 681.5,-84 681.5,-84 687.5,-84 693.5,-90 693.5,-96 693.5,-96 693.5,-108 693.5,-108 693.5,-114 687.5,-120 681.5,-120"/>
102
+ <text xml:space="preserve" text-anchor="middle" x="645" y="-104.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::BurpSuite</text>
103
+ <text xml:space="preserve" text-anchor="middle" x="645" y="-92.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">active scan</text>
104
+ </g>
105
+ <!-- Nmap&#45;&gt;Burp -->
106
+ <g id="edge5" class="edge">
107
+ <title>Nmap&#45;&gt;Burp</title>
108
+ <path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M488.79,-50.55C518.35,-60.35 555.9,-72.8 586.67,-82.99"/>
109
+ <polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="585.64,-85.6 594.12,-85.46 587.4,-80.29 585.64,-85.6"/>
110
+ </g>
111
+ <!-- Nessus -->
112
+ <g id="node7" class="node">
113
+ <title>Nessus</title>
114
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M686,-52C686,-52 604,-52 604,-52 598,-52 592,-46 592,-40 592,-40 592,-28 592,-28 592,-22 598,-16 604,-16 604,-16 686,-16 686,-16 692,-16 698,-22 698,-28 698,-28 698,-40 698,-40 698,-46 692,-52 686,-52"/>
115
+ <text xml:space="preserve" text-anchor="middle" x="645" y="-36.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">NessusCloud</text>
116
+ <text xml:space="preserve" text-anchor="middle" x="645" y="-24.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">OpenVAS · Nexpose</text>
117
+ </g>
118
+ <!-- Nmap&#45;&gt;Nessus -->
119
+ <g id="edge6" class="edge">
120
+ <title>Nmap&#45;&gt;Nessus</title>
121
+ <path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M488.79,-34C516.81,-34 552.03,-34 581.83,-34"/>
122
+ <polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="581.74,-36.8 589.74,-34 581.74,-31.2 581.74,-36.8"/>
123
+ </g>
124
+ <!-- Spider&#45;&gt;Burp -->
125
+ <g id="edge7" class="edge">
126
+ <title>Spider&#45;&gt;Burp</title>
127
+ <path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M490.37,-102C519.48,-102 555.96,-102 586.06,-102"/>
128
+ <polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="586.04,-104.8 594.04,-102 586.04,-99.2 586.04,-104.8"/>
129
+ </g>
130
+ <!-- MSF -->
131
+ <g id="node8" class="node">
132
+ <title>MSF</title>
133
+ <path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M877.25,-120C877.25,-120 802,-120 802,-120 796,-120 790,-114 790,-108 790,-108 790,-96 790,-96 790,-90 796,-84 802,-84 802,-84 877.25,-84 877.25,-84 883.25,-84 889.25,-90 889.25,-96 889.25,-96 889.25,-108 889.25,-108 889.25,-114 883.25,-120 877.25,-120"/>
134
+ <text xml:space="preserve" text-anchor="middle" x="839.62" y="-98.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::Metasploit</text>
135
+ </g>
136
+ <!-- Burp&#45;&gt;MSF -->
137
+ <g id="edge8" class="edge">
138
+ <title>Burp&#45;&gt;MSF</title>
139
+ <path fill="none" stroke="#fb7185" stroke-width="1.3" d="M694.11,-102C720.01,-102 752.18,-102 779.59,-102"/>
140
+ <polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="779.49,-104.8 787.49,-102 779.49,-99.2 779.49,-104.8"/>
141
+ </g>
142
+ <!-- Fuzz -->
143
+ <g id="node9" class="node">
144
+ <title>Fuzz</title>
145
+ <path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M866.75,-52C866.75,-52 812.5,-52 812.5,-52 806.5,-52 800.5,-46 800.5,-40 800.5,-40 800.5,-28 800.5,-28 800.5,-22 806.5,-16 812.5,-16 812.5,-16 866.75,-16 866.75,-16 872.75,-16 878.75,-22 878.75,-28 878.75,-28 878.75,-40 878.75,-40 878.75,-46 872.75,-52 866.75,-52"/>
146
+ <text xml:space="preserve" text-anchor="middle" x="839.62" y="-36.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::Fuzz</text>
147
+ <text xml:space="preserve" text-anchor="middle" x="839.62" y="-24.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Packet · Sock</text>
148
+ </g>
149
+ <!-- Nessus&#45;&gt;Fuzz -->
150
+ <g id="edge9" class="edge">
151
+ <title>Nessus&#45;&gt;Fuzz</title>
152
+ <path fill="none" stroke="#fb7185" stroke-width="1.3" d="M698.64,-34C727.21,-34 762.29,-34 790.18,-34"/>
153
+ <polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="790.14,-36.8 798.14,-34 790.14,-31.2 790.14,-36.8"/>
154
+ </g>
155
+ <!-- Beef -->
156
+ <g id="node10" class="node">
157
+ <title>Beef</title>
158
+ <path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M1052.5,-120C1052.5,-120 993.75,-120 993.75,-120 987.75,-120 981.75,-114 981.75,-108 981.75,-108 981.75,-96 981.75,-96 981.75,-90 987.75,-84 993.75,-84 993.75,-84 1052.5,-84 1052.5,-84 1058.5,-84 1064.5,-90 1064.5,-96 1064.5,-96 1064.5,-108 1064.5,-108 1064.5,-114 1058.5,-120 1052.5,-120"/>
159
+ <text xml:space="preserve" text-anchor="middle" x="1023.12" y="-104.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::BeEF</text>
160
+ <text xml:space="preserve" text-anchor="middle" x="1023.12" y="-92.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Android · Serial</text>
161
+ </g>
162
+ <!-- MSF&#45;&gt;Beef -->
163
+ <g id="edge10" class="edge">
164
+ <title>MSF&#45;&gt;Beef</title>
165
+ <path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M889.74,-102C915.04,-102 945.86,-102 971.39,-102"/>
166
+ <polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="971.28,-104.8 979.28,-102 971.28,-99.2 971.28,-104.8"/>
167
+ </g>
168
+ <!-- Tor -->
169
+ <g id="node11" class="node">
170
+ <title>Tor</title>
171
+ <path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M1045,-52C1045,-52 1001.25,-52 1001.25,-52 995.25,-52 989.25,-46 989.25,-40 989.25,-40 989.25,-28 989.25,-28 989.25,-22 995.25,-16 1001.25,-16 1001.25,-16 1045,-16 1045,-16 1051,-16 1057,-22 1057,-28 1057,-28 1057,-40 1057,-40 1057,-46 1051,-52 1045,-52"/>
172
+ <text xml:space="preserve" text-anchor="middle" x="1023.12" y="-36.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::Tor</text>
173
+ <text xml:space="preserve" text-anchor="middle" x="1023.12" y="-24.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">pivot / exfil</text>
174
+ </g>
175
+ <!-- Fuzz&#45;&gt;Tor -->
176
+ <g id="edge11" class="edge">
177
+ <title>Fuzz&#45;&gt;Tor</title>
178
+ <path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M879.12,-34C908.38,-34 948.64,-34 978.99,-34"/>
179
+ <polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="978.9,-36.8 986.9,-34 978.9,-31.2 978.9,-36.8"/>
180
+ </g>
181
+ <!-- Report -->
182
+ <g id="node12" class="node">
183
+ <title>Report</title>
184
+ <path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M1282.75,-86C1282.75,-86 1170,-86 1170,-86 1164,-86 1158,-80 1158,-74 1158,-74 1158,-62 1158,-62 1158,-56 1164,-50 1170,-50 1170,-50 1282.75,-50 1282.75,-50 1288.75,-50 1294.75,-56 1294.75,-62 1294.75,-62 1294.75,-74 1294.75,-74 1294.75,-80 1288.75,-86 1282.75,-86"/>
185
+ <text xml:space="preserve" text-anchor="middle" x="1226.38" y="-70.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">PWN::Reports</text>
186
+ <text xml:space="preserve" text-anchor="middle" x="1226.38" y="-58.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">HTML · JSON · DefectDojo</text>
187
+ </g>
188
+ <!-- Beef&#45;&gt;Report -->
189
+ <g id="edge12" class="edge">
190
+ <title>Beef&#45;&gt;Report</title>
191
+ <path fill="none" stroke="#38bdf8" stroke-width="2" d="M1064.85,-95.12C1088.38,-91.15 1118.77,-86.01 1146.77,-81.28"/>
192
+ <polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="1146.96,-84.09 1154.38,-79.99 1146.03,-78.57 1146.96,-84.09"/>
193
+ </g>
194
+ <!-- Tor&#45;&gt;Report -->
195
+ <g id="edge13" class="edge">
196
+ <title>Tor&#45;&gt;Report</title>
197
+ <path fill="none" stroke="#38bdf8" stroke-width="2" d="M1057.36,-39.61C1081.63,-43.71 1115.57,-49.45 1146.6,-54.69"/>
198
+ <polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="1146.1,-57.45 1154.45,-56.02 1147.03,-51.92 1146.1,-57.45"/>
199
+ </g>
200
+ </g>
201
+ </svg>
@@ -0,0 +1,276 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <!-- Generated by graphviz version 14.1.2 (0)
5
+ -->
6
+ <!-- Title: PWN_Plugins Pages: 1 -->
7
+ <svg width="623pt" height="672pt"
8
+ viewBox="0.00 0.00 623.00 672.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 628.45)">
10
+ <title>PWN_Plugins</title>
11
+ <polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-628.45 580.2,-628.45 580.2,43.2 -43.2,43.2"/>
12
+ <text xml:space="preserve" text-anchor="start" x="73.5" y="-563.25" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">PWN::Plugins — 66 Modules by Category</text>
13
+ <g id="clust1" class="cluster">
14
+ <title>cluster_cat</title>
15
+ </g>
16
+ <!-- Root -->
17
+ <g id="node1" class="node">
18
+ <title>Root</title>
19
+ <path fill="#7dd3fc" stroke="#334155" stroke-width="2" d="M88,-295C88,-295 12,-295 12,-295 6,-295 0,-289 0,-283 0,-283 0,-271 0,-271 0,-265 6,-259 12,-259 12,-259 88,-259 88,-259 94,-259 100,-265 100,-271 100,-271 100,-283 100,-283 100,-289 94,-295 88,-295"/>
20
+ <text xml:space="preserve" text-anchor="middle" x="50" y="-271.57" font-family="sans-Serif" font-size="14.00" fill="#0f172a">PWN::Plugins</text>
21
+ </g>
22
+ <!-- Web -->
23
+ <g id="node2" class="node">
24
+ <title>Web</title>
25
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.2" d="M260.75,-538C260.75,-538 220,-538 220,-538 214,-538 208,-532 208,-526 208,-526 208,-514 208,-514 208,-508 214,-502 220,-502 220,-502 260.75,-502 260.75,-502 266.75,-502 272.75,-508 272.75,-514 272.75,-514 272.75,-526 272.75,-526 272.75,-532 266.75,-538 260.75,-538"/>
26
+ <text xml:space="preserve" text-anchor="middle" x="240.38" y="-516.7" font-family="sans-Serif" font-size="9.00" fill="#0f172a">Web / Proxy</text>
27
+ </g>
28
+ <!-- Root&#45;&gt;Web -->
29
+ <g id="edge1" class="edge">
30
+ <title>Root&#45;&gt;Web</title>
31
+ <path fill="none" stroke="#94a3b8" d="M60.81,-295.73C82.2,-335.4 136.29,-429.47 200,-493 201.43,-494.43 202.95,-495.83 204.52,-497.19"/>
32
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="202.88,-498.57 208.86,-500.73 205.53,-495.31 202.88,-498.57"/>
33
+ </g>
34
+ <!-- Net -->
35
+ <g id="node3" class="node">
36
+ <title>Net</title>
37
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.2" d="M255.38,-484C255.38,-484 225.38,-484 225.38,-484 219.38,-484 213.38,-478 213.38,-472 213.38,-472 213.38,-460 213.38,-460 213.38,-454 219.38,-448 225.38,-448 225.38,-448 255.38,-448 255.38,-448 261.38,-448 267.38,-454 267.38,-460 267.38,-460 267.38,-472 267.38,-472 267.38,-478 261.38,-484 255.38,-484"/>
38
+ <text xml:space="preserve" text-anchor="middle" x="240.38" y="-462.7" font-family="sans-Serif" font-size="9.00" fill="#0f172a">Network</text>
39
+ </g>
40
+ <!-- Root&#45;&gt;Net -->
41
+ <g id="edge2" class="edge">
42
+ <title>Root&#45;&gt;Net</title>
43
+ <path fill="none" stroke="#94a3b8" d="M65.87,-295.76C91.39,-327.33 146,-392.2 200,-439 202.25,-440.95 204.65,-442.89 207.11,-444.78"/>
44
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="205.63,-446.3 211.7,-448.18 208.13,-442.92 205.63,-446.3"/>
45
+ </g>
46
+ <!-- Xpl -->
47
+ <g id="node4" class="node">
48
+ <title>Xpl</title>
49
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.2" d="M260.38,-430C260.38,-430 220.38,-430 220.38,-430 214.38,-430 208.38,-424 208.38,-418 208.38,-418 208.38,-406 208.38,-406 208.38,-400 214.38,-394 220.38,-394 220.38,-394 260.38,-394 260.38,-394 266.38,-394 272.38,-400 272.38,-406 272.38,-406 272.38,-418 272.38,-418 272.38,-424 266.38,-430 260.38,-430"/>
50
+ <text xml:space="preserve" text-anchor="middle" x="240.38" y="-408.7" font-family="sans-Serif" font-size="9.00" fill="#0f172a">Exploitation</text>
51
+ </g>
52
+ <!-- Root&#45;&gt;Xpl -->
53
+ <g id="edge3" class="edge">
54
+ <title>Root&#45;&gt;Xpl</title>
55
+ <path fill="none" stroke="#94a3b8" d="M76.69,-295.94C106.27,-317.66 156.4,-354.25 200,-385 201.96,-386.39 203.99,-387.8 206.04,-389.23"/>
56
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="204.83,-390.95 210.95,-392.64 207.22,-387.49 204.83,-390.95"/>
57
+ </g>
58
+ <!-- Osint -->
59
+ <g id="node5" class="node">
60
+ <title>Osint</title>
61
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.2" d="M255.38,-376C255.38,-376 225.38,-376 225.38,-376 219.38,-376 213.38,-370 213.38,-364 213.38,-364 213.38,-352 213.38,-352 213.38,-346 219.38,-340 225.38,-340 225.38,-340 255.38,-340 255.38,-340 261.38,-340 267.38,-346 267.38,-352 267.38,-352 267.38,-364 267.38,-364 267.38,-370 261.38,-376 255.38,-376"/>
62
+ <text xml:space="preserve" text-anchor="middle" x="240.38" y="-354.7" font-family="sans-Serif" font-size="9.00" fill="#0f172a">OSINT</text>
63
+ </g>
64
+ <!-- Root&#45;&gt;Osint -->
65
+ <g id="edge4" class="edge">
66
+ <title>Root&#45;&gt;Osint</title>
67
+ <path fill="none" stroke="#94a3b8" d="M95.17,-295.99C129.14,-310.6 175.33,-330.46 206.19,-343.73"/>
68
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="205.19,-345.59 211.53,-346.03 206.85,-341.73 205.19,-345.59"/>
69
+ </g>
70
+ <!-- Data -->
71
+ <g id="node6" class="node">
72
+ <title>Data</title>
73
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.2" d="M259.25,-322C259.25,-322 221.5,-322 221.5,-322 215.5,-322 209.5,-316 209.5,-310 209.5,-310 209.5,-298 209.5,-298 209.5,-292 215.5,-286 221.5,-286 221.5,-286 259.25,-286 259.25,-286 265.25,-286 271.25,-292 271.25,-298 271.25,-298 271.25,-310 271.25,-310 271.25,-316 265.25,-322 259.25,-322"/>
74
+ <text xml:space="preserve" text-anchor="middle" x="240.38" y="-300.7" font-family="sans-Serif" font-size="9.00" fill="#0f172a">Data / DAO</text>
75
+ </g>
76
+ <!-- Root&#45;&gt;Data -->
77
+ <g id="edge5" class="edge">
78
+ <title>Root&#45;&gt;Data</title>
79
+ <path fill="none" stroke="#94a3b8" d="M100.99,-284.16C132.64,-288.7 172.9,-294.47 201.83,-298.62"/>
80
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="201.19,-300.65 207.43,-299.42 201.79,-296.49 201.19,-300.65"/>
81
+ </g>
82
+ <!-- Auth -->
83
+ <g id="node7" class="node">
84
+ <title>Auth</title>
85
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.2" d="M255.38,-268C255.38,-268 225.38,-268 225.38,-268 219.38,-268 213.38,-262 213.38,-256 213.38,-256 213.38,-244 213.38,-244 213.38,-238 219.38,-232 225.38,-232 225.38,-232 255.38,-232 255.38,-232 261.38,-232 267.38,-238 267.38,-244 267.38,-244 267.38,-256 267.38,-256 267.38,-262 261.38,-268 255.38,-268"/>
86
+ <text xml:space="preserve" text-anchor="middle" x="240.38" y="-246.7" font-family="sans-Serif" font-size="9.00" fill="#0f172a">Auth</text>
87
+ </g>
88
+ <!-- Root&#45;&gt;Auth -->
89
+ <g id="edge6" class="edge">
90
+ <title>Root&#45;&gt;Auth</title>
91
+ <path fill="none" stroke="#94a3b8" d="M100.99,-269.84C134.15,-265.08 176.76,-258.98 205.88,-254.8"/>
92
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="205.84,-256.93 211.48,-254 205.25,-252.77 205.84,-256.93"/>
93
+ </g>
94
+ <!-- HW -->
95
+ <g id="node8" class="node">
96
+ <title>HW</title>
97
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.2" d="M256.62,-214C256.62,-214 224.12,-214 224.12,-214 218.12,-214 212.12,-208 212.12,-202 212.12,-202 212.12,-190 212.12,-190 212.12,-184 218.12,-178 224.12,-178 224.12,-178 256.62,-178 256.62,-178 262.62,-178 268.62,-184 268.62,-190 268.62,-190 268.62,-202 268.62,-202 268.62,-208 262.62,-214 256.62,-214"/>
98
+ <text xml:space="preserve" text-anchor="middle" x="240.38" y="-192.7" font-family="sans-Serif" font-size="9.00" fill="#0f172a">Hardware</text>
99
+ </g>
100
+ <!-- Root&#45;&gt;HW -->
101
+ <g id="edge7" class="edge">
102
+ <title>Root&#45;&gt;HW</title>
103
+ <path fill="none" stroke="#94a3b8" d="M95.17,-258.01C128.63,-243.62 173.96,-224.13 204.81,-210.86"/>
104
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="205.47,-212.86 210.16,-208.56 203.81,-209.01 205.47,-212.86"/>
105
+ </g>
106
+ <!-- CI -->
107
+ <g id="node9" class="node">
108
+ <title>CI</title>
109
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.2" d="M260.75,-160C260.75,-160 220,-160 220,-160 214,-160 208,-154 208,-148 208,-148 208,-136 208,-136 208,-130 214,-124 220,-124 220,-124 260.75,-124 260.75,-124 266.75,-124 272.75,-130 272.75,-136 272.75,-136 272.75,-148 272.75,-148 272.75,-154 266.75,-160 260.75,-160"/>
110
+ <text xml:space="preserve" text-anchor="middle" x="240.38" y="-138.7" font-family="sans-Serif" font-size="9.00" fill="#0f172a">CI / DevOps</text>
111
+ </g>
112
+ <!-- Root&#45;&gt;CI -->
113
+ <g id="edge8" class="edge">
114
+ <title>Root&#45;&gt;CI</title>
115
+ <path fill="none" stroke="#94a3b8" d="M76.69,-258.06C106.27,-236.34 156.4,-199.75 200,-169 201.96,-167.61 203.99,-166.2 206.04,-164.77"/>
116
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="207.22,-166.51 210.95,-161.36 204.83,-163.05 207.22,-166.51"/>
117
+ </g>
118
+ <!-- Comm -->
119
+ <g id="node10" class="node">
120
+ <title>Comm</title>
121
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.2" d="M255.38,-106C255.38,-106 225.38,-106 225.38,-106 219.38,-106 213.38,-100 213.38,-94 213.38,-94 213.38,-82 213.38,-82 213.38,-76 219.38,-70 225.38,-70 225.38,-70 255.38,-70 255.38,-70 261.38,-70 267.38,-76 267.38,-82 267.38,-82 267.38,-94 267.38,-94 267.38,-100 261.38,-106 255.38,-106"/>
122
+ <text xml:space="preserve" text-anchor="middle" x="240.38" y="-84.7" font-family="sans-Serif" font-size="9.00" fill="#0f172a">Comms</text>
123
+ </g>
124
+ <!-- Root&#45;&gt;Comm -->
125
+ <g id="edge9" class="edge">
126
+ <title>Root&#45;&gt;Comm</title>
127
+ <path fill="none" stroke="#94a3b8" d="M65.87,-258.24C91.39,-226.67 146,-161.8 200,-115 202.25,-113.05 204.65,-111.11 207.11,-109.22"/>
128
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="208.13,-111.08 211.7,-105.82 205.63,-107.7 208.13,-111.08"/>
129
+ </g>
130
+ <!-- Util -->
131
+ <g id="node11" class="node">
132
+ <title>Util</title>
133
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.2" d="M255.38,-52C255.38,-52 225.38,-52 225.38,-52 219.38,-52 213.38,-46 213.38,-40 213.38,-40 213.38,-28 213.38,-28 213.38,-22 219.38,-16 225.38,-16 225.38,-16 255.38,-16 255.38,-16 261.38,-16 267.38,-22 267.38,-28 267.38,-28 267.38,-40 267.38,-40 267.38,-46 261.38,-52 255.38,-52"/>
134
+ <text xml:space="preserve" text-anchor="middle" x="240.38" y="-30.7" font-family="sans-Serif" font-size="9.00" fill="#0f172a">Utility</text>
135
+ </g>
136
+ <!-- Root&#45;&gt;Util -->
137
+ <g id="edge10" class="edge">
138
+ <title>Root&#45;&gt;Util</title>
139
+ <path fill="none" stroke="#94a3b8" d="M60.81,-258.27C82.2,-218.6 136.29,-124.53 200,-61 202.18,-58.83 204.55,-56.72 207.02,-54.7"/>
140
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="208.24,-56.41 211.71,-51.08 205.67,-53.09 208.24,-56.41"/>
141
+ </g>
142
+ <!-- w -->
143
+ <g id="node12" class="node">
144
+ <title>w</title>
145
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.2" d="M513.38,-542.12C513.38,-542.12 404.38,-542.12 404.38,-542.12 398.38,-542.12 392.38,-536.12 392.38,-530.12 392.38,-530.12 392.38,-513.88 392.38,-513.88 392.38,-507.88 398.38,-501.88 404.38,-501.88 404.38,-501.88 513.38,-501.88 513.38,-501.88 519.38,-501.88 525.38,-507.88 525.38,-513.88 525.38,-513.88 525.38,-530.12 525.38,-530.12 525.38,-536.12 519.38,-542.12 513.38,-542.12"/>
146
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-529.58" font-family="sans-Serif" font-size="9.00" fill="#0f172a">BurpSuite ⭐ · Zaproxy</text>
147
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-518.33" font-family="sans-Serif" font-size="9.00" fill="#0f172a">TransparentBrowser · Spider</text>
148
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-507.82" font-family="sans-Serif" font-size="9.00" fill="#0f172a">OpenAPI · URIScheme</text>
149
+ </g>
150
+ <!-- Web&#45;&gt;w -->
151
+ <g id="edge11" class="edge">
152
+ <title>Web&#45;&gt;w</title>
153
+ <path fill="none" stroke="#94a3b8" d="M273.32,-520.3C302.43,-520.56 346.52,-520.97 384.31,-521.32"/>
154
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="384.25,-523.42 390.26,-521.38 384.28,-519.22 384.25,-523.42"/>
155
+ </g>
156
+ <!-- n -->
157
+ <g id="node13" class="node">
158
+ <title>n</title>
159
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.2" d="M500.25,-484C500.25,-484 417.5,-484 417.5,-484 411.5,-484 405.5,-478 405.5,-472 405.5,-472 405.5,-460 405.5,-460 405.5,-454 411.5,-448 417.5,-448 417.5,-448 500.25,-448 500.25,-448 506.25,-448 512.25,-454 512.25,-460 512.25,-460 512.25,-472 512.25,-472 512.25,-478 506.25,-484 500.25,-484"/>
160
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-467.95" font-family="sans-Serif" font-size="9.00" fill="#0f172a">NmapIt · Sock · Packet</text>
161
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-457.45" font-family="sans-Serif" font-size="9.00" fill="#0f172a">Tor · IPInfo</text>
162
+ </g>
163
+ <!-- Net&#45;&gt;n -->
164
+ <g id="edge12" class="edge">
165
+ <title>Net&#45;&gt;n</title>
166
+ <path fill="none" stroke="#94a3b8" d="M267.92,-466C300.05,-466 355.14,-466 397.74,-466"/>
167
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="397.49,-468.1 403.49,-466 397.49,-463.9 397.49,-468.1"/>
168
+ </g>
169
+ <!-- x -->
170
+ <g id="node14" class="node">
171
+ <title>x</title>
172
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.2" d="M489.38,-430C489.38,-430 428.38,-430 428.38,-430 422.38,-430 416.38,-424 416.38,-418 416.38,-418 416.38,-406 416.38,-406 416.38,-400 422.38,-394 428.38,-394 428.38,-394 489.38,-394 489.38,-394 495.38,-394 501.38,-400 501.38,-406 501.38,-406 501.38,-418 501.38,-418 501.38,-424 495.38,-430 489.38,-430"/>
173
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-413.95" font-family="sans-Serif" font-size="9.00" fill="#0f172a">Metasploit · Fuzz</text>
174
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-403.45" font-family="sans-Serif" font-size="9.00" fill="#0f172a">BeEF · Assembly</text>
175
+ </g>
176
+ <!-- Xpl&#45;&gt;x -->
177
+ <g id="edge13" class="edge">
178
+ <title>Xpl&#45;&gt;x</title>
179
+ <path fill="none" stroke="#94a3b8" d="M272.86,-412C308.48,-412 366.96,-412 408.63,-412"/>
180
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="408.44,-414.1 414.44,-412 408.44,-409.9 408.44,-414.1"/>
181
+ </g>
182
+ <!-- o -->
183
+ <g id="node15" class="node">
184
+ <title>o</title>
185
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.2" d="M495,-376C495,-376 422.75,-376 422.75,-376 416.75,-376 410.75,-370 410.75,-364 410.75,-364 410.75,-352 410.75,-352 410.75,-346 416.75,-340 422.75,-340 422.75,-340 495,-340 495,-340 501,-340 507,-346 507,-352 507,-352 507,-364 507,-364 507,-370 501,-376 495,-376"/>
186
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-359.95" font-family="sans-Serif" font-size="9.00" fill="#0f172a">Shodan · Hunter</text>
187
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-349.45" font-family="sans-Serif" font-size="9.00" fill="#0f172a">Github · HackerOne</text>
188
+ </g>
189
+ <!-- Osint&#45;&gt;o -->
190
+ <g id="edge14" class="edge">
191
+ <title>Osint&#45;&gt;o</title>
192
+ <path fill="none" stroke="#94a3b8" d="M267.92,-358C301.44,-358 359.94,-358 403.19,-358"/>
193
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="403.02,-360.1 409.02,-358 403.02,-355.9 403.02,-360.1"/>
194
+ </g>
195
+ <!-- d -->
196
+ <g id="node16" class="node">
197
+ <title>d</title>
198
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.2" d="M518.62,-322C518.62,-322 399.12,-322 399.12,-322 393.12,-322 387.12,-316 387.12,-310 387.12,-310 387.12,-298 387.12,-298 387.12,-292 393.12,-286 399.12,-286 399.12,-286 518.62,-286 518.62,-286 524.62,-286 530.62,-292 530.62,-298 530.62,-298 530.62,-310 530.62,-310 530.62,-316 524.62,-322 518.62,-322"/>
199
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-305.95" font-family="sans-Serif" font-size="9.00" fill="#0f172a">DAO::LDAP/Mongo/PG/SQLite</text>
200
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-295.45" font-family="sans-Serif" font-size="9.00" fill="#0f172a">JSONPathify · PDFParse · OCR</text>
201
+ </g>
202
+ <!-- Data&#45;&gt;d -->
203
+ <g id="edge15" class="edge">
204
+ <title>Data&#45;&gt;d</title>
205
+ <path fill="none" stroke="#94a3b8" d="M271.48,-304C299.25,-304 341.73,-304 379.12,-304"/>
206
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="379.01,-306.1 385.01,-304 379.01,-301.9 379.01,-306.1"/>
207
+ </g>
208
+ <!-- a -->
209
+ <g id="node17" class="node">
210
+ <title>a</title>
211
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.2" d="M511.5,-268C511.5,-268 406.25,-268 406.25,-268 400.25,-268 394.25,-262 394.25,-256 394.25,-256 394.25,-244 394.25,-244 394.25,-238 400.25,-232 406.25,-232 406.25,-232 511.5,-232 511.5,-232 517.5,-232 523.5,-238 523.5,-244 523.5,-244 523.5,-256 523.5,-256 523.5,-262 517.5,-268 511.5,-268"/>
212
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-251.95" font-family="sans-Serif" font-size="9.00" fill="#0f172a">OAuth2 · BasicAuth</text>
213
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-241.45" font-family="sans-Serif" font-size="9.00" fill="#0f172a">AuthenticationHelper · Vault</text>
214
+ </g>
215
+ <!-- Auth&#45;&gt;a -->
216
+ <g id="edge16" class="edge">
217
+ <title>Auth&#45;&gt;a</title>
218
+ <path fill="none" stroke="#94a3b8" d="M267.92,-250C297.26,-250 345.74,-250 386.38,-250"/>
219
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="386.36,-252.1 392.36,-250 386.36,-247.9 386.36,-252.1"/>
220
+ </g>
221
+ <!-- h -->
222
+ <g id="node18" class="node">
223
+ <title>h</title>
224
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.2" d="M512.62,-214C512.62,-214 405.12,-214 405.12,-214 399.12,-214 393.12,-208 393.12,-202 393.12,-202 393.12,-190 393.12,-190 393.12,-184 399.12,-178 405.12,-178 405.12,-178 512.62,-178 512.62,-178 518.62,-178 524.62,-184 524.62,-190 524.62,-190 524.62,-202 524.62,-202 524.62,-208 518.62,-214 512.62,-214"/>
225
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-197.95" font-family="sans-Serif" font-size="9.00" fill="#0f172a">Serial · BusPirate</text>
226
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-187.45" font-family="sans-Serif" font-size="9.00" fill="#0f172a">MSR206 · Android · BareSIP</text>
227
+ </g>
228
+ <!-- HW&#45;&gt;h -->
229
+ <g id="edge17" class="edge">
230
+ <title>HW&#45;&gt;h</title>
231
+ <path fill="none" stroke="#94a3b8" d="M268.79,-196C297.93,-196 345.22,-196 385.21,-196"/>
232
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="385.07,-198.1 391.07,-196 385.07,-193.9 385.07,-198.1"/>
233
+ </g>
234
+ <!-- c -->
235
+ <g id="node19" class="node">
236
+ <title>c</title>
237
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.2" d="M502.88,-160C502.88,-160 414.88,-160 414.88,-160 408.88,-160 402.88,-154 402.88,-148 402.88,-148 402.88,-136 402.88,-136 402.88,-130 408.88,-124 414.88,-124 414.88,-124 502.88,-124 502.88,-124 508.88,-124 514.88,-130 514.88,-136 514.88,-136 514.88,-148 514.88,-148 514.88,-154 508.88,-160 502.88,-160"/>
238
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-143.95" font-family="sans-Serif" font-size="9.00" fill="#0f172a">Jenkins · Git · vSphere</text>
239
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-133.45" font-family="sans-Serif" font-size="9.00" fill="#0f172a">DefectDojo · BlackDuck</text>
240
+ </g>
241
+ <!-- CI&#45;&gt;c -->
242
+ <g id="edge18" class="edge">
243
+ <title>CI&#45;&gt;c</title>
244
+ <path fill="none" stroke="#94a3b8" d="M273.32,-142C305.32,-142 355.42,-142 395.36,-142"/>
245
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="395.17,-144.1 401.17,-142 395.17,-139.9 395.17,-144.1"/>
246
+ </g>
247
+ <!-- m -->
248
+ <g id="node20" class="node">
249
+ <title>m</title>
250
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.2" d="M525,-106C525,-106 392.75,-106 392.75,-106 386.75,-106 380.75,-100 380.75,-94 380.75,-94 380.75,-82 380.75,-82 380.75,-76 386.75,-70 392.75,-70 392.75,-70 525,-70 525,-70 531,-70 537,-76 537,-82 537,-82 537,-94 537,-94 537,-100 531,-106 525,-106"/>
251
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-89.95" font-family="sans-Serif" font-size="9.00" fill="#0f172a">MailAgent · SlackClient</text>
252
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-79.45" font-family="sans-Serif" font-size="9.00" fill="#0f172a">IRC · RabbitMQ · TwitterAPI · Voice</text>
253
+ </g>
254
+ <!-- Comm&#45;&gt;m -->
255
+ <g id="edge19" class="edge">
256
+ <title>Comm&#45;&gt;m</title>
257
+ <path fill="none" stroke="#94a3b8" d="M267.92,-88C294.07,-88 335.42,-88 372.87,-88"/>
258
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="372.79,-90.1 378.79,-88 372.79,-85.9 372.79,-90.1"/>
259
+ </g>
260
+ <!-- u -->
261
+ <g id="node21" class="node">
262
+ <title>u</title>
263
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.2" d="M516.38,-52C516.38,-52 401.38,-52 401.38,-52 395.38,-52 389.38,-46 389.38,-40 389.38,-40 389.38,-14 389.38,-14 389.38,-8 395.38,-2 401.38,-2 401.38,-2 516.38,-2 516.38,-2 522.38,-2 528.38,-8 528.38,-14 528.38,-14 528.38,-40 528.38,-40 528.38,-46 522.38,-52 516.38,-52"/>
264
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-39.45" font-family="sans-Serif" font-size="9.00" fill="#0f172a">FileFu · ThreadPool · Log</text>
265
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-28.95" font-family="sans-Serif" font-size="9.00" fill="#0f172a">Char · XXD · DetectOS</text>
266
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-18.45" font-family="sans-Serif" font-size="9.00" fill="#0f172a">ScannableCodes · CreditCard</text>
267
+ <text xml:space="preserve" text-anchor="middle" x="458.88" y="-7.95" font-family="sans-Serif" font-size="9.00" fill="#0f172a">SSN · EIN · VIN · Pony · PS</text>
268
+ </g>
269
+ <!-- Util&#45;&gt;u -->
270
+ <g id="edge20" class="edge">
271
+ <title>Util&#45;&gt;u</title>
272
+ <path fill="none" stroke="#94a3b8" d="M267.92,-33.14C296.09,-32.23 341.91,-30.75 381.48,-29.47"/>
273
+ <polygon fill="#94a3b8" stroke="#94a3b8" points="381.35,-31.58 387.28,-29.28 381.22,-27.38 381.35,-31.58"/>
274
+ </g>
275
+ </g>
276
+ </svg>