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.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -3
  3. data/documentation/AI-Integration.md +4 -4
  4. data/documentation/AWS.md +10 -9
  5. data/documentation/Agent-Tool-Registry.md +20 -17
  6. data/documentation/Blockchain.md +3 -2
  7. data/documentation/Bounty.md +8 -6
  8. data/documentation/BurpSuite.md +6 -10
  9. data/documentation/CLI-Drivers.md +7 -4
  10. data/documentation/Capability-Broker-Sandbox.md +1 -1
  11. data/documentation/Configuration.md +23 -15
  12. data/documentation/Contributing.md +3 -3
  13. data/documentation/Cron.md +3 -2
  14. data/documentation/Diagrams.md +9 -3
  15. data/documentation/Drivers.md +12 -6
  16. data/documentation/Extrospection.md +25 -5
  17. data/documentation/FFI.md +15 -25
  18. data/documentation/Fuzzing.md +13 -13
  19. data/documentation/General-PWN-Usage.md +7 -4
  20. data/documentation/Harness-Evaluation.md +90 -3
  21. data/documentation/Home.md +6 -5
  22. data/documentation/How-PWN-Works.md +9 -10
  23. data/documentation/Installation.md +12 -11
  24. data/documentation/Metasploit.md +13 -19
  25. data/documentation/Mistakes.md +2 -2
  26. data/documentation/NmapIt.md +6 -3
  27. data/documentation/Operability.md +99 -0
  28. data/documentation/Persistence.md +3 -2
  29. data/documentation/Plugin-Degradation.md +4 -2
  30. data/documentation/Plugins.md +4 -11
  31. data/documentation/Policy-Benchmark.md +4 -0
  32. data/documentation/Reinforcement-Learning.md +19 -3
  33. data/documentation/Reporting.md +6 -5
  34. data/documentation/SAST.md +15 -10
  35. data/documentation/SDR-Decoder-Coverage.md +10 -4
  36. data/documentation/SDR.md +28 -40
  37. data/documentation/Session-Workflow.md +25 -12
  38. data/documentation/Sessions.md +7 -0
  39. data/documentation/Skills-Memory-Learning.md +11 -4
  40. data/documentation/Swarm.md +6 -0
  41. data/documentation/Transparent-Browser.md +1 -1
  42. data/documentation/Troubleshooting.md +6 -3
  43. data/documentation/What-is-PWN.md +4 -4
  44. data/documentation/Why-PWN.md +1 -1
  45. data/documentation/diagrams/agent-tool-registry.svg +219 -180
  46. data/documentation/diagrams/ai-integration-tool-calling.svg +35 -34
  47. data/documentation/diagrams/code-scanning-sast.svg +78 -78
  48. data/documentation/diagrams/cron-scheduling.svg +165 -145
  49. data/documentation/diagrams/dot/_THEME.md +6 -4
  50. data/documentation/diagrams/dot/agent-tool-registry.dot +6 -2
  51. data/documentation/diagrams/dot/ai-integration-tool-calling.dot +1 -1
  52. data/documentation/diagrams/dot/code-scanning-sast.dot +8 -8
  53. data/documentation/diagrams/dot/cron-scheduling.dot +2 -0
  54. data/documentation/diagrams/dot/driver-framework.dot +1 -1
  55. data/documentation/diagrams/dot/extrospection-world-awareness.dot +2 -2
  56. data/documentation/diagrams/dot/fuzzing-workflow.dot +3 -3
  57. data/documentation/diagrams/dot/history-to-drivers.dot +1 -1
  58. data/documentation/diagrams/dot/memory-skills-detailed.dot +3 -3
  59. data/documentation/diagrams/dot/mistakes-negative-feedback.dot +2 -2
  60. data/documentation/diagrams/dot/overall-pwn-architecture.dot +33 -121
  61. data/documentation/diagrams/dot/persistence-filesystem.dot +2 -2
  62. data/documentation/diagrams/dot/plugin-ecosystem.dot +2 -2
  63. data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +31 -167
  64. data/documentation/diagrams/dot/pwn-repl-prototyping.dot +1 -1
  65. data/documentation/diagrams/dot/reinforcement-learning.dot +15 -7
  66. data/documentation/diagrams/dot/reporting-pipeline.dot +5 -3
  67. data/documentation/diagrams/dot/reverse-engineering-flow.dot +3 -3
  68. data/documentation/diagrams/dot/sdr-radio-flow.dot +5 -5
  69. data/documentation/diagrams/dot/sessions-cron-automation.dot +1 -1
  70. data/documentation/diagrams/dot/swarm-multi-agent.dot +3 -3
  71. data/documentation/diagrams/dot/task-summarizer.dot +2 -2
  72. data/documentation/diagrams/dot/web-application-testing.dot +4 -3
  73. data/documentation/diagrams/dot/zero-day-research-flow.dot +4 -3
  74. data/documentation/diagrams/driver-framework.svg +1 -1
  75. data/documentation/diagrams/extrospection-world-awareness.svg +178 -178
  76. data/documentation/diagrams/fuzzing-workflow.svg +58 -58
  77. data/documentation/diagrams/history-to-drivers.svg +42 -42
  78. data/documentation/diagrams/memory-skills-detailed.svg +210 -210
  79. data/documentation/diagrams/mistakes-negative-feedback.svg +116 -116
  80. data/documentation/diagrams/overall-pwn-architecture.svg +248 -404
  81. data/documentation/diagrams/persistence-filesystem.svg +143 -143
  82. data/documentation/diagrams/plugin-ecosystem.svg +100 -100
  83. data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +233 -752
  84. data/documentation/diagrams/pwn-repl-prototyping.svg +27 -27
  85. data/documentation/diagrams/reinforcement-learning.svg +295 -221
  86. data/documentation/diagrams/reporting-pipeline.svg +94 -80
  87. data/documentation/diagrams/reverse-engineering-flow.svg +31 -31
  88. data/documentation/diagrams/sdr-radio-flow.svg +157 -155
  89. data/documentation/diagrams/sessions-cron-automation.svg +13 -13
  90. data/documentation/diagrams/swarm-multi-agent.svg +86 -86
  91. data/documentation/diagrams/task-summarizer.svg +57 -57
  92. data/documentation/diagrams/web-application-testing.svg +81 -75
  93. data/documentation/diagrams/zero-day-research-flow.svg +101 -92
  94. data/documentation/pwn-REPL.md +5 -3
  95. data/documentation/pwn-ai-Agent.md +18 -14
  96. data/documentation/pwn_silent_help_learn_demo.gif +0 -0
  97. data/etc/default_skills/pwn/ai/agent/learning/SKILL.md +1 -0
  98. data/lib/pwn/ai/agent/learning.rb +46 -1
  99. data/lib/pwn/ai/agent/loop.rb +6 -3
  100. data/lib/pwn/ai/agent/policy_evaluation.rb +5 -1
  101. data/lib/pwn/ai/agent/reward.rb +9 -0
  102. data/lib/pwn/version.rb +1 -1
  103. data/spec/fixtures/harness/completion_regressions.json +10 -0
  104. data/spec/fixtures/harness/completion_regressions.json.sha256 +1 -0
  105. data/spec/integration/harness_evaluation_spec.rb +13 -0
  106. data/spec/lib/pwn/ai/agent/learning_spec.rb +22 -0
  107. data/spec/lib/pwn/ai/agent/loop_spec.rb +39 -0
  108. data/spec/lib/pwn/ai/agent/policy_evaluation_spec.rb +6 -1
  109. data/spec/lib/pwn/ai/agent/reward_spec.rb +21 -0
  110. data/spec/support/harness/evaluate.rb +1 -1
  111. data/third_party/pwn_rdoc.jsonl +2 -1
  112. metadata +10 -7
@@ -4,192 +4,206 @@
4
4
  <!-- Generated by graphviz version 14.1.2 (0)
5
5
  -->
6
6
  <!-- Title: PWN_Reports Pages: 1 -->
7
- <svg width="901pt" height="656pt"
8
- viewBox="0.00 0.00 901.00 656.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
7
+ <svg width="1300pt" height="656pt"
8
+ viewBox="0.00 0.00 1300.00 656.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 612.45)">
10
10
  <title>PWN_Reports</title>
11
- <polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-612.45 857.95,-612.45 857.95,43.2 -43.2,43.2"/>
12
- <text xml:space="preserve" text-anchor="start" x="249.88" y="-547.25" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">PWN::Reports &#45; Findings Pipeline</text>
11
+ <polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-612.45 1256.7,-612.45 1256.7,43.2 -43.2,43.2"/>
12
+ <text xml:space="preserve" text-anchor="start" x="449.25" y="-547.25" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">PWN::Reports &#45; Findings Pipeline</text>
13
13
  <g id="clust1" class="cluster">
14
14
  <title>cluster_src</title>
15
- <path fill="#022c22" stroke="#047857" d="M20,-235C20,-235 320.12,-235 320.12,-235 326.12,-235 332.12,-241 332.12,-247 332.12,-247 332.12,-518 332.12,-518 332.12,-524 326.12,-530 320.12,-530 320.12,-530 20,-530 20,-530 14,-530 8,-524 8,-518 8,-518 8,-247 8,-247 8,-241 14,-235 20,-235"/>
16
- <text xml:space="preserve" text-anchor="middle" x="170.06" y="-507" font-family="sans-Serif" font-size="20.00" fill="#a7f3d0">Finding Sources</text>
15
+ <path fill="#022c22" stroke="#047857" d="M20,-8C20,-8 379,-8 379,-8 385,-8 391,-14 391,-20 391,-20 391,-291 391,-291 391,-297 385,-303 379,-303 379,-303 20,-303 20,-303 14,-303 8,-297 8,-291 8,-291 8,-20 8,-20 8,-14 14,-8 20,-8"/>
16
+ <text xml:space="preserve" text-anchor="middle" x="199.5" y="-280" font-family="sans-Serif" font-size="20.00" fill="#a7f3d0">Finding Sources</text>
17
17
  </g>
18
18
  <g id="clust2" class="cluster">
19
19
  <title>cluster_gen</title>
20
- <path fill="#422006" stroke="#a16207" d="M235.25,-8C235.25,-8 592,-8 592,-8 598,-8 604,-14 604,-20 604,-20 604,-215 604,-215 604,-221 598,-227 592,-227 592,-227 235.25,-227 235.25,-227 229.25,-227 223.25,-221 223.25,-215 223.25,-215 223.25,-20 223.25,-20 223.25,-14 229.25,-8 235.25,-8"/>
21
- <text xml:space="preserve" text-anchor="middle" x="413.62" y="-204" font-family="sans-Serif" font-size="20.00" fill="#fde68a">Generators</text>
20
+ <path fill="#422006" stroke="#a16207" d="M306.5,-311C306.5,-311 650.88,-311 650.88,-311 656.88,-311 662.88,-317 662.88,-323 662.88,-323 662.88,-518 662.88,-518 662.88,-524 656.88,-530 650.88,-530 650.88,-530 306.5,-530 306.5,-530 300.5,-530 294.5,-524 294.5,-518 294.5,-518 294.5,-323 294.5,-323 294.5,-317 300.5,-311 306.5,-311"/>
21
+ <text xml:space="preserve" text-anchor="middle" x="478.69" y="-507" font-family="sans-Serif" font-size="20.00" fill="#fde68a">Generators</text>
22
22
  </g>
23
23
  <g id="clust3" class="cluster">
24
24
  <title>cluster_out</title>
25
- <path fill="#2e1065" stroke="#6d28d9" d="M485.75,-235C485.75,-235 794.75,-235 794.75,-235 800.75,-235 806.75,-241 806.75,-247 806.75,-247 806.75,-518 806.75,-518 806.75,-524 800.75,-530 794.75,-530 794.75,-530 485.75,-530 485.75,-530 479.75,-530 473.75,-524 473.75,-518 473.75,-518 473.75,-247 473.75,-247 473.75,-241 479.75,-235 485.75,-235"/>
26
- <text xml:space="preserve" text-anchor="middle" x="640.25" y="-507" font-family="sans-Serif" font-size="20.00" fill="#ddd6fe">Delivery</text>
25
+ <path fill="#2e1065" stroke="#6d28d9" d="M534.5,-144C534.5,-144 1193.5,-144 1193.5,-144 1199.5,-144 1205.5,-150 1205.5,-156 1205.5,-156 1205.5,-291 1205.5,-291 1205.5,-297 1199.5,-303 1193.5,-303 1193.5,-303 534.5,-303 534.5,-303 528.5,-303 522.5,-297 522.5,-291 522.5,-291 522.5,-156 522.5,-156 522.5,-150 528.5,-144 534.5,-144"/>
26
+ <text xml:space="preserve" text-anchor="middle" x="864" y="-280" font-family="sans-Serif" font-size="20.00" fill="#ddd6fe">Delivery</text>
27
27
  </g>
28
28
  <!-- Sast -->
29
29
  <g id="node1" class="node">
30
30
  <title>Sast</title>
31
- <path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M306.88,-279C306.88,-279 258.62,-279 258.62,-279 252.62,-279 246.62,-273 246.62,-267 246.62,-267 246.62,-255 246.62,-255 246.62,-249 252.62,-243 258.62,-243 258.62,-243 306.88,-243 306.88,-243 312.88,-243 318.88,-249 318.88,-255 318.88,-255 318.88,-267 318.88,-267 318.88,-273 312.88,-279 306.88,-279"/>
32
- <text xml:space="preserve" text-anchor="middle" x="282.75" y="-257.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">PWN::SAST</text>
31
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M365.75,-196C365.75,-196 317.5,-196 317.5,-196 311.5,-196 305.5,-190 305.5,-184 305.5,-184 305.5,-172 305.5,-172 305.5,-166 311.5,-160 317.5,-160 317.5,-160 365.75,-160 365.75,-160 371.75,-160 377.75,-166 377.75,-172 377.75,-172 377.75,-184 377.75,-184 377.75,-190 371.75,-196 365.75,-196"/>
32
+ <text xml:space="preserve" text-anchor="middle" x="341.62" y="-174.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">PWN::SAST</text>
33
33
  </g>
34
34
  <!-- Rsast -->
35
35
  <g id="node7" class="node">
36
36
  <title>Rsast</title>
37
- <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M584,-188C584,-188 525.25,-188 525.25,-188 519.25,-188 513.25,-182 513.25,-176 513.25,-176 513.25,-164 513.25,-164 513.25,-158 519.25,-152 525.25,-152 525.25,-152 584,-152 584,-152 590,-152 596,-158 596,-164 596,-164 596,-176 596,-176 596,-182 590,-188 584,-188"/>
38
- <text xml:space="preserve" text-anchor="middle" x="554.62" y="-166.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Reports::SAST</text>
37
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M632.75,-423C632.75,-423 574,-423 574,-423 568,-423 562,-417 562,-411 562,-411 562,-399 562,-399 562,-393 568,-387 574,-387 574,-387 632.75,-387 632.75,-387 638.75,-387 644.75,-393 644.75,-399 644.75,-399 644.75,-411 644.75,-411 644.75,-417 638.75,-423 632.75,-423"/>
38
+ <text xml:space="preserve" text-anchor="middle" x="603.38" y="-401.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Reports::SAST</text>
39
39
  </g>
40
40
  <!-- Sast&#45;&gt;Rsast -->
41
41
  <g id="edge1" class="edge">
42
42
  <title>Sast&#45;&gt;Rsast</title>
43
- <path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M319.52,-255.71C351.39,-250.4 398.99,-240.99 438.75,-227 464.41,-217.97 491.74,-204.58 513.3,-193.05"/>
44
- <polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="514.44,-195.61 520.14,-189.34 511.77,-190.69 514.44,-195.61"/>
43
+ <path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M378.26,-182.44C411.27,-188.45 459.39,-202.34 487.5,-234 529.22,-281 481.57,-323.31 522.5,-371 530.48,-380.3 541.44,-387.12 552.69,-392.09"/>
44
+ <polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="551.42,-394.6 559.89,-394.98 553.5,-389.41 551.42,-394.6"/>
45
45
  </g>
46
46
  <!-- Fuzz -->
47
47
  <g id="node2" class="node">
48
48
  <title>Fuzz</title>
49
- <path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M91.25,-415C91.25,-415 39.25,-415 39.25,-415 33.25,-415 27.25,-409 27.25,-403 27.25,-403 27.25,-391 27.25,-391 27.25,-385 33.25,-379 39.25,-379 39.25,-379 91.25,-379 91.25,-379 97.25,-379 103.25,-385 103.25,-391 103.25,-391 103.25,-403 103.25,-403 103.25,-409 97.25,-415 91.25,-415"/>
50
- <text xml:space="preserve" text-anchor="middle" x="65.25" y="-393.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::Fuzz</text>
49
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M91.25,-264C91.25,-264 39.25,-264 39.25,-264 33.25,-264 27.25,-258 27.25,-252 27.25,-252 27.25,-240 27.25,-240 27.25,-234 33.25,-228 39.25,-228 39.25,-228 91.25,-228 91.25,-228 97.25,-228 103.25,-234 103.25,-240 103.25,-240 103.25,-252 103.25,-252 103.25,-258 97.25,-264 91.25,-264"/>
50
+ <text xml:space="preserve" text-anchor="middle" x="65.25" y="-242.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::Fuzz</text>
51
51
  </g>
52
52
  <!-- Rfuzz -->
53
53
  <g id="node8" class="node">
54
54
  <title>Rfuzz</title>
55
- <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M309.88,-188C309.88,-188 255.62,-188 255.62,-188 249.62,-188 243.62,-182 243.62,-176 243.62,-176 243.62,-164 243.62,-164 243.62,-158 249.62,-152 255.62,-152 255.62,-152 309.88,-152 309.88,-152 315.88,-152 321.88,-158 321.88,-164 321.88,-164 321.88,-176 321.88,-176 321.88,-182 315.88,-188 309.88,-188"/>
56
- <text xml:space="preserve" text-anchor="middle" x="282.75" y="-166.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Reports::Fuzz</text>
55
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M368.75,-355C368.75,-355 314.5,-355 314.5,-355 308.5,-355 302.5,-349 302.5,-343 302.5,-343 302.5,-331 302.5,-331 302.5,-325 308.5,-319 314.5,-319 314.5,-319 368.75,-319 368.75,-319 374.75,-319 380.75,-325 380.75,-331 380.75,-331 380.75,-343 380.75,-343 380.75,-349 374.75,-355 368.75,-355"/>
56
+ <text xml:space="preserve" text-anchor="middle" x="341.62" y="-333.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Reports::Fuzz</text>
57
57
  </g>
58
58
  <!-- Fuzz&#45;&gt;Rfuzz -->
59
59
  <g id="edge2" class="edge">
60
60
  <title>Fuzz&#45;&gt;Rfuzz</title>
61
- <path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M95.35,-378.49C101.93,-373.77 108.68,-368.48 114.5,-363 170.86,-309.96 171.27,-284.34 223.25,-227 233.06,-216.18 244.45,-204.84 254.55,-195.15"/>
62
- <polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="256.34,-197.31 260.22,-189.77 252.49,-193.25 256.34,-197.31"/>
61
+ <path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M103.83,-258.46C152.98,-274.76 239.14,-303.34 292.87,-321.16"/>
62
+ <polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="291.84,-323.77 300.31,-323.63 293.6,-318.45 291.84,-323.77"/>
63
63
  </g>
64
64
  <!-- Uri -->
65
65
  <g id="node3" class="node">
66
66
  <title>Uri</title>
67
- <path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M86,-347C86,-347 44.5,-347 44.5,-347 38.5,-347 32.5,-341 32.5,-335 32.5,-335 32.5,-323 32.5,-323 32.5,-317 38.5,-311 44.5,-311 44.5,-311 86,-311 86,-311 92,-311 98,-317 98,-323 98,-323 98,-335 98,-335 98,-341 92,-347 86,-347"/>
68
- <text xml:space="preserve" text-anchor="middle" x="65.25" y="-325.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">URI Buster</text>
67
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M362.38,-128C362.38,-128 320.88,-128 320.88,-128 314.88,-128 308.88,-122 308.88,-116 308.88,-116 308.88,-104 308.88,-104 308.88,-98 314.88,-92 320.88,-92 320.88,-92 362.38,-92 362.38,-92 368.38,-92 374.38,-98 374.38,-104 374.38,-104 374.38,-116 374.38,-116 374.38,-122 368.38,-128 362.38,-128"/>
68
+ <text xml:space="preserve" text-anchor="middle" x="341.62" y="-106.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">URI Buster</text>
69
69
  </g>
70
70
  <!-- Ruri -->
71
71
  <g id="node9" class="node">
72
72
  <title>Ruri</title>
73
- <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M322.25,-120C322.25,-120 243.25,-120 243.25,-120 237.25,-120 231.25,-114 231.25,-108 231.25,-108 231.25,-96 231.25,-96 231.25,-90 237.25,-84 243.25,-84 243.25,-84 322.25,-84 322.25,-84 328.25,-84 334.25,-90 334.25,-96 334.25,-96 334.25,-108 334.25,-108 334.25,-114 328.25,-120 322.25,-120"/>
74
- <text xml:space="preserve" text-anchor="middle" x="282.75" y="-98.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Reports::URIBuster</text>
73
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M642.88,-355C642.88,-355 563.88,-355 563.88,-355 557.88,-355 551.88,-349 551.88,-343 551.88,-343 551.88,-331 551.88,-331 551.88,-325 557.88,-319 563.88,-319 563.88,-319 642.88,-319 642.88,-319 648.88,-319 654.88,-325 654.88,-331 654.88,-331 654.88,-343 654.88,-343 654.88,-349 648.88,-355 642.88,-355"/>
74
+ <text xml:space="preserve" text-anchor="middle" x="603.38" y="-333.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Reports::URIBuster</text>
75
75
  </g>
76
76
  <!-- Uri&#45;&gt;Ruri -->
77
77
  <g id="edge3" class="edge">
78
78
  <title>Uri&#45;&gt;Ruri</title>
79
- <path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M96.16,-310.44C102.56,-305.79 109.03,-300.55 114.5,-295 174.61,-234.04 160.53,-194.28 223.25,-136 227.12,-132.4 231.44,-129.02 235.93,-125.88"/>
80
- <polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="237.32,-128.32 242.49,-121.6 234.26,-123.63 237.32,-128.32"/>
79
+ <path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M374.85,-119.14C407.88,-130.14 458.42,-151.82 487.5,-188 523.11,-232.3 483.07,-270.06 522.5,-311 528.1,-316.81 535.01,-321.33 542.4,-324.83"/>
80
+ <polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="540.98,-327.27 549.44,-327.75 543.12,-322.1 540.98,-327.27"/>
81
81
  </g>
82
82
  <!-- Phone -->
83
83
  <g id="node4" class="node">
84
84
  <title>Phone</title>
85
- <path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M93.12,-279C93.12,-279 37.38,-279 37.38,-279 31.38,-279 25.38,-273 25.38,-267 25.38,-267 25.38,-255 25.38,-255 25.38,-249 31.38,-243 37.38,-243 37.38,-243 93.12,-243 93.12,-243 99.12,-243 105.12,-249 105.12,-255 105.12,-255 105.12,-267 105.12,-267 105.12,-273 99.12,-279 93.12,-279"/>
86
- <text xml:space="preserve" text-anchor="middle" x="65.25" y="-257.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">BareSIP recon</text>
85
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M369.5,-264C369.5,-264 313.75,-264 313.75,-264 307.75,-264 301.75,-258 301.75,-252 301.75,-252 301.75,-240 301.75,-240 301.75,-234 307.75,-228 313.75,-228 313.75,-228 369.5,-228 369.5,-228 375.5,-228 381.5,-234 381.5,-240 381.5,-240 381.5,-252 381.5,-252 381.5,-258 375.5,-264 369.5,-264"/>
86
+ <text xml:space="preserve" text-anchor="middle" x="341.62" y="-242.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">BareSIP recon</text>
87
87
  </g>
88
88
  <!-- Rphone -->
89
89
  <g id="node10" class="node">
90
90
  <title>Rphone</title>
91
- <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M312.88,-52C312.88,-52 252.62,-52 252.62,-52 246.62,-52 240.62,-46 240.62,-40 240.62,-40 240.62,-28 240.62,-28 240.62,-22 246.62,-16 252.62,-16 252.62,-16 312.88,-16 312.88,-16 318.88,-16 324.88,-22 324.88,-28 324.88,-28 324.88,-40 324.88,-40 324.88,-46 318.88,-52 312.88,-52"/>
92
- <text xml:space="preserve" text-anchor="middle" x="282.75" y="-30.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Reports::Phone</text>
91
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M633.5,-491C633.5,-491 573.25,-491 573.25,-491 567.25,-491 561.25,-485 561.25,-479 561.25,-479 561.25,-467 561.25,-467 561.25,-461 567.25,-455 573.25,-455 573.25,-455 633.5,-455 633.5,-455 639.5,-455 645.5,-461 645.5,-467 645.5,-467 645.5,-479 645.5,-479 645.5,-485 639.5,-491 633.5,-491"/>
92
+ <text xml:space="preserve" text-anchor="middle" x="603.38" y="-469.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Reports::Phone</text>
93
93
  </g>
94
94
  <!-- Phone&#45;&gt;Rphone -->
95
95
  <g id="edge4" class="edge">
96
96
  <title>Phone&#45;&gt;Rphone</title>
97
- <path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M78.02,-242.39C101.94,-205.63 159.39,-122.58 223.25,-68 227.48,-64.38 232.15,-60.94 236.96,-57.73"/>
98
- <polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="238.19,-60.26 243.45,-53.61 235.19,-55.53 238.19,-60.26"/>
97
+ <path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M358.2,-264.59C394.53,-307.63 484.62,-412.44 522.5,-439 531.47,-445.29 541.79,-450.75 551.97,-455.34"/>
98
+ <polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="550.57,-457.79 559.03,-458.38 552.78,-452.65 550.57,-457.79"/>
99
99
  </g>
100
100
  <!-- Obs -->
101
101
  <g id="node5" class="node">
102
102
  <title>Obs</title>
103
- <path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M102.5,-491C102.5,-491 28,-491 28,-491 22,-491 16,-485 16,-479 16,-479 16,-459 16,-459 16,-453 22,-447 28,-447 28,-447 102.5,-447 102.5,-447 108.5,-447 114.5,-453 114.5,-459 114.5,-459 114.5,-479 114.5,-479 114.5,-485 108.5,-491 102.5,-491"/>
104
- <text xml:space="preserve" text-anchor="middle" x="65.25" y="-477.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Nuclei · SBOM</text>
105
- <text xml:space="preserve" text-anchor="middle" x="65.25" y="-465.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">recon observations</text>
106
- <text xml:space="preserve" text-anchor="middle" x="65.25" y="-453.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">not findings</text>
103
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M102.5,-70C102.5,-70 28,-70 28,-70 22,-70 16,-64 16,-58 16,-58 16,-38 16,-38 16,-32 22,-26 28,-26 28,-26 102.5,-26 102.5,-26 108.5,-26 114.5,-32 114.5,-38 114.5,-38 114.5,-58 114.5,-58 114.5,-64 108.5,-70 102.5,-70"/>
104
+ <text xml:space="preserve" text-anchor="middle" x="65.25" y="-56.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Nuclei · SBOM</text>
105
+ <text xml:space="preserve" text-anchor="middle" x="65.25" y="-44.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">recon observations</text>
106
+ <text xml:space="preserve" text-anchor="middle" x="65.25" y="-32.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">not findings</text>
107
107
  </g>
108
108
  <!-- Find -->
109
109
  <g id="node6" class="node">
110
110
  <title>Find</title>
111
- <path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M312.12,-491C312.12,-491 253.38,-491 253.38,-491 247.38,-491 241.38,-485 241.38,-479 241.38,-479 241.38,-459 241.38,-459 241.38,-453 247.38,-447 253.38,-447 253.38,-447 312.12,-447 312.12,-447 318.12,-447 324.12,-453 324.12,-459 324.12,-459 324.12,-479 324.12,-479 324.12,-485 318.12,-491 312.12,-491"/>
112
- <text xml:space="preserve" text-anchor="middle" x="282.75" y="-477.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Findings.record</text>
113
- <text xml:space="preserve" text-anchor="middle" x="282.75" y="-465.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">severity info</text>
114
- <text xml:space="preserve" text-anchor="middle" x="282.75" y="-453.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">until verify</text>
111
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M371,-60C371,-60 312.25,-60 312.25,-60 306.25,-60 300.25,-54 300.25,-48 300.25,-48 300.25,-28 300.25,-28 300.25,-22 306.25,-16 312.25,-16 312.25,-16 371,-16 371,-16 377,-16 383,-22 383,-28 383,-28 383,-48 383,-48 383,-54 377,-60 371,-60"/>
112
+ <text xml:space="preserve" text-anchor="middle" x="341.62" y="-46.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Findings.record</text>
113
+ <text xml:space="preserve" text-anchor="middle" x="341.62" y="-34.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">severity info</text>
114
+ <text xml:space="preserve" text-anchor="middle" x="341.62" y="-22.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">until verify</text>
115
115
  </g>
116
116
  <!-- Obs&#45;&gt;Find -->
117
117
  <g id="edge5" class="edge">
118
118
  <title>Obs&#45;&gt;Find</title>
119
- <path fill="none" stroke="#34d399" stroke-width="1.3" d="M114.88,-469C149.6,-469 196.19,-469 231.31,-469"/>
120
- <polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="230.93,-471.8 238.93,-469 230.93,-466.2 230.93,-471.8"/>
121
- <text xml:space="preserve" text-anchor="middle" x="172.88" y="-470.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">handoff</text>
119
+ <path fill="none" stroke="#34d399" stroke-width="1.3" d="M114.99,-46.22C164.26,-44.43 240.06,-41.67 290,-39.85"/>
120
+ <polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="290.08,-42.64 297.97,-39.55 289.87,-37.05 290.08,-42.64"/>
121
+ <text xml:space="preserve" text-anchor="middle" x="207.38" y="-46.43" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">explicit structured record</text>
122
122
  </g>
123
123
  <!-- Gate -->
124
124
  <g id="node15" class="node">
125
125
  <title>Gate</title>
126
- <path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M615.5,-491C615.5,-491 493.75,-491 493.75,-491 487.75,-491 481.75,-485 481.75,-479 481.75,-479 481.75,-459 481.75,-459 481.75,-453 487.75,-447 493.75,-447 493.75,-447 615.5,-447 615.5,-447 621.5,-447 627.5,-453 627.5,-459 627.5,-459 627.5,-479 627.5,-479 627.5,-485 621.5,-491 615.5,-491"/>
127
- <text xml:space="preserve" text-anchor="middle" x="554.62" y="-477.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">refuse_unproven_combined!</text>
128
- <text xml:space="preserve" text-anchor="middle" x="554.62" y="-465.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">high/critical needs reproduced</text>
129
- <text xml:space="preserve" text-anchor="middle" x="554.62" y="-453.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">chain file naming every id</text>
126
+ <path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M664.25,-196C664.25,-196 542.5,-196 542.5,-196 536.5,-196 530.5,-190 530.5,-184 530.5,-184 530.5,-164 530.5,-164 530.5,-158 536.5,-152 542.5,-152 542.5,-152 664.25,-152 664.25,-152 670.25,-152 676.25,-158 676.25,-164 676.25,-164 676.25,-184 676.25,-184 676.25,-190 670.25,-196 664.25,-196"/>
127
+ <text xml:space="preserve" text-anchor="middle" x="603.38" y="-182.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">refuse_unproven_combined!</text>
128
+ <text xml:space="preserve" text-anchor="middle" x="603.38" y="-170.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">high/critical needs reproduced</text>
129
+ <text xml:space="preserve" text-anchor="middle" x="603.38" y="-158.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">chain file naming every id</text>
130
130
  </g>
131
131
  <!-- Find&#45;&gt;Gate -->
132
132
  <g id="edge6" class="edge">
133
133
  <title>Find&#45;&gt;Gate</title>
134
- <path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M324.74,-469C363.5,-469 422.8,-469 471.33,-469"/>
135
- <polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="471.23,-471.8 479.23,-469 471.23,-466.2 471.23,-471.8"/>
136
- <text xml:space="preserve" text-anchor="middle" x="408" y="-470.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">verify transcript</text>
134
+ <path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M383.51,-57.46C412.69,-71.52 452.76,-91.19 487.5,-109.5 509.81,-121.26 534.21,-134.85 554.76,-146.52"/>
135
+ <polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="553.27,-148.89 561.61,-150.42 556.04,-144.02 553.27,-148.89"/>
136
+ <text xml:space="preserve" text-anchor="middle" x="456.75" y="-111.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">verify transcript</text>
137
137
  </g>
138
138
  <!-- HTML -->
139
139
  <g id="node11" class="node">
140
140
  <title>HTML</title>
141
- <path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M786.75,-383C786.75,-383 726.5,-383 726.5,-383 720.5,-383 714.5,-377 714.5,-371 714.5,-371 714.5,-359 714.5,-359 714.5,-353 720.5,-347 726.5,-347 726.5,-347 786.75,-347 786.75,-347 792.75,-347 798.75,-353 798.75,-359 798.75,-359 798.75,-371 798.75,-371 798.75,-377 792.75,-383 786.75,-383"/>
142
- <text xml:space="preserve" text-anchor="middle" x="756.62" y="-367.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">HTML</text>
143
- <text xml:space="preserve" text-anchor="middle" x="756.62" y="-355.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">(Header/Footer)</text>
141
+ <path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M948.5,-264C948.5,-264 888.25,-264 888.25,-264 882.25,-264 876.25,-258 876.25,-252 876.25,-252 876.25,-240 876.25,-240 876.25,-234 882.25,-228 888.25,-228 888.25,-228 948.5,-228 948.5,-228 954.5,-228 960.5,-234 960.5,-240 960.5,-240 960.5,-252 960.5,-252 960.5,-258 954.5,-264 948.5,-264"/>
142
+ <text xml:space="preserve" text-anchor="middle" x="918.38" y="-248.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">HTML</text>
143
+ <text xml:space="preserve" text-anchor="middle" x="918.38" y="-236.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">(Header/Footer)</text>
144
144
  </g>
145
145
  <!-- Rsast&#45;&gt;HTML -->
146
146
  <g id="edge8" class="edge">
147
147
  <title>Rsast&#45;&gt;HTML</title>
148
- <path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M581.01,-188.63C595.13,-199.35 612.77,-213.37 627.5,-227 667.2,-263.73 709.1,-310.62 733.78,-339.2"/>
149
- <polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="731.64,-341.02 738.98,-345.26 735.89,-337.37 731.64,-341.02"/>
148
+ <path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M645.3,-392.56C692.41,-377.35 771.26,-349.1 833.25,-313 853.63,-301.13 874.38,-284.66 890.18,-271.02"/>
149
+ <polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="891.86,-273.26 896.03,-265.88 888.17,-269.05 891.86,-273.26"/>
150
150
  </g>
151
151
  <!-- JSON -->
152
152
  <g id="node12" class="node">
153
153
  <title>JSON</title>
154
- <path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M569.62,-415C569.62,-415 539.62,-415 539.62,-415 533.62,-415 527.62,-409 527.62,-403 527.62,-403 527.62,-391 527.62,-391 527.62,-385 533.62,-379 539.62,-379 539.62,-379 569.62,-379 569.62,-379 575.62,-379 581.62,-385 581.62,-391 581.62,-391 581.62,-403 581.62,-403 581.62,-409 575.62,-415 569.62,-415"/>
155
- <text xml:space="preserve" text-anchor="middle" x="554.62" y="-393.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">JSON</text>
154
+ <path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M618.38,-264C618.38,-264 588.38,-264 588.38,-264 582.38,-264 576.38,-258 576.38,-252 576.38,-252 576.38,-240 576.38,-240 576.38,-234 582.38,-228 588.38,-228 588.38,-228 618.38,-228 618.38,-228 624.38,-228 630.38,-234 630.38,-240 630.38,-240 630.38,-252 630.38,-252 630.38,-258 624.38,-264 618.38,-264"/>
155
+ <text xml:space="preserve" text-anchor="middle" x="603.38" y="-242.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">JSON</text>
156
156
  </g>
157
157
  <!-- Rfuzz&#45;&gt;JSON -->
158
158
  <g id="edge9" class="edge">
159
159
  <title>Rfuzz&#45;&gt;JSON</title>
160
- <path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M300.31,-188.57C338.89,-231.56 434.5,-336.27 473.75,-363 487.24,-372.19 503.61,-379.68 518.01,-385.28"/>
161
- <polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="516.81,-387.82 525.29,-387.99 518.77,-382.57 516.81,-387.82"/>
160
+ <path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M381.23,-323.47C431.31,-305.93 518.01,-275.56 566.64,-258.52"/>
161
+ <polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="567.36,-261.23 573.98,-255.95 565.51,-255.95 567.36,-261.23"/>
162
162
  </g>
163
- <!-- DD -->
164
- <g id="node13" class="node">
165
- <title>DD</title>
166
- <path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M583.25,-347C583.25,-347 526,-347 526,-347 520,-347 514,-341 514,-335 514,-335 514,-323 514,-323 514,-317 520,-311 526,-311 526,-311 583.25,-311 583.25,-311 589.25,-311 595.25,-317 595.25,-323 595.25,-323 595.25,-335 595.25,-335 595.25,-341 589.25,-347 583.25,-347"/>
167
- <text xml:space="preserve" text-anchor="middle" x="554.62" y="-331.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">DefectDojo</text>
168
- <text xml:space="preserve" text-anchor="middle" x="554.62" y="-319.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">import/reimport</text>
169
- </g>
170
- <!-- Ruri&#45;&gt;DD -->
163
+ <!-- Ruri&#45;&gt;HTML -->
171
164
  <g id="edge10" class="edge">
172
- <title>Ruri&#45;&gt;DD</title>
173
- <path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M314.07,-120.56C320.95,-125.27 328.06,-130.55 334.25,-136 404.83,-198.1 397.6,-239.88 473.75,-295 483.1,-301.77 494,-307.53 504.69,-312.28"/>
174
- <polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="503.3,-314.73 511.76,-315.26 505.48,-309.57 503.3,-314.73"/>
165
+ <title>Ruri&#45;&gt;HTML</title>
166
+ <path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M655.36,-322.18C713.61,-305.24 808.37,-277.69 866.56,-260.77"/>
167
+ <polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="867.13,-263.52 874.03,-258.6 865.57,-258.15 867.13,-263.52"/>
168
+ </g>
169
+ <!-- Rphone&#45;&gt;HTML -->
170
+ <g id="edge12" class="edge">
171
+ <title>Rphone&#45;&gt;HTML</title>
172
+ <path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M645.97,-460.36C694.79,-444.01 776.29,-411.83 833.25,-364 863.75,-338.38 888.71,-299.31 903.3,-273.23"/>
173
+ <polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="905.7,-274.68 907.08,-266.32 900.79,-272 905.7,-274.68"/>
175
174
  </g>
176
175
  <!-- Jira -->
177
176
  <g id="node14" class="node">
178
177
  <title>Jira</title>
179
- <path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M583.62,-279C583.62,-279 525.62,-279 525.62,-279 519.62,-279 513.62,-273 513.62,-267 513.62,-267 513.62,-255 513.62,-255 513.62,-249 519.62,-243 525.62,-243 525.62,-243 583.62,-243 583.62,-243 589.62,-243 595.62,-249 595.62,-255 595.62,-255 595.62,-267 595.62,-267 595.62,-273 589.62,-279 583.62,-279"/>
180
- <text xml:space="preserve" text-anchor="middle" x="554.62" y="-257.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">JiraDataCenter</text>
178
+ <path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M1185.5,-264C1185.5,-264 1127.5,-264 1127.5,-264 1121.5,-264 1115.5,-258 1115.5,-252 1115.5,-252 1115.5,-240 1115.5,-240 1115.5,-234 1121.5,-228 1127.5,-228 1127.5,-228 1185.5,-228 1185.5,-228 1191.5,-228 1197.5,-234 1197.5,-240 1197.5,-240 1197.5,-252 1197.5,-252 1197.5,-258 1191.5,-264 1185.5,-264"/>
179
+ <text xml:space="preserve" text-anchor="middle" x="1156.5" y="-242.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">JiraDataCenter</text>
180
+ </g>
181
+ <!-- HTML&#45;&gt;Jira -->
182
+ <g id="edge13" class="edge">
183
+ <title>HTML&#45;&gt;Jira</title>
184
+ <path fill="none" stroke="#94a3b8" stroke-width="1.3" stroke-dasharray="5,2" d="M961.05,-246C1001.25,-246 1062.16,-246 1105.08,-246"/>
185
+ <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="1105.07,-248.8 1113.07,-246 1105.07,-243.2 1105.07,-248.8"/>
186
+ <text xml:space="preserve" text-anchor="middle" x="1038" y="-247.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">operator delivery</text>
187
+ </g>
188
+ <!-- DD -->
189
+ <g id="node13" class="node">
190
+ <title>DD</title>
191
+ <path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M947,-196C947,-196 889.75,-196 889.75,-196 883.75,-196 877.75,-190 877.75,-184 877.75,-184 877.75,-172 877.75,-172 877.75,-166 883.75,-160 889.75,-160 889.75,-160 947,-160 947,-160 953,-160 959,-166 959,-172 959,-172 959,-184 959,-184 959,-190 953,-196 947,-196"/>
192
+ <text xml:space="preserve" text-anchor="middle" x="918.38" y="-180.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">DefectDojo</text>
193
+ <text xml:space="preserve" text-anchor="middle" x="918.38" y="-168.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">import/reimport</text>
181
194
  </g>
182
- <!-- Rphone&#45;&gt;Jira -->
195
+ <!-- JSON&#45;&gt;DD -->
183
196
  <g id="edge11" class="edge">
184
- <title>Rphone&#45;&gt;Jira</title>
185
- <path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M314.43,-52.63C321.23,-57.3 328.21,-62.55 334.25,-68 406.08,-132.76 393.65,-180.81 473.75,-235 482.72,-241.07 493.21,-245.8 503.58,-249.47"/>
186
- <polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="502.68,-252.12 511.15,-251.93 504.41,-246.8 502.68,-252.12"/>
197
+ <title>JSON&#45;&gt;DD</title>
198
+ <path fill="none" stroke="#94a3b8" stroke-width="1.3" stroke-dasharray="5,2" d="M630.79,-240.26C683.05,-228.91 800.36,-203.42 867.57,-188.82"/>
199
+ <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="867.96,-191.6 875.19,-187.17 866.77,-186.13 867.96,-191.6"/>
200
+ <text xml:space="preserve" text-anchor="middle" x="776.25" y="-222.04" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">explicit authenticated import</text>
187
201
  </g>
188
202
  <!-- Gate&#45;&gt;HTML -->
189
203
  <g id="edge7" class="edge">
190
204
  <title>Gate&#45;&gt;HTML</title>
191
- <path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M599.02,-446.43C632.24,-429.16 677.89,-405.42 711.33,-388.03"/>
192
- <polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="712.43,-390.62 718.24,-384.44 709.85,-385.65 712.43,-390.62"/>
205
+ <path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M676.87,-169.7C722.84,-169.23 782.92,-172.84 833.25,-190 853.33,-196.85 873.21,-209.72 888.6,-221.4"/>
206
+ <polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="886.64,-223.42 894.67,-226.15 890.09,-219.01 886.64,-223.42"/>
193
207
  </g>
194
208
  </g>
195
209
  </svg>
@@ -4,13 +4,13 @@
4
4
  <!-- Generated by graphviz version 14.1.2 (0)
5
5
  -->
6
6
  <!-- Title: PWN_RE Pages: 1 -->
7
- <svg width="971pt" height="300pt"
8
- viewBox="0.00 0.00 971.00 300.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
7
+ <svg width="997pt" height="300pt"
8
+ viewBox="0.00 0.00 997.00 300.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 257.2)">
10
10
  <title>PWN_RE</title>
11
- <polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-257.2 927.45,-257.2 927.45,43.2 -43.2,43.2"/>
12
- <text xml:space="preserve" text-anchor="start" x="241.12" y="-192" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">Reverse Engineering &amp; Binary Exploitation</text>
13
- <text xml:space="preserve" text-anchor="start" x="317.25" y="-180.55" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">pwn&#45;asm · Assembly · XXD · FFI · Radare2 banners</text>
11
+ <polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-257.2 953.7,-257.2 953.7,43.2 -43.2,43.2"/>
12
+ <text xml:space="preserve" text-anchor="start" x="254.25" y="-192" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">Reverse Engineering &amp; Binary Exploitation</text>
13
+ <text xml:space="preserve" text-anchor="start" x="291" y="-180.55" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">pwn&#45;asm · Assembly · XXD · REDB · Radare2 · GDBMI · ExploitDev</text>
14
14
  <g id="clust1" class="cluster">
15
15
  <title>cluster_static</title>
16
16
  <path fill="#022c22" stroke="#047857" d="M202,-14C202,-14 323.25,-14 323.25,-14 329.25,-14 335.25,-20 335.25,-26 335.25,-26 335.25,-153 335.25,-153 335.25,-159 329.25,-165 323.25,-165 323.25,-165 202,-165 202,-165 196,-165 190,-159 190,-153 190,-153 190,-26 190,-26 190,-20 196,-14 202,-14"/>
@@ -23,8 +23,8 @@
23
23
  </g>
24
24
  <g id="clust3" class="cluster">
25
25
  <title>cluster_dyn</title>
26
- <path fill="#450a0a" stroke="#b91c1c" d="M617.25,-14C617.25,-14 698.75,-14 698.75,-14 704.75,-14 710.75,-20 710.75,-26 710.75,-26 710.75,-153 710.75,-153 710.75,-159 704.75,-165 698.75,-165 698.75,-165 617.25,-165 617.25,-165 611.25,-165 605.25,-159 605.25,-153 605.25,-153 605.25,-26 605.25,-26 605.25,-20 611.25,-14 617.25,-14"/>
27
- <text xml:space="preserve" text-anchor="middle" x="658" y="-142" font-family="sans-Serif" font-size="20.00" fill="#fecaca">Dynamic</text>
26
+ <path fill="#450a0a" stroke="#b91c1c" d="M617.25,-14C617.25,-14 725,-14 725,-14 731,-14 737,-20 737,-26 737,-26 737,-153 737,-153 737,-159 731,-165 725,-165 725,-165 617.25,-165 617.25,-165 611.25,-165 605.25,-159 605.25,-153 605.25,-153 605.25,-26 605.25,-26 605.25,-20 611.25,-14 617.25,-14"/>
27
+ <text xml:space="preserve" text-anchor="middle" x="671.12" y="-142" font-family="sans-Serif" font-size="20.00" fill="#fecaca">Dynamic</text>
28
28
  </g>
29
29
  <!-- Bin -->
30
30
  <g id="node1" class="node">
@@ -35,15 +35,15 @@
35
35
  <!-- XXD -->
36
36
  <g id="node2" class="node">
37
37
  <title>XXD</title>
38
- <path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M296.5,-58C296.5,-58 228.75,-58 228.75,-58 222.75,-58 216.75,-52 216.75,-46 216.75,-46 216.75,-34 216.75,-34 216.75,-28 222.75,-22 228.75,-22 228.75,-22 296.5,-22 296.5,-22 302.5,-22 308.5,-28 308.5,-34 308.5,-34 308.5,-46 308.5,-46 308.5,-52 302.5,-58 296.5,-58"/>
39
- <text xml:space="preserve" text-anchor="middle" x="262.62" y="-42.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::XXD</text>
40
- <text xml:space="preserve" text-anchor="middle" x="262.62" y="-30.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">hex dump / patch</text>
38
+ <path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M310.75,-58C310.75,-58 214.5,-58 214.5,-58 208.5,-58 202.5,-52 202.5,-46 202.5,-46 202.5,-34 202.5,-34 202.5,-28 208.5,-22 214.5,-22 214.5,-22 310.75,-22 310.75,-22 316.75,-22 322.75,-28 322.75,-34 322.75,-34 322.75,-46 322.75,-46 322.75,-52 316.75,-58 310.75,-58"/>
39
+ <text xml:space="preserve" text-anchor="middle" x="262.62" y="-42.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">XXD · REDB · Radare2</text>
40
+ <text xml:space="preserve" text-anchor="middle" x="262.62" y="-30.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">hex / binary analysis</text>
41
41
  </g>
42
42
  <!-- Bin&#45;&gt;XXD -->
43
43
  <g id="edge1" class="edge">
44
44
  <title>Bin&#45;&gt;XXD</title>
45
- <path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M112.64,-64.75C141.88,-59.9 177.6,-53.96 206.73,-49.12"/>
46
- <polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="206.96,-51.92 214.39,-47.85 206.04,-46.4 206.96,-51.92"/>
45
+ <path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M112.64,-64.75C137.2,-60.67 166.32,-55.84 192.27,-51.52"/>
46
+ <polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="192.68,-54.29 200.11,-50.22 191.76,-48.77 192.68,-54.29"/>
47
47
  </g>
48
48
  <!-- BDBA -->
49
49
  <g id="node3" class="node">
@@ -69,8 +69,8 @@
69
69
  <!-- XXD&#45;&gt;Asm -->
70
70
  <g id="edge3" class="edge">
71
71
  <title>XXD&#45;&gt;Asm</title>
72
- <path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M309.15,-39.56C339.1,-39.26 378.56,-38.88 410.76,-38.57"/>
73
- <polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="410.56,-41.37 418.53,-38.49 410.5,-35.77 410.56,-41.37"/>
72
+ <path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M323.23,-39.42C350.73,-39.15 383.25,-38.83 410.57,-38.57"/>
73
+ <polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="410.44,-41.37 418.41,-38.49 410.39,-35.77 410.44,-41.37"/>
74
74
  </g>
75
75
  <!-- PwnAsm -->
76
76
  <g id="node5" class="node">
@@ -88,47 +88,47 @@
88
88
  <!-- FFI -->
89
89
  <g id="node6" class="node">
90
90
  <title>FFI</title>
91
- <path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M690.75,-58C690.75,-58 625.25,-58 625.25,-58 619.25,-58 613.25,-52 613.25,-46 613.25,-46 613.25,-34 613.25,-34 613.25,-28 619.25,-22 625.25,-22 625.25,-22 690.75,-22 690.75,-22 696.75,-22 702.75,-28 702.75,-34 702.75,-34 702.75,-46 702.75,-46 702.75,-52 696.75,-58 690.75,-58"/>
92
- <text xml:space="preserve" text-anchor="middle" x="658" y="-42.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">PWN::FFI::Stdio</text>
93
- <text xml:space="preserve" text-anchor="middle" x="658" y="-30.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">native calls</text>
91
+ <path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M717,-58C717,-58 625.25,-58 625.25,-58 619.25,-58 613.25,-52 613.25,-46 613.25,-46 613.25,-34 613.25,-34 613.25,-28 619.25,-22 625.25,-22 625.25,-22 717,-22 717,-22 723,-22 729,-28 729,-34 729,-34 729,-46 729,-46 729,-52 723,-58 717,-58"/>
92
+ <text xml:space="preserve" text-anchor="middle" x="671.12" y="-42.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">GDBMI · ProcessTube</text>
93
+ <text xml:space="preserve" text-anchor="middle" x="671.12" y="-30.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">debug / process I/O</text>
94
94
  </g>
95
95
  <!-- Asm&#45;&gt;FFI -->
96
96
  <g id="edge5" class="edge">
97
97
  <title>Asm&#45;&gt;FFI</title>
98
- <path fill="none" stroke="#fb7185" stroke-width="1.3" d="M519.2,-38.52C544.81,-38.8 576.34,-39.13 602.76,-39.42"/>
99
- <polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="602.62,-42.22 610.65,-39.5 602.68,-36.62 602.62,-42.22"/>
98
+ <path fill="none" stroke="#fb7185" stroke-width="1.3" d="M519.27,-38.49C544.42,-38.74 575.53,-39.05 602.96,-39.33"/>
99
+ <polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="602.88,-42.13 610.91,-39.41 602.94,-36.53 602.88,-42.13"/>
100
100
  </g>
101
101
  <!-- Fuzz -->
102
102
  <g id="node7" class="node">
103
103
  <title>Fuzz</title>
104
- <path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M690.38,-126C690.38,-126 625.62,-126 625.62,-126 619.62,-126 613.62,-120 613.62,-114 613.62,-114 613.62,-102 613.62,-102 613.62,-96 619.62,-90 625.62,-90 625.62,-90 690.38,-90 690.38,-90 696.38,-90 702.38,-96 702.38,-102 702.38,-102 702.38,-114 702.38,-114 702.38,-120 696.38,-126 690.38,-126"/>
105
- <text xml:space="preserve" text-anchor="middle" x="658" y="-110.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::Fuzz</text>
106
- <text xml:space="preserve" text-anchor="middle" x="658" y="-98.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">targeted crashes</text>
104
+ <path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M703.5,-126C703.5,-126 638.75,-126 638.75,-126 632.75,-126 626.75,-120 626.75,-114 626.75,-114 626.75,-102 626.75,-102 626.75,-96 632.75,-90 638.75,-90 638.75,-90 703.5,-90 703.5,-90 709.5,-90 715.5,-96 715.5,-102 715.5,-102 715.5,-114 715.5,-114 715.5,-120 709.5,-126 703.5,-126"/>
105
+ <text xml:space="preserve" text-anchor="middle" x="671.12" y="-110.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Plugins::Fuzz</text>
106
+ <text xml:space="preserve" text-anchor="middle" x="671.12" y="-98.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">targeted crashes</text>
107
107
  </g>
108
108
  <!-- PwnAsm&#45;&gt;Fuzz -->
109
109
  <g id="edge6" class="edge">
110
110
  <title>PwnAsm&#45;&gt;Fuzz</title>
111
- <path fill="none" stroke="#fb7185" stroke-width="1.3" d="M518.23,-109.49C544.24,-109.21 576.57,-108.86 603.47,-108.57"/>
112
- <polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="603.18,-111.38 611.15,-108.49 603.12,-105.78 603.18,-111.38"/>
111
+ <path fill="none" stroke="#fb7185" stroke-width="1.3" d="M518.51,-109.52C548.03,-109.22 585.98,-108.84 616.53,-108.54"/>
112
+ <polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="616.23,-111.34 624.2,-108.46 616.17,-105.74 616.23,-111.34"/>
113
113
  </g>
114
114
  <!-- Xpl -->
115
115
  <g id="node8" class="node">
116
116
  <title>Xpl</title>
117
- <path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M872.25,-92C872.25,-92 800.75,-92 800.75,-92 794.75,-92 788.75,-86 788.75,-80 788.75,-80 788.75,-68 788.75,-68 788.75,-62 794.75,-56 800.75,-56 800.75,-56 872.25,-56 872.25,-56 878.25,-56 884.25,-62 884.25,-68 884.25,-68 884.25,-80 884.25,-80 884.25,-86 878.25,-92 872.25,-92"/>
118
- <text xml:space="preserve" text-anchor="middle" x="836.5" y="-76.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Exploit PoC</text>
119
- <text xml:space="preserve" text-anchor="middle" x="836.5" y="-64.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Metasploit module</text>
117
+ <path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M898.5,-92C898.5,-92 827,-92 827,-92 821,-92 815,-86 815,-80 815,-80 815,-68 815,-68 815,-62 821,-56 827,-56 827,-56 898.5,-56 898.5,-56 904.5,-56 910.5,-62 910.5,-68 910.5,-68 910.5,-80 910.5,-80 910.5,-86 904.5,-92 898.5,-92"/>
118
+ <text xml:space="preserve" text-anchor="middle" x="862.75" y="-76.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Exploit PoC</text>
119
+ <text xml:space="preserve" text-anchor="middle" x="862.75" y="-64.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Metasploit module</text>
120
120
  </g>
121
121
  <!-- FFI&#45;&gt;Xpl -->
122
122
  <g id="edge7" class="edge">
123
123
  <title>FFI&#45;&gt;Xpl</title>
124
- <path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M703.08,-48.49C725.98,-52.9 754.22,-58.34 778.73,-63.06"/>
125
- <polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="777.95,-65.77 786.34,-64.53 779.01,-60.27 777.95,-65.77"/>
124
+ <path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M729.53,-50.29C753.39,-54.57 781.01,-59.52 804.81,-63.79"/>
125
+ <polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="804.11,-66.51 812.48,-65.17 805.1,-61 804.11,-66.51"/>
126
126
  </g>
127
127
  <!-- Fuzz&#45;&gt;Xpl -->
128
128
  <g id="edge8" class="edge">
129
129
  <title>Fuzz&#45;&gt;Xpl</title>
130
- <path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M702.63,-99.6C725.61,-95.17 754.07,-89.69 778.75,-84.93"/>
131
- <polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="779.09,-87.72 786.42,-83.45 778.03,-82.22 779.09,-87.72"/>
130
+ <path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M716.11,-100.11C742.43,-95.39 776.18,-89.34 804.56,-84.25"/>
131
+ <polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="805.04,-87.01 812.42,-82.84 804.05,-81.5 805.04,-87.01"/>
132
132
  </g>
133
133
  </g>
134
134
  </svg>