pwn 0.5.779 → 0.5.781
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +3 -3
- data/documentation/AI-Integration.md +4 -4
- data/documentation/AWS.md +10 -9
- data/documentation/Agent-Tool-Registry.md +20 -17
- data/documentation/Blockchain.md +3 -2
- data/documentation/Bounty.md +8 -6
- data/documentation/BurpSuite.md +6 -10
- data/documentation/CLI-Drivers.md +7 -4
- data/documentation/Capability-Broker-Sandbox.md +1 -1
- data/documentation/Configuration.md +23 -15
- data/documentation/Contributing.md +3 -3
- data/documentation/Cron.md +3 -2
- data/documentation/Diagrams.md +9 -3
- data/documentation/Drivers.md +12 -6
- data/documentation/Extrospection.md +25 -5
- data/documentation/FFI.md +15 -25
- data/documentation/Fuzzing.md +13 -13
- data/documentation/General-PWN-Usage.md +7 -4
- data/documentation/Harness-Evaluation.md +90 -3
- data/documentation/Home.md +6 -5
- data/documentation/How-PWN-Works.md +9 -10
- data/documentation/Installation.md +12 -11
- data/documentation/Metasploit.md +13 -19
- data/documentation/Mistakes.md +2 -2
- data/documentation/NmapIt.md +6 -3
- data/documentation/Operability.md +99 -0
- data/documentation/Persistence.md +3 -2
- data/documentation/Plugin-Degradation.md +4 -2
- data/documentation/Plugins.md +4 -11
- data/documentation/Policy-Benchmark.md +4 -0
- data/documentation/Reinforcement-Learning.md +19 -3
- data/documentation/Reporting.md +6 -5
- data/documentation/SAST.md +15 -10
- data/documentation/SDR-Decoder-Coverage.md +10 -4
- data/documentation/SDR.md +28 -40
- data/documentation/Session-Workflow.md +25 -12
- data/documentation/Sessions.md +7 -0
- data/documentation/Skills-Memory-Learning.md +11 -4
- data/documentation/Swarm.md +6 -0
- data/documentation/Transparent-Browser.md +1 -1
- data/documentation/Troubleshooting.md +6 -3
- data/documentation/What-is-PWN.md +4 -4
- data/documentation/Why-PWN.md +1 -1
- data/documentation/diagrams/agent-tool-registry.svg +219 -180
- data/documentation/diagrams/ai-integration-tool-calling.svg +35 -34
- data/documentation/diagrams/code-scanning-sast.svg +78 -78
- data/documentation/diagrams/cron-scheduling.svg +165 -145
- data/documentation/diagrams/dot/_THEME.md +6 -4
- data/documentation/diagrams/dot/agent-tool-registry.dot +6 -2
- data/documentation/diagrams/dot/ai-integration-tool-calling.dot +1 -1
- data/documentation/diagrams/dot/code-scanning-sast.dot +8 -8
- data/documentation/diagrams/dot/cron-scheduling.dot +2 -0
- data/documentation/diagrams/dot/driver-framework.dot +1 -1
- data/documentation/diagrams/dot/extrospection-world-awareness.dot +2 -2
- data/documentation/diagrams/dot/fuzzing-workflow.dot +3 -3
- data/documentation/diagrams/dot/history-to-drivers.dot +1 -1
- data/documentation/diagrams/dot/memory-skills-detailed.dot +3 -3
- data/documentation/diagrams/dot/mistakes-negative-feedback.dot +2 -2
- data/documentation/diagrams/dot/overall-pwn-architecture.dot +33 -121
- data/documentation/diagrams/dot/persistence-filesystem.dot +2 -2
- data/documentation/diagrams/dot/plugin-ecosystem.dot +2 -2
- data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +31 -167
- data/documentation/diagrams/dot/pwn-repl-prototyping.dot +1 -1
- data/documentation/diagrams/dot/reinforcement-learning.dot +15 -7
- data/documentation/diagrams/dot/reporting-pipeline.dot +5 -3
- data/documentation/diagrams/dot/reverse-engineering-flow.dot +3 -3
- data/documentation/diagrams/dot/sdr-radio-flow.dot +5 -5
- data/documentation/diagrams/dot/sessions-cron-automation.dot +1 -1
- data/documentation/diagrams/dot/swarm-multi-agent.dot +3 -3
- data/documentation/diagrams/dot/task-summarizer.dot +2 -2
- data/documentation/diagrams/dot/web-application-testing.dot +4 -3
- data/documentation/diagrams/dot/zero-day-research-flow.dot +4 -3
- data/documentation/diagrams/driver-framework.svg +1 -1
- data/documentation/diagrams/extrospection-world-awareness.svg +178 -178
- data/documentation/diagrams/fuzzing-workflow.svg +58 -58
- data/documentation/diagrams/history-to-drivers.svg +42 -42
- data/documentation/diagrams/memory-skills-detailed.svg +210 -210
- data/documentation/diagrams/mistakes-negative-feedback.svg +116 -116
- data/documentation/diagrams/overall-pwn-architecture.svg +248 -404
- data/documentation/diagrams/persistence-filesystem.svg +143 -143
- data/documentation/diagrams/plugin-ecosystem.svg +100 -100
- data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +233 -752
- data/documentation/diagrams/pwn-repl-prototyping.svg +27 -27
- data/documentation/diagrams/reinforcement-learning.svg +295 -221
- data/documentation/diagrams/reporting-pipeline.svg +94 -80
- data/documentation/diagrams/reverse-engineering-flow.svg +31 -31
- data/documentation/diagrams/sdr-radio-flow.svg +157 -155
- data/documentation/diagrams/sessions-cron-automation.svg +13 -13
- data/documentation/diagrams/swarm-multi-agent.svg +86 -86
- data/documentation/diagrams/task-summarizer.svg +57 -57
- data/documentation/diagrams/web-application-testing.svg +81 -75
- data/documentation/diagrams/zero-day-research-flow.svg +101 -92
- data/documentation/pwn-REPL.md +5 -3
- data/documentation/pwn-ai-Agent.md +18 -14
- data/documentation/pwn_silent_help_learn_demo.gif +0 -0
- data/etc/default_skills/pwn/ai/agent/learning/SKILL.md +1 -0
- data/lib/pwn/ai/agent/learning.rb +46 -1
- data/lib/pwn/ai/agent/loop.rb +6 -3
- data/lib/pwn/ai/agent/policy_evaluation.rb +5 -1
- data/lib/pwn/ai/agent/reward.rb +9 -0
- data/lib/pwn/version.rb +1 -1
- data/spec/fixtures/harness/completion_regressions.json +10 -0
- data/spec/fixtures/harness/completion_regressions.json.sha256 +1 -0
- data/spec/integration/harness_evaluation_spec.rb +13 -0
- data/spec/lib/pwn/ai/agent/learning_spec.rb +22 -0
- data/spec/lib/pwn/ai/agent/loop_spec.rb +39 -0
- data/spec/lib/pwn/ai/agent/policy_evaluation_spec.rb +6 -1
- data/spec/lib/pwn/ai/agent/reward_spec.rb +21 -0
- data/spec/support/harness/evaluate.rb +1 -1
- data/third_party/pwn_rdoc.jsonl +2 -1
- metadata +10 -7
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
5
|
-->
|
|
6
6
|
<!-- Title: PWN_TaskSummarizer Pages: 1 -->
|
|
7
|
-
<svg width="
|
|
8
|
-
viewBox="0.00 0.00
|
|
7
|
+
<svg width="1836pt" height="754pt"
|
|
8
|
+
viewBox="0.00 0.00 1836.00 754.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 710.7)">
|
|
10
10
|
<title>PWN_TaskSummarizer</title>
|
|
11
|
-
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-710.7
|
|
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,-710.7 1793.2,-710.7 1793.2,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="630.5" y="-645.5" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">PWN::AI::Agent::TaskSummarizer - executive briefs</text>
|
|
13
|
+
<text xml:space="preserve" text-anchor="start" x="720.5" y="-634.05" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">Task compass and UI only; request evidence governs completion</text>
|
|
14
14
|
<g id="clust2" class="cluster">
|
|
15
15
|
<title>cluster_short</title>
|
|
16
16
|
<path fill="#4c0519" stroke="#be123c" stroke-width="2" d="M932,-397.25C932,-397.25 1323,-397.25 1323,-397.25 1329,-397.25 1335,-403.25 1335,-409.25 1335,-409.25 1335,-499.75 1335,-499.75 1335,-505.75 1329,-511.75 1323,-511.75 1323,-511.75 932,-511.75 932,-511.75 926,-511.75 920,-505.75 920,-499.75 920,-499.75 920,-409.25 920,-409.25 920,-403.25 926,-397.25 932,-397.25"/>
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
</g>
|
|
19
19
|
<g id="clust4" class="cluster">
|
|
20
20
|
<title>cluster_plan</title>
|
|
21
|
-
<path fill="#2e1065" stroke="#6d28d9" stroke-width="2" d="
|
|
22
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
21
|
+
<path fill="#2e1065" stroke="#6d28d9" stroke-width="2" d="M1380,-242.5C1380,-242.5 1730,-242.5 1730,-242.5 1736,-242.5 1742,-248.5 1742,-254.5 1742,-254.5 1742,-371 1742,-371 1742,-377 1736,-383 1730,-383 1730,-383 1380,-383 1380,-383 1374,-383 1368,-377 1368,-371 1368,-371 1368,-254.5 1368,-254.5 1368,-248.5 1374,-242.5 1380,-242.5"/>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="1555" y="-360" font-family="sans-Serif" font-size="20.00" fill="#ddd6fe">Goal plan (once per turn)</text>
|
|
23
23
|
</g>
|
|
24
24
|
<g id="clust6" class="cluster">
|
|
25
25
|
<title>cluster_batch</title>
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
</g>
|
|
29
29
|
<g id="clust8" class="cluster">
|
|
30
30
|
<title>cluster_exec</title>
|
|
31
|
-
<path fill="#422006" stroke="#a16207" stroke-width="2" d="
|
|
32
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
31
|
+
<path fill="#422006" stroke="#a16207" stroke-width="2" d="M572,-107.5C572,-107.5 1187,-107.5 1187,-107.5 1193,-107.5 1199,-113.5 1199,-119.5 1199,-119.5 1199,-222.5 1199,-222.5 1199,-228.5 1193,-234.5 1187,-234.5 1187,-234.5 572,-234.5 572,-234.5 566,-234.5 560,-228.5 560,-222.5 560,-222.5 560,-119.5 560,-119.5 560,-113.5 566,-107.5 572,-107.5"/>
|
|
32
|
+
<text xml:space="preserve" text-anchor="middle" x="879.5" y="-211.5" font-family="sans-Serif" font-size="20.00" fill="#fde68a">Execution (not on task row)</text>
|
|
33
33
|
</g>
|
|
34
34
|
<!-- User -->
|
|
35
35
|
<g id="node1" class="node">
|
|
@@ -125,47 +125,47 @@
|
|
|
125
125
|
<!-- Plan -->
|
|
126
126
|
<g id="node7" class="node">
|
|
127
127
|
<title>Plan</title>
|
|
128
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="
|
|
129
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
130
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
131
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
128
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M1512.38,-305.75C1512.38,-305.75 1387.62,-305.75 1387.62,-305.75 1381.62,-305.75 1375.62,-299.75 1375.62,-293.75 1375.62,-293.75 1375.62,-269.25 1375.62,-269.25 1375.62,-263.25 1381.62,-257.25 1387.62,-257.25 1387.62,-257.25 1512.38,-257.25 1512.38,-257.25 1518.38,-257.25 1524.38,-263.25 1524.38,-269.25 1524.38,-269.25 1524.38,-293.75 1524.38,-293.75 1524.38,-299.75 1518.38,-305.75 1512.38,-305.75"/>
|
|
129
|
+
<text xml:space="preserve" text-anchor="middle" x="1450" y="-291.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">plan(request)</text>
|
|
130
|
+
<text xml:space="preserve" text-anchor="middle" x="1450" y="-277.8" font-family="sans-Serif" font-size="11.00" fill="#0f172a">enumerated · LLM · fallback</text>
|
|
131
|
+
<text xml:space="preserve" text-anchor="middle" x="1450" y="-264.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">ordered work units</text>
|
|
132
132
|
</g>
|
|
133
133
|
<!-- Kind->Plan -->
|
|
134
134
|
<g id="edge6" class="edge">
|
|
135
135
|
<title>Kind->Plan</title>
|
|
136
|
-
<path fill="none" stroke="#a78bfa" stroke-width="2" d="M1219.
|
|
137
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="2" points="
|
|
138
|
-
<text xml:space="preserve" text-anchor="middle" x="1345.
|
|
136
|
+
<path fill="none" stroke="#a78bfa" stroke-width="2" d="M1219.87,-586.65C1260.51,-573.73 1310.75,-552.13 1345,-518 1402.34,-460.86 1431.06,-366.95 1442.99,-316.72"/>
|
|
137
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="2" points="1445.69,-317.48 1444.74,-309.05 1440.23,-316.23 1445.69,-317.48"/>
|
|
138
|
+
<text xml:space="preserve" text-anchor="middle" x="1345.14" y="-533.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">goal</text>
|
|
139
139
|
</g>
|
|
140
140
|
<!-- EmitP -->
|
|
141
141
|
<g id="node8" class="node">
|
|
142
142
|
<title>EmitP</title>
|
|
143
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="2" d="
|
|
144
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
145
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
146
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
147
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
143
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="2" d="M1722,-312.5C1722,-312.5 1616,-312.5 1616,-312.5 1610,-312.5 1604,-306.5 1604,-300.5 1604,-300.5 1604,-262.5 1604,-262.5 1604,-256.5 1610,-250.5 1616,-250.5 1616,-250.5 1722,-250.5 1722,-250.5 1728,-250.5 1734,-256.5 1734,-262.5 1734,-262.5 1734,-300.5 1734,-300.5 1734,-306.5 1728,-312.5 1722,-312.5"/>
|
|
144
|
+
<text xml:space="preserve" text-anchor="middle" x="1669" y="-298.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">emit_plan!</text>
|
|
145
|
+
<text xml:space="preserve" text-anchor="middle" x="1669" y="-284.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Goal: (original request)</text>
|
|
146
|
+
<text xml:space="preserve" text-anchor="middle" x="1669" y="-271.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Tangible tasks (N):</text>
|
|
147
|
+
<text xml:space="preserve" text-anchor="middle" x="1669" y="-257.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">  each may use 1+ tools</text>
|
|
148
148
|
</g>
|
|
149
149
|
<!-- Plan->EmitP -->
|
|
150
150
|
<g id="edge7" class="edge">
|
|
151
151
|
<title>Plan->EmitP</title>
|
|
152
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
153
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
152
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M1524.85,-281.5C1547.68,-281.5 1570.51,-281.5 1593.34,-281.5"/>
|
|
153
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="1593.15,-284.3 1601.15,-281.5 1593.15,-278.7 1593.15,-284.3"/>
|
|
154
154
|
</g>
|
|
155
155
|
<!-- UI -->
|
|
156
156
|
<g id="node17" class="node">
|
|
157
157
|
<title>UI</title>
|
|
158
|
-
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="
|
|
159
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
160
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
161
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
158
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M1318.5,-48.5C1318.5,-48.5 1185.5,-48.5 1185.5,-48.5 1179.5,-48.5 1173.5,-42.5 1173.5,-36.5 1173.5,-36.5 1173.5,-12 1173.5,-12 1173.5,-6 1179.5,0 1185.5,0 1185.5,0 1318.5,0 1318.5,0 1324.5,0 1330.5,-6 1330.5,-12 1330.5,-12 1330.5,-36.5 1330.5,-36.5 1330.5,-42.5 1324.5,-48.5 1318.5,-48.5"/>
|
|
159
|
+
<text xml:space="preserve" text-anchor="middle" x="1252" y="-34.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">REPL on_tool</text>
|
|
160
|
+
<text xml:space="preserve" text-anchor="middle" x="1252" y="-20.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">name='task', full text, result=''</text>
|
|
161
|
+
<text xml:space="preserve" text-anchor="middle" x="1252" y="-7.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">(no truncation)</text>
|
|
162
162
|
</g>
|
|
163
163
|
<!-- EmitP->UI -->
|
|
164
164
|
<g id="edge8" class="edge">
|
|
165
165
|
<title>EmitP->UI</title>
|
|
166
|
-
<path fill="none" stroke="#38bdf8" stroke-width="2" d="
|
|
167
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="
|
|
168
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
166
|
+
<path fill="none" stroke="#38bdf8" stroke-width="2" d="M1618.7,-249.71C1537.83,-200.21 1379.93,-103.56 1300.33,-54.84"/>
|
|
167
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="1301.89,-52.51 1293.61,-50.72 1298.97,-57.28 1301.89,-52.51"/>
|
|
168
|
+
<text xml:space="preserve" text-anchor="middle" x="1620.89" y="-136.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">full goal once</text>
|
|
169
169
|
</g>
|
|
170
170
|
<!-- FP -->
|
|
171
171
|
<g id="node10" class="node">
|
|
@@ -224,69 +224,69 @@
|
|
|
224
224
|
<!-- Tools -->
|
|
225
225
|
<g id="node14" class="node">
|
|
226
226
|
<title>Tools</title>
|
|
227
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="
|
|
228
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
229
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
230
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
227
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M732.25,-164C732.25,-164 579.75,-164 579.75,-164 573.75,-164 567.75,-158 567.75,-152 567.75,-152 567.75,-127.5 567.75,-127.5 567.75,-121.5 573.75,-115.5 579.75,-115.5 579.75,-115.5 732.25,-115.5 732.25,-115.5 738.25,-115.5 744.25,-121.5 744.25,-127.5 744.25,-127.5 744.25,-152 744.25,-152 744.25,-158 738.25,-164 732.25,-164"/>
|
|
228
|
+
<text xml:space="preserve" text-anchor="middle" x="656" y="-149.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Dispatch tools</text>
|
|
229
|
+
<text xml:space="preserve" text-anchor="middle" x="656" y="-136.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">shell · pwn_eval · CORE_TOOLS</text>
|
|
230
|
+
<text xml:space="preserve" text-anchor="middle" x="656" y="-122.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">own REPL lines</text>
|
|
231
231
|
</g>
|
|
232
232
|
<!-- EmitB->Tools -->
|
|
233
233
|
<g id="edge15" class="edge">
|
|
234
234
|
<title>EmitB->Tools</title>
|
|
235
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
236
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
235
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M823.4,-398.25C790.51,-347.66 714.06,-230.07 676.96,-172.98"/>
|
|
236
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="679.34,-171.52 672.64,-166.34 674.65,-174.57 679.34,-171.52"/>
|
|
237
237
|
</g>
|
|
238
238
|
<!-- EmitB->UI -->
|
|
239
239
|
<g id="edge14" class="edge">
|
|
240
240
|
<title>EmitB->UI</title>
|
|
241
|
-
<path fill="none" stroke="#38bdf8" stroke-width="2" d="
|
|
242
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="
|
|
241
|
+
<path fill="none" stroke="#38bdf8" stroke-width="2" d="M888.38,-400.1C984.17,-356.74 1187.69,-262.41 1209,-234.5 1248.23,-183.11 1253.97,-104.68 1253.64,-59.86"/>
|
|
242
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="1256.44,-59.94 1253.49,-51.99 1250.84,-60.04 1256.44,-59.94"/>
|
|
243
243
|
</g>
|
|
244
244
|
<!-- Skip->Tools -->
|
|
245
245
|
<g id="edge16" class="edge">
|
|
246
246
|
<title>Skip->Tools</title>
|
|
247
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
248
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="
|
|
247
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" stroke-dasharray="5,2" d="M691.62,-404.64C685.42,-358.67 668.65,-234.46 660.53,-174.3"/>
|
|
248
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="663.32,-174.03 659.47,-166.48 657.77,-174.78 663.32,-174.03"/>
|
|
249
249
|
</g>
|
|
250
250
|
<!-- Rec -->
|
|
251
251
|
<g id="node15" class="node">
|
|
252
252
|
<title>Rec</title>
|
|
253
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="
|
|
254
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
255
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
256
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
253
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M981.88,-164C981.88,-164 836.12,-164 836.12,-164 830.12,-164 824.12,-158 824.12,-152 824.12,-152 824.12,-127.5 824.12,-127.5 824.12,-121.5 830.12,-115.5 836.12,-115.5 836.12,-115.5 981.88,-115.5 981.88,-115.5 987.88,-115.5 993.88,-121.5 993.88,-127.5 993.88,-127.5 993.88,-152 993.88,-152 993.88,-158 987.88,-164 981.88,-164"/>
|
|
254
|
+
<text xml:space="preserve" text-anchor="middle" x="909" y="-149.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">record!</text>
|
|
255
|
+
<text xml:space="preserve" text-anchor="middle" x="909" y="-136.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">evidence/phase-guided plan_idx</text>
|
|
256
|
+
<text xml:space="preserve" text-anchor="middle" x="909" y="-122.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">(silent unless verbose)</text>
|
|
257
257
|
</g>
|
|
258
258
|
<!-- Tools->Rec -->
|
|
259
259
|
<g id="edge17" class="edge">
|
|
260
260
|
<title>Tools->Rec</title>
|
|
261
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
262
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
261
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M744.95,-139.75C767.84,-139.75 790.74,-139.75 813.64,-139.75"/>
|
|
262
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="813.48,-142.55 821.48,-139.75 813.48,-136.95 813.48,-142.55"/>
|
|
263
263
|
</g>
|
|
264
264
|
<!-- Rec->About -->
|
|
265
265
|
<g id="edge18" class="edge">
|
|
266
266
|
<title>Rec->About</title>
|
|
267
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" stroke-dasharray="5,2" d="M878.
|
|
268
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="155.
|
|
269
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
267
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" stroke-dasharray="5,2" d="M878.35,-164.55C850.05,-185.54 806.13,-215.63 764,-234.5 707.81,-259.67 321.57,-360.35 156.05,-403"/>
|
|
268
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="155.38,-400.28 148.33,-404.99 156.77,-405.71 155.38,-400.28"/>
|
|
269
|
+
<text xml:space="preserve" text-anchor="middle" x="757.99" y="-278.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">next batch</text>
|
|
270
270
|
</g>
|
|
271
271
|
<!-- Flush -->
|
|
272
272
|
<g id="node16" class="node">
|
|
273
273
|
<title>Flush</title>
|
|
274
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="
|
|
275
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
276
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
274
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M1178.75,-157.75C1178.75,-157.75 1089.25,-157.75 1089.25,-157.75 1083.25,-157.75 1077.25,-151.75 1077.25,-145.75 1077.25,-145.75 1077.25,-133.75 1077.25,-133.75 1077.25,-127.75 1083.25,-121.75 1089.25,-121.75 1089.25,-121.75 1178.75,-121.75 1178.75,-121.75 1184.75,-121.75 1190.75,-127.75 1190.75,-133.75 1190.75,-133.75 1190.75,-145.75 1190.75,-145.75 1190.75,-151.75 1184.75,-157.75 1178.75,-157.75"/>
|
|
275
|
+
<text xml:space="preserve" text-anchor="middle" x="1134" y="-142.8" font-family="sans-Serif" font-size="11.00" fill="#0f172a">flush! / emit!</text>
|
|
276
|
+
<text xml:space="preserve" text-anchor="middle" x="1134" y="-129.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">optional closing brief</text>
|
|
277
277
|
</g>
|
|
278
278
|
<!-- Rec->Flush -->
|
|
279
279
|
<g id="edge19" class="edge">
|
|
280
280
|
<title>Rec->Flush</title>
|
|
281
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
282
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
283
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
281
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M994.38,-139.75C1018.32,-139.75 1043.99,-139.75 1066.71,-139.75"/>
|
|
282
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="1066.62,-142.55 1074.62,-139.75 1066.62,-136.95 1066.62,-142.55"/>
|
|
283
|
+
<text xml:space="preserve" text-anchor="middle" x="1035.56" y="-144.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">end of turn</text>
|
|
284
284
|
</g>
|
|
285
285
|
<!-- Flush->UI -->
|
|
286
286
|
<g id="edge20" class="edge">
|
|
287
287
|
<title>Flush->UI</title>
|
|
288
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
289
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
288
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" stroke-dasharray="5,2" d="M1152.18,-121.26C1170.3,-103.83 1198.5,-76.71 1220.31,-55.73"/>
|
|
289
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="1222.2,-57.8 1226.02,-50.24 1218.31,-53.77 1222.2,-57.8"/>
|
|
290
290
|
</g>
|
|
291
291
|
</g>
|
|
292
292
|
</svg>
|
|
@@ -4,170 +4,176 @@
|
|
|
4
4
|
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
5
|
-->
|
|
6
6
|
<!-- Title: PWN_Web Pages: 1 -->
|
|
7
|
-
<svg width="
|
|
8
|
-
viewBox="0.00 0.00
|
|
9
|
-
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2
|
|
7
|
+
<svg width="1126pt" height="428pt"
|
|
8
|
+
viewBox="0.00 0.00 1126.00 428.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 385.2)">
|
|
10
10
|
<title>PWN_Web</title>
|
|
11
|
-
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-
|
|
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,-385.2 1082.95,-385.2 1082.95,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="405.5" y="-320" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">Web Application Testing</text>
|
|
13
|
+
<text xml:space="preserve" text-anchor="start" x="345.12" y="-308.55" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">Operator workflow: proxy evidence and separate source scans → reports</text>
|
|
14
14
|
<g id="clust1" class="cluster">
|
|
15
15
|
<title>cluster_drive</title>
|
|
16
|
-
<path fill="#022c22" stroke="#047857" d="M164.75,-
|
|
17
|
-
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-
|
|
16
|
+
<path fill="#022c22" stroke="#047857" d="M164.75,-76C164.75,-76 287.5,-76 287.5,-76 293.5,-76 299.5,-82 299.5,-88 299.5,-88 299.5,-283 299.5,-283 299.5,-289 293.5,-295 287.5,-295 287.5,-295 164.75,-295 164.75,-295 158.75,-295 152.75,-289 152.75,-283 152.75,-283 152.75,-88 152.75,-88 152.75,-82 158.75,-76 164.75,-76"/>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-272" font-family="sans-Serif" font-size="20.00" fill="#a7f3d0">Drive Traffic</text>
|
|
18
18
|
</g>
|
|
19
19
|
<g id="clust2" class="cluster">
|
|
20
20
|
<title>cluster_proxy</title>
|
|
21
|
-
<path fill="#422006" stroke="#a16207" d="
|
|
22
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
21
|
+
<path fill="#422006" stroke="#a16207" d="M475.75,-76C475.75,-76 613.25,-76 613.25,-76 619.25,-76 625.25,-82 625.25,-88 625.25,-88 625.25,-215 625.25,-215 625.25,-221 619.25,-227 613.25,-227 613.25,-227 475.75,-227 475.75,-227 469.75,-227 463.75,-221 463.75,-215 463.75,-215 463.75,-88 463.75,-88 463.75,-82 469.75,-76 475.75,-76"/>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="544.5" y="-204" font-family="sans-Serif" font-size="20.00" fill="#fde68a">Intercept + Scan</text>
|
|
23
23
|
</g>
|
|
24
24
|
<g id="clust3" class="cluster">
|
|
25
25
|
<title>cluster_deep</title>
|
|
26
|
-
<path fill="#2e1065" stroke="#6d28d9" d="
|
|
27
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
26
|
+
<path fill="#2e1065" stroke="#6d28d9" d="M716.25,-8C716.25,-8 853.25,-8 853.25,-8 859.25,-8 865.25,-14 865.25,-20 865.25,-20 865.25,-215 865.25,-215 865.25,-221 859.25,-227 853.25,-227 853.25,-227 716.25,-227 716.25,-227 710.25,-227 704.25,-221 704.25,-215 704.25,-215 704.25,-20 704.25,-20 704.25,-14 710.25,-8 716.25,-8"/>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="784.75" y="-204" font-family="sans-Serif" font-size="20.00" fill="#ddd6fe">Deep Analysis</text>
|
|
28
28
|
</g>
|
|
29
29
|
<!-- Target -->
|
|
30
30
|
<g id="node1" class="node">
|
|
31
31
|
<title>Target</title>
|
|
32
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M61.75,-
|
|
33
|
-
<text xml:space="preserve" text-anchor="middle" x="36.88" y="-
|
|
34
|
-
<text xml:space="preserve" text-anchor="middle" x="36.88" y="-
|
|
32
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M61.75,-188C61.75,-188 12,-188 12,-188 6,-188 0,-182 0,-176 0,-176 0,-164 0,-164 0,-158 6,-152 12,-152 12,-152 61.75,-152 61.75,-152 67.75,-152 73.75,-158 73.75,-164 73.75,-164 73.75,-176 73.75,-176 73.75,-182 67.75,-188 61.75,-188"/>
|
|
33
|
+
<text xml:space="preserve" text-anchor="middle" x="36.88" y="-172.88" font-family="sans-Serif" font-size="10.00" fill="#0f172a">🌐  Web App</text>
|
|
34
|
+
<text xml:space="preserve" text-anchor="middle" x="36.88" y="-160.12" font-family="sans-Serif" font-size="10.00" fill="#0f172a">URL / API</text>
|
|
35
35
|
</g>
|
|
36
36
|
<!-- TB -->
|
|
37
37
|
<g id="node2" class="node">
|
|
38
38
|
<title>TB</title>
|
|
39
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M279.5,-
|
|
40
|
-
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-
|
|
41
|
-
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-
|
|
39
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M279.5,-256C279.5,-256 172.75,-256 172.75,-256 166.75,-256 160.75,-250 160.75,-244 160.75,-244 160.75,-232 160.75,-232 160.75,-226 166.75,-220 172.75,-220 172.75,-220 279.5,-220 279.5,-220 285.5,-220 291.5,-226 291.5,-232 291.5,-232 291.5,-244 291.5,-244 291.5,-250 285.5,-256 279.5,-256"/>
|
|
40
|
+
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-240.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">TransparentBrowser</text>
|
|
41
|
+
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-228.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">headless · watir · devtools</text>
|
|
42
42
|
</g>
|
|
43
43
|
<!-- Target->TB -->
|
|
44
44
|
<g id="edge1" class="edge">
|
|
45
45
|
<title>Target->TB</title>
|
|
46
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M73.98,-
|
|
47
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="163.59,-
|
|
46
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M73.98,-183.11C99.69,-192.45 134.86,-205.22 164.8,-216.09"/>
|
|
47
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="163.59,-218.63 172.06,-218.73 165.5,-213.37 163.59,-218.63"/>
|
|
48
48
|
</g>
|
|
49
49
|
<!-- Spider -->
|
|
50
50
|
<g id="node3" class="node">
|
|
51
51
|
<title>Spider</title>
|
|
52
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M255.12,-
|
|
53
|
-
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-
|
|
54
|
-
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-
|
|
52
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M255.12,-188C255.12,-188 197.12,-188 197.12,-188 191.12,-188 185.12,-182 185.12,-176 185.12,-176 185.12,-164 185.12,-164 185.12,-158 191.12,-152 197.12,-152 197.12,-152 255.12,-152 255.12,-152 261.12,-152 267.12,-158 267.12,-164 267.12,-164 267.12,-176 267.12,-176 267.12,-182 261.12,-188 255.12,-188"/>
|
|
53
|
+
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-172.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::Spider</text>
|
|
54
|
+
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-160.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">URI buster</text>
|
|
55
55
|
</g>
|
|
56
56
|
<!-- Target->Spider -->
|
|
57
57
|
<g id="edge2" class="edge">
|
|
58
58
|
<title>Target->Spider</title>
|
|
59
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M73.98,-
|
|
60
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="174.61,-
|
|
59
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M73.98,-170C102.68,-170 143.15,-170 175,-170"/>
|
|
60
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="174.61,-172.8 182.61,-170 174.61,-167.2 174.61,-172.8"/>
|
|
61
61
|
</g>
|
|
62
62
|
<!-- WWW -->
|
|
63
63
|
<g id="node4" class="node">
|
|
64
64
|
<title>WWW</title>
|
|
65
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M256.25,-
|
|
66
|
-
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-
|
|
67
|
-
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-
|
|
65
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M256.25,-120C256.25,-120 196,-120 196,-120 190,-120 184,-114 184,-108 184,-108 184,-96 184,-96 184,-90 190,-84 196,-84 196,-84 256.25,-84 256.25,-84 262.25,-84 268.25,-90 268.25,-96 268.25,-96 268.25,-108 268.25,-108 268.25,-114 262.25,-120 256.25,-120"/>
|
|
66
|
+
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-104.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">PWN::WWW::*</text>
|
|
67
|
+
<text xml:space="preserve" text-anchor="middle" x="226.12" y="-92.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">22 site drivers</text>
|
|
68
68
|
</g>
|
|
69
69
|
<!-- Target->WWW -->
|
|
70
70
|
<g id="edge3" class="edge">
|
|
71
71
|
<title>Target->WWW</title>
|
|
72
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M73.98,-
|
|
73
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="175.17,-
|
|
72
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M73.98,-156.89C102.51,-146.53 142.69,-131.94 174.44,-120.41"/>
|
|
73
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="175.17,-123.12 181.73,-117.76 173.26,-117.86 175.17,-123.12"/>
|
|
74
74
|
</g>
|
|
75
75
|
<!-- Burp -->
|
|
76
76
|
<g id="node5" class="node">
|
|
77
77
|
<title>Burp</title>
|
|
78
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="2" d="
|
|
79
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
80
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
78
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="2" d="M592.5,-188C592.5,-188 495.5,-188 495.5,-188 489.5,-188 483.5,-182 483.5,-176 483.5,-176 483.5,-164 483.5,-164 483.5,-158 489.5,-152 495.5,-152 495.5,-152 592.5,-152 592.5,-152 598.5,-152 604.5,-158 604.5,-164 604.5,-164 604.5,-176 604.5,-176 604.5,-182 598.5,-188 592.5,-188"/>
|
|
79
|
+
<text xml:space="preserve" text-anchor="middle" x="544" y="-172.88" font-family="sans-Serif" font-size="10.00" fill="#0f172a">BurpSuite  ⭐</text>
|
|
80
|
+
<text xml:space="preserve" text-anchor="middle" x="544" y="-160.12" font-family="sans-Serif" font-size="10.00" fill="#0f172a">active · passive · REST</text>
|
|
81
81
|
</g>
|
|
82
82
|
<!-- TB->Burp -->
|
|
83
83
|
<g id="edge4" class="edge">
|
|
84
84
|
<title>TB->Burp</title>
|
|
85
|
-
<path fill="none" stroke="#f59e0b" stroke-width="2" d="
|
|
86
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="2" points="
|
|
87
|
-
<text xml:space="preserve" text-anchor="middle" x="377.62" y="-
|
|
85
|
+
<path fill="none" stroke="#f59e0b" stroke-width="2" d="M291.81,-224.08C344.27,-212.78 418.1,-196.89 472.15,-185.25"/>
|
|
86
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="2" points="472.49,-188.04 479.72,-183.62 471.31,-182.57 472.49,-188.04"/>
|
|
87
|
+
<text xml:space="preserve" text-anchor="middle" x="377.62" y="-216.01" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">proxy 127.0.0.1:8080</text>
|
|
88
88
|
</g>
|
|
89
89
|
<!-- Spider->Burp -->
|
|
90
90
|
<g id="edge5" class="edge">
|
|
91
91
|
<title>Spider->Burp</title>
|
|
92
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M267.
|
|
93
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
92
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M267.77,-170C319.49,-170 409.66,-170 472.64,-170"/>
|
|
93
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="472.54,-172.8 480.54,-170 472.54,-167.2 472.54,-172.8"/>
|
|
94
94
|
</g>
|
|
95
95
|
<!-- Zap -->
|
|
96
96
|
<g id="node6" class="node">
|
|
97
97
|
<title>Zap</title>
|
|
98
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
99
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
100
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
98
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M559.88,-120C559.88,-120 528.12,-120 528.12,-120 522.12,-120 516.12,-114 516.12,-108 516.12,-108 516.12,-96 516.12,-96 516.12,-90 522.12,-84 528.12,-84 528.12,-84 559.88,-84 559.88,-84 565.88,-84 571.88,-90 571.88,-96 571.88,-96 571.88,-108 571.88,-108 571.88,-114 565.88,-120 559.88,-120"/>
|
|
99
|
+
<text xml:space="preserve" text-anchor="middle" x="544" y="-104.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Zaproxy</text>
|
|
100
|
+
<text xml:space="preserve" text-anchor="middle" x="544" y="-92.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">(fallback)</text>
|
|
101
101
|
</g>
|
|
102
102
|
<!-- WWW->Zap -->
|
|
103
103
|
<g id="edge6" class="edge">
|
|
104
104
|
<title>WWW->Zap</title>
|
|
105
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M268.
|
|
106
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
107
|
-
</g>
|
|
108
|
-
<!-- SAST -->
|
|
109
|
-
<g id="node7" class="node">
|
|
110
|
-
<title>SAST</title>
|
|
111
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M795.25,-188C795.25,-188 723,-188 723,-188 717,-188 711,-182 711,-176 711,-176 711,-164 711,-164 711,-158 717,-152 723,-152 723,-152 795.25,-152 795.25,-152 801.25,-152 807.25,-158 807.25,-164 807.25,-164 807.25,-176 807.25,-176 807.25,-182 801.25,-188 795.25,-188"/>
|
|
112
|
-
<text xml:space="preserve" text-anchor="middle" x="759.12" y="-172.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">PWN::SAST</text>
|
|
113
|
-
<text xml:space="preserve" text-anchor="middle" x="759.12" y="-160.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">48 rules on source</text>
|
|
114
|
-
</g>
|
|
115
|
-
<!-- Burp->SAST -->
|
|
116
|
-
<g id="edge7" class="edge">
|
|
117
|
-
<title>Burp->SAST</title>
|
|
118
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M597.42,-120.58C629.78,-130.53 669.4,-142.72 701.21,-152.5"/>
|
|
119
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="700.03,-155.06 708.5,-154.74 701.68,-149.71 700.03,-155.06"/>
|
|
105
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M268.74,-102C330.82,-102 446.7,-102 505.99,-102"/>
|
|
106
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="505.72,-104.8 513.72,-102 505.72,-99.2 505.72,-104.8"/>
|
|
120
107
|
</g>
|
|
121
108
|
<!-- XSS -->
|
|
122
109
|
<g id="node8" class="node">
|
|
123
110
|
<title>XSS</title>
|
|
124
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
125
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
126
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
111
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M831,-188C831,-188 738.5,-188 738.5,-188 732.5,-188 726.5,-182 726.5,-176 726.5,-176 726.5,-164 726.5,-164 726.5,-158 732.5,-152 738.5,-152 738.5,-152 831,-152 831,-152 837,-152 843,-158 843,-164 843,-164 843,-176 843,-176 843,-182 837,-188 831,-188"/>
|
|
112
|
+
<text xml:space="preserve" text-anchor="middle" x="784.75" y="-172.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">pwn_xss_dom_vectors</text>
|
|
113
|
+
<text xml:space="preserve" text-anchor="middle" x="784.75" y="-160.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">web_cache_deception</text>
|
|
127
114
|
</g>
|
|
128
115
|
<!-- Burp->XSS -->
|
|
129
116
|
<g id="edge8" class="edge">
|
|
130
117
|
<title>Burp->XSS</title>
|
|
131
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
132
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
118
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M605.25,-170C639.09,-170 681.41,-170 716.35,-170"/>
|
|
119
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="716.03,-172.8 724.03,-170 716.03,-167.2 716.03,-172.8"/>
|
|
133
120
|
</g>
|
|
134
121
|
<!-- API -->
|
|
135
122
|
<g id="node9" class="node">
|
|
136
123
|
<title>API</title>
|
|
137
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
138
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
139
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
124
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M829.12,-120C829.12,-120 740.38,-120 740.38,-120 734.38,-120 728.38,-114 728.38,-108 728.38,-108 728.38,-96 728.38,-96 728.38,-90 734.38,-84 740.38,-84 740.38,-84 829.12,-84 829.12,-84 835.12,-84 841.12,-90 841.12,-96 841.12,-96 841.12,-108 841.12,-108 841.12,-114 835.12,-120 829.12,-120"/>
|
|
125
|
+
<text xml:space="preserve" text-anchor="middle" x="784.75" y="-104.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::OpenAPI</text>
|
|
126
|
+
<text xml:space="preserve" text-anchor="middle" x="784.75" y="-92.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">GraphQL introspection</text>
|
|
140
127
|
</g>
|
|
141
128
|
<!-- Zap->API -->
|
|
142
129
|
<g id="edge9" class="edge">
|
|
143
130
|
<title>Zap->API</title>
|
|
144
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
145
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
131
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M572.39,-102C607.68,-102 670.19,-102 718.11,-102"/>
|
|
132
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="717.83,-104.8 725.82,-102 717.82,-99.2 717.83,-104.8"/>
|
|
133
|
+
</g>
|
|
134
|
+
<!-- SAST -->
|
|
135
|
+
<g id="node7" class="node">
|
|
136
|
+
<title>SAST</title>
|
|
137
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M845.25,-52C845.25,-52 724.25,-52 724.25,-52 718.25,-52 712.25,-46 712.25,-40 712.25,-40 712.25,-28 712.25,-28 712.25,-22 718.25,-16 724.25,-16 724.25,-16 845.25,-16 845.25,-16 851.25,-16 857.25,-22 857.25,-28 857.25,-28 857.25,-40 857.25,-40 857.25,-46 851.25,-52 845.25,-52"/>
|
|
138
|
+
<text xml:space="preserve" text-anchor="middle" x="784.75" y="-36.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">PWN::SAST</text>
|
|
139
|
+
<text xml:space="preserve" text-anchor="middle" x="784.75" y="-24.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">48 modules; source tree input</text>
|
|
146
140
|
</g>
|
|
147
141
|
<!-- Report -->
|
|
148
142
|
<g id="node10" class="node">
|
|
149
143
|
<title>Report</title>
|
|
150
|
-
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="
|
|
151
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
152
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
144
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M1027.75,-120C1027.75,-120 956.25,-120 956.25,-120 950.25,-120 944.25,-114 944.25,-108 944.25,-108 944.25,-96 944.25,-96 944.25,-90 950.25,-84 956.25,-84 956.25,-84 1027.75,-84 1027.75,-84 1033.75,-84 1039.75,-90 1039.75,-96 1039.75,-96 1039.75,-108 1039.75,-108 1039.75,-114 1033.75,-120 1027.75,-120"/>
|
|
145
|
+
<text xml:space="preserve" text-anchor="middle" x="992" y="-104.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">PWN::Reports</text>
|
|
146
|
+
<text xml:space="preserve" text-anchor="middle" x="992" y="-92.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">DefectDojo import</text>
|
|
153
147
|
</g>
|
|
154
148
|
<!-- SAST->Report -->
|
|
155
149
|
<g id="edge10" class="edge">
|
|
156
150
|
<title>SAST->Report</title>
|
|
157
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
158
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
151
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M841.84,-52.58C870.65,-62.13 905.66,-73.73 934.53,-83.29"/>
|
|
152
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="933.33,-85.84 941.8,-85.7 935.09,-80.53 933.33,-85.84"/>
|
|
159
153
|
</g>
|
|
160
154
|
<!-- XSS->Report -->
|
|
161
155
|
<g id="edge11" class="edge">
|
|
162
156
|
<title>XSS->Report</title>
|
|
163
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
164
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
157
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M841.84,-151.42C870.65,-141.87 905.66,-130.27 934.53,-120.71"/>
|
|
158
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="935.09,-123.47 941.8,-118.3 933.33,-118.16 935.09,-123.47"/>
|
|
165
159
|
</g>
|
|
166
160
|
<!-- API->Report -->
|
|
167
161
|
<g id="edge12" class="edge">
|
|
168
162
|
<title>API->Report</title>
|
|
169
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
170
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
163
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M841.56,-102C870.24,-102 905.11,-102 933.95,-102"/>
|
|
164
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="933.92,-104.8 941.92,-102 933.92,-99.2 933.92,-104.8"/>
|
|
165
|
+
</g>
|
|
166
|
+
<!-- Source -->
|
|
167
|
+
<g id="node11" class="node">
|
|
168
|
+
<title>Source</title>
|
|
169
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M608.62,-52C608.62,-52 479.38,-52 479.38,-52 473.38,-52 467.38,-46 467.38,-40 467.38,-40 467.38,-28 467.38,-28 467.38,-22 473.38,-16 479.38,-16 479.38,-16 608.62,-16 608.62,-16 614.62,-16 620.62,-22 620.62,-28 620.62,-28 620.62,-40 620.62,-40 620.62,-46 614.62,-52 608.62,-52"/>
|
|
170
|
+
<text xml:space="preserve" text-anchor="middle" x="544" y="-30.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Separately supplied source tree</text>
|
|
171
|
+
</g>
|
|
172
|
+
<!-- Source->SAST -->
|
|
173
|
+
<g id="edge7" class="edge">
|
|
174
|
+
<title>Source->SAST</title>
|
|
175
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M621.2,-34C646.97,-34 675.85,-34 702.04,-34"/>
|
|
176
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="701.96,-36.8 709.96,-34 701.96,-31.2 701.96,-36.8"/>
|
|
171
177
|
</g>
|
|
172
178
|
</g>
|
|
173
179
|
</svg>
|