@aegis-scan/skills 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/ATTRIBUTION.md +93 -0
  2. package/package.json +1 -1
  3. package/sbom.cdx.json +1 -0
  4. package/skills/compliance/aegis-native/brutaler-anwalt/.claude-plugin/plugin.json +108 -0
  5. package/skills/compliance/aegis-native/brutaler-anwalt/CHANGELOG.md +878 -0
  6. package/skills/compliance/aegis-native/brutaler-anwalt/HANDOVER-LO-LIVE-VERIFICATION-2026-05-15.md +187 -0
  7. package/skills/compliance/aegis-native/brutaler-anwalt/README.md +9 -3
  8. package/skills/compliance/aegis-native/brutaler-anwalt/SKILL.md +93 -14
  9. package/skills/compliance/aegis-native/brutaler-anwalt/commands/audit.md +193 -0
  10. package/skills/compliance/aegis-native/brutaler-anwalt/commands/avv-redline.md +246 -0
  11. package/skills/compliance/aegis-native/brutaler-anwalt/commands/az-verify.md +155 -0
  12. package/skills/compliance/aegis-native/brutaler-anwalt/commands/cold-start.md +157 -0
  13. package/skills/compliance/aegis-native/brutaler-anwalt/commands/dsar-respond.md +180 -0
  14. package/skills/compliance/aegis-native/brutaler-anwalt/commands/health.md +50 -0
  15. package/skills/compliance/aegis-native/brutaler-anwalt/commands/simulate.md +158 -0
  16. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/post_write.py +315 -0
  17. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/prompt_submit.py +144 -0
  18. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/session_start.py +57 -0
  19. package/skills/compliance/aegis-native/brutaler-anwalt/hooks/triggers.json +191 -0
  20. package/skills/compliance/aegis-native/brutaler-anwalt/references/INDEX.md +102 -0
  21. package/skills/compliance/aegis-native/brutaler-anwalt/references/abmahn-templates.md +1 -1
  22. package/skills/compliance/aegis-native/brutaler-anwalt/references/aegis-integration.md +60 -5
  23. package/skills/compliance/aegis-native/brutaler-anwalt/references/audit-patterns.md +745 -11
  24. package/skills/compliance/aegis-native/brutaler-anwalt/references/az-auffuellung-batch1.md +468 -0
  25. package/skills/compliance/aegis-native/brutaler-anwalt/references/bgh-urteile.md +106 -30
  26. package/skills/compliance/aegis-native/brutaler-anwalt/references/branchenrecht.md +247 -2
  27. package/skills/compliance/aegis-native/brutaler-anwalt/references/checklisten.md +75 -2
  28. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-aufsichtsbehoerden-taetigkeitsberichte-2024.md +310 -0
  29. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-bussgeld-argumentations-layer.md +598 -0
  30. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-dsk-beschluesse.md +346 -0
  31. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/audit-relevance.md +76 -0
  32. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/paragraphs.md +115 -0
  33. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/audit-relevance.md +58 -0
  34. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/paragraphs.md +95 -0
  35. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/audit-relevance.md +60 -0
  36. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/paragraphs.md +90 -0
  37. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/audit-relevance.md +73 -0
  38. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/paragraphs.md +114 -0
  39. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/audit-relevance.md +72 -0
  40. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/paragraphs.md +103 -0
  41. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/audit-relevance.md +65 -0
  42. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/paragraphs.md +102 -0
  43. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/audit-relevance.md +66 -0
  44. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/paragraphs.md +108 -0
  45. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/audit-relevance.md +80 -0
  46. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/paragraphs.md +102 -0
  47. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/audit-relevance.md +89 -0
  48. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/paragraphs.md +107 -0
  49. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/audit-relevance.md +62 -0
  50. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/paragraphs.md +119 -0
  51. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/audit-relevance.md +70 -0
  52. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/paragraphs.md +125 -0
  53. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/audit-relevance.md +70 -0
  54. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/paragraphs.md +116 -0
  55. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/INDEX.md +152 -0
  56. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/audit-relevance.md +64 -0
  57. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/paragraphs.md +110 -0
  58. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/audit-relevance.md +63 -0
  59. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/paragraphs.md +90 -0
  60. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/audit-relevance.md +61 -0
  61. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/paragraphs.md +96 -0
  62. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/audit-relevance.md +54 -0
  63. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/paragraphs.md +82 -0
  64. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/audit-relevance.md +76 -0
  65. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/paragraphs.md +86 -0
  66. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/audit-relevance.md +84 -0
  67. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/paragraphs.md +114 -0
  68. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/audit-relevance.md +92 -0
  69. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/paragraphs.md +91 -0
  70. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/audit-relevance.md +85 -0
  71. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/paragraphs.md +166 -0
  72. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/audit-relevance.md +71 -0
  73. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/paragraphs.md +102 -0
  74. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VERIFICATION-NOTES.md +111 -0
  75. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/audit-relevance.md +65 -0
  76. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/paragraphs.md +101 -0
  77. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/audit-relevance.md +62 -0
  78. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/paragraphs.md +120 -0
  79. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/audit-relevance.md +64 -0
  80. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/paragraphs.md +120 -0
  81. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/audit-relevance.md +68 -0
  82. package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/paragraphs.md +110 -0
  83. package/skills/compliance/aegis-native/brutaler-anwalt/references/dsgvo.md +55 -8
  84. package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-edpb-guidelines.md +505 -0
  85. package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-eugh-dsgvo-schadensersatz.md +223 -0
  86. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BDSG/audit-relevance.md +31 -0
  87. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BFSG/audit-relevance.md +39 -0
  88. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BGB/audit-relevance.md +42 -0
  89. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DDG/audit-relevance.md +28 -0
  90. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DSGVO/audit-relevance.md +35 -0
  91. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/articles.md +4 -1
  92. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/audit-relevance.md +139 -0
  93. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/gpai-pflichten.md +102 -0
  94. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/hochrisiko-annex-iii.md +134 -0
  95. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/sanktionen-art-99.md +97 -0
  96. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/transparenz-art-50.md +120 -0
  97. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/uebergangsfristen.md +109 -0
  98. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CER-2022-2557/articles.md +42 -0
  99. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CRA-2024-2847/articles.md +87 -0
  100. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSDDD-2024-1760/articles.md +43 -0
  101. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSRD-2022-2464/articles.md +42 -0
  102. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DGA-2022-868/articles.md +53 -0
  103. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DMA-2022-1925/articles.md +55 -0
  104. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/articles.md +164 -0
  105. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/audit-relevance.md +86 -0
  106. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/articles.md +3 -0
  107. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/audit-relevance.md +110 -0
  108. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/notice-and-action.md +138 -0
  109. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/small-platform-pflichten.md +109 -0
  110. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/trusted-flaggers.md +77 -0
  111. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/vlop-vlose.md +130 -0
  112. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/articles.md +102 -0
  113. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/audit-relevance.md +77 -0
  114. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/articles.md +124 -0
  115. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/audit-relevance.md +85 -0
  116. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/NIS2-2022-2555/articles.md +101 -0
  117. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/ProdHaftRL-2024-2853/articles.md +68 -0
  118. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/eIDAS-2024-1183/articles.md +43 -0
  119. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/KWG.md +52 -0
  120. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/PSD2.md +67 -0
  121. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/ZAG.md +50 -0
  122. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/GlueStV/articles.md +86 -0
  123. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HGB-AO/audit-relevance.md +27 -0
  124. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HinSchG/articles.md +96 -0
  125. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/JuSchG-JMStV/articles.md +86 -0
  126. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/KritisDachG/articles.md +39 -0
  127. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/LkSG/articles.md +90 -0
  128. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/DiGAV.md +60 -0
  129. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/IVDR-2017-746.md +51 -0
  130. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/MDR-2017-745.md +85 -0
  131. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/NIS2UmsuCG-BSIG/articles.md +53 -0
  132. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/StGB/relevante-paragraphen.md +157 -0
  133. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/audit-relevance.md +33 -0
  134. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/paragraphs.md +3 -2
  135. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TKG/articles.md +73 -0
  136. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/audit-relevance.md +39 -0
  137. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/paragraphs.md +71 -3
  138. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VERIFICATION-STATUS.md +266 -0
  139. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VSBG/audit-relevance.md +37 -0
  140. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/articles.md +92 -0
  141. package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/audit-relevance.md +62 -0
  142. package/skills/compliance/aegis-native/brutaler-anwalt/references/it-recht.md +115 -9
  143. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/INDEX.md +1 -1
  144. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/anthropic-dpa.md +87 -0
  145. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/cookie-banner-pattern.md +202 -0
  146. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/dse-section-pattern.md +198 -0
  147. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/tracking-server-endpoint.md +193 -0
  148. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/auth0-tom.md +92 -0
  149. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/clerk-tom.md +84 -0
  150. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/auth-cookies-pattern.md +295 -0
  151. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/cookie-banner-pattern.md +318 -0
  152. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/gdpr-cleanup-celery.md +339 -0
  153. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/cookie-banner-pattern.md +237 -0
  154. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/gdpr-routes-pattern.md +256 -0
  155. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/helmet-csp-pattern.md +207 -0
  156. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/agb-versioning-pattern.md +305 -0
  157. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/cookie-banner-pattern.md +287 -0
  158. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/gdpr-models-pattern.md +290 -0
  159. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/tracking-config-pattern.md +263 -0
  160. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/auth-pattern.md +265 -0
  161. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/cookie-banner-pattern.md +255 -0
  162. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/gdpr-cleanup-cron.md +244 -0
  163. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/tracking-interceptor.md +239 -0
  164. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/api-route-bearer-auth.md +103 -0
  165. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/dynamic-rendering-headers.md +83 -0
  166. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/env-driven-tracking.md +135 -0
  167. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/cookie-banner-pattern.md +294 -0
  168. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/devise-dsgvo-pattern.md +262 -0
  169. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/gdpr-anonymization-pattern.md +283 -0
  170. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/consent-gate-pattern.md +99 -0
  171. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/cookie-banner-pattern.md +204 -0
  172. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/cms-pii-pattern.md +301 -0
  173. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/notice-and-action-plugin.md +371 -0
  174. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/cookie-banner-pattern.md +234 -0
  175. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/dse-section-pattern.md +231 -0
  176. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/sveltekit-server-hooks-pattern.md +217 -0
  177. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/google-analytics-consent.md +129 -0
  178. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/posthog-consent.md +79 -0
  179. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/cookie-banner-pattern.md +208 -0
  180. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/dse-i18n-pattern.md +204 -0
  181. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/nuxt-vs-vue-only-pattern.md +197 -0
  182. package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/tracking-pinia-pattern.md +211 -0
  183. package/skills/compliance/aegis-native/brutaler-anwalt/references/strafrecht-steuer.md +1 -1
  184. package/skills/compliance/aegis-native/brutaler-anwalt/references/streitwerte.json +176 -0
  185. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/DSFA-template.md +80 -0
  186. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/VVT-template-file-upload.md +98 -0
  187. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-EN-international.md +267 -0
  188. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Audit-Klausel-Varianten.md +148 -0
  189. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-CH-revDSG.md +127 -0
  190. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module2-controller-processor.md +180 -0
  191. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module3-processor-subprocessor.md +144 -0
  192. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Sub-Processor-List.md +114 -0
  193. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-TOMs.md +197 -0
  194. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-UK-IDTA.md +131 -0
  195. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-standard-DE.md +288 -0
  196. package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/Joint-Controller-Vertrag-Art-26.md +265 -0
  197. package/skills/compliance/aegis-native/brutaler-anwalt/scripts/health-check.sh +190 -48
  198. package/skills/compliance/aegis-native/brutaler-anwalt/scripts/test-triggers.sh +145 -0
  199. package/skills/compliance/aegis-native/brutaler-anwalt/settings.json +90 -0
  200. package/skills/defensive/permoon-fork/README.md +40 -0
  201. package/skills/defensive/permoon-fork/multi-model-consolidation/SKILL.md +47 -0
  202. package/skills/defensive/permoon-fork/multi-model-severity/SKILL.md +34 -0
  203. package/skills/defensive/permoon-fork/multi-model-system-prompt/SKILL.md +40 -0
  204. package/skills/foundation/aegis-native/aegis-handover-writer/SKILL.md +1 -1
  205. package/skills/foundation/aegis-native/aegis-quality-gates/SKILL.md +1 -1
  206. package/skills/offensive/airecon-fork/ctf-crypto/SKILL.md +260 -0
  207. package/skills/offensive/airecon-fork/ctf-crypto-modern-ciphers/SKILL.md +688 -0
  208. package/skills/offensive/airecon-fork/ctf-forensics/SKILL.md +253 -0
  209. package/skills/offensive/airecon-fork/ctf-forensics-network/SKILL.md +480 -0
  210. package/skills/offensive/airecon-fork/ctf-heap-advanced/SKILL.md +336 -0
  211. package/skills/offensive/airecon-fork/ctf-pwn/SKILL.md +294 -0
  212. package/skills/offensive/airecon-fork/ctf-pwn-rop-and-shellcode/SKILL.md +392 -0
  213. package/skills/offensive/airecon-fork/ctf-reversing/SKILL.md +284 -0
  214. package/skills/offensive/airecon-fork/frameworks-django/SKILL.md +268 -0
  215. package/skills/offensive/airecon-fork/frameworks-dotnet/SKILL.md +280 -0
  216. package/skills/offensive/airecon-fork/frameworks-express/SKILL.md +266 -0
  217. package/skills/offensive/airecon-fork/frameworks-fastapi/SKILL.md +193 -0
  218. package/skills/offensive/airecon-fork/frameworks-flask/SKILL.md +297 -0
  219. package/skills/offensive/airecon-fork/frameworks-laravel/SKILL.md +260 -0
  220. package/skills/offensive/airecon-fork/frameworks-nextjs/SKILL.md +230 -0
  221. package/skills/offensive/airecon-fork/frameworks-php/SKILL.md +271 -0
  222. package/skills/offensive/airecon-fork/frameworks-rails/SKILL.md +269 -0
  223. package/skills/offensive/airecon-fork/frameworks-spring/SKILL.md +245 -0
  224. package/skills/offensive/airecon-fork/frameworks-wordpress/SKILL.md +348 -0
  225. package/skills/offensive/airecon-fork/payloads-command-injection/SKILL.md +459 -0
  226. package/skills/offensive/airecon-fork/payloads-http-parameter-pollution/SKILL.md +129 -0
  227. package/skills/offensive/airecon-fork/payloads-ldap-injection/SKILL.md +100 -0
  228. package/skills/offensive/airecon-fork/payloads-lfi/SKILL.md +485 -0
  229. package/skills/offensive/airecon-fork/payloads-sqli/SKILL.md +419 -0
  230. package/skills/offensive/airecon-fork/payloads-ssrf/SKILL.md +125 -0
  231. package/skills/offensive/airecon-fork/payloads-ssti/SKILL.md +443 -0
  232. package/skills/offensive/airecon-fork/payloads-xss/SKILL.md +447 -0
  233. package/skills/offensive/airecon-fork/payloads-xxe/SKILL.md +172 -0
  234. package/skills/offensive/airecon-fork/postexploit-ad-credential-attacks/SKILL.md +306 -0
  235. package/skills/offensive/airecon-fork/postexploit-container-escape/SKILL.md +299 -0
  236. package/skills/offensive/airecon-fork/postexploit-credential-dumping/SKILL.md +249 -0
  237. package/skills/offensive/airecon-fork/postexploit-lateral-movement/SKILL.md +194 -0
  238. package/skills/offensive/airecon-fork/postexploit-linux-privesc/SKILL.md +252 -0
  239. package/skills/offensive/airecon-fork/postexploit-netexec-workflow/SKILL.md +302 -0
  240. package/skills/offensive/airecon-fork/postexploit-pivoting/SKILL.md +205 -0
  241. package/skills/offensive/airecon-fork/postexploit-windows-privesc/SKILL.md +210 -0
  242. package/skills/offensive/airecon-fork/protocols-active-directory/SKILL.md +314 -0
  243. package/skills/offensive/airecon-fork/protocols-dns/SKILL.md +203 -0
  244. package/skills/offensive/airecon-fork/protocols-ftp/SKILL.md +159 -0
  245. package/skills/offensive/airecon-fork/protocols-graphql/SKILL.md +648 -0
  246. package/skills/offensive/airecon-fork/protocols-kerberos/SKILL.md +168 -0
  247. package/skills/offensive/airecon-fork/protocols-ldap/SKILL.md +245 -0
  248. package/skills/offensive/airecon-fork/protocols-rdp/SKILL.md +186 -0
  249. package/skills/offensive/airecon-fork/protocols-smb/SKILL.md +191 -0
  250. package/skills/offensive/airecon-fork/protocols-smtp-imap/SKILL.md +263 -0
  251. package/skills/offensive/airecon-fork/protocols-snmp/SKILL.md +147 -0
  252. package/skills/offensive/airecon-fork/protocols-ssh/SKILL.md +287 -0
  253. package/skills/offensive/airecon-fork/reconnaissance-asn-whois-osint/SKILL.md +236 -0
  254. package/skills/offensive/airecon-fork/reconnaissance-ctf-methodology/SKILL.md +435 -0
  255. package/skills/offensive/airecon-fork/reconnaissance-dorking/SKILL.md +182 -0
  256. package/skills/offensive/airecon-fork/reconnaissance-exposed-devtools-detection/SKILL.md +513 -0
  257. package/skills/offensive/airecon-fork/reconnaissance-full-recon/SKILL.md +305 -0
  258. package/skills/offensive/airecon-fork/reconnaissance-internal-pentest/SKILL.md +202 -0
  259. package/skills/offensive/airecon-fork/reconnaissance-javascript-analysis/SKILL.md +167 -0
  260. package/skills/offensive/airecon-fork/reconnaissance-js-internal-hostname-intelligence/SKILL.md +391 -0
  261. package/skills/offensive/airecon-fork/reconnaissance-monitoring-secrets-exposure/SKILL.md +394 -0
  262. package/skills/offensive/airecon-fork/reconnaissance-shodan-censys/SKILL.md +279 -0
  263. package/skills/offensive/airecon-fork/reconnaissance-subdomain-enum/SKILL.md +952 -0
  264. package/skills/offensive/airecon-fork/technologies-cicd-attacks/SKILL.md +283 -0
  265. package/skills/offensive/airecon-fork/technologies-cloud-security/SKILL.md +299 -0
  266. package/skills/offensive/airecon-fork/technologies-docker-container/SKILL.md +266 -0
  267. package/skills/offensive/airecon-fork/technologies-elasticsearch/SKILL.md +226 -0
  268. package/skills/offensive/airecon-fork/technologies-firebase-firestore/SKILL.md +213 -0
  269. package/skills/offensive/airecon-fork/technologies-frida-hooking/SKILL.md +387 -0
  270. package/skills/offensive/airecon-fork/technologies-gitlab-github/SKILL.md +259 -0
  271. package/skills/offensive/airecon-fork/technologies-jenkins/SKILL.md +256 -0
  272. package/skills/offensive/airecon-fork/technologies-kubernetes-pentest/SKILL.md +281 -0
  273. package/skills/offensive/airecon-fork/technologies-memcached/SKILL.md +230 -0
  274. package/skills/offensive/airecon-fork/technologies-mobile-app-pentesting/SKILL.md +105 -0
  275. package/skills/offensive/airecon-fork/technologies-mongodb/SKILL.md +257 -0
  276. package/skills/offensive/airecon-fork/technologies-nginx-apache/SKILL.md +280 -0
  277. package/skills/offensive/airecon-fork/technologies-observability-stack-attacks/SKILL.md +501 -0
  278. package/skills/offensive/airecon-fork/technologies-redis/SKILL.md +236 -0
  279. package/skills/offensive/airecon-fork/technologies-supabase/SKILL.md +270 -0
  280. package/skills/offensive/airecon-fork/technologies-tomcat/SKILL.md +232 -0
  281. package/skills/offensive/airecon-fork/tools-advanced-fuzzing/SKILL.md +351 -0
  282. package/skills/offensive/airecon-fork/tools-browser-automation/SKILL.md +300 -0
  283. package/skills/offensive/airecon-fork/tools-caido/SKILL.md +776 -0
  284. package/skills/offensive/airecon-fork/tools-code-review/SKILL.md +71 -0
  285. package/skills/offensive/airecon-fork/tools-dalfox/SKILL.md +189 -0
  286. package/skills/offensive/airecon-fork/tools-hashcat-john/SKILL.md +258 -0
  287. package/skills/offensive/airecon-fork/tools-impacket/SKILL.md +227 -0
  288. package/skills/offensive/airecon-fork/tools-install/SKILL.md +202 -0
  289. package/skills/offensive/airecon-fork/tools-metasploit/SKILL.md +270 -0
  290. package/skills/offensive/airecon-fork/tools-nmap/SKILL.md +211 -0
  291. package/skills/offensive/airecon-fork/tools-nuclei/SKILL.md +175 -0
  292. package/skills/offensive/airecon-fork/tools-reporting/SKILL.md +47 -0
  293. package/skills/offensive/airecon-fork/tools-scripting/SKILL.md +1939 -0
  294. package/skills/offensive/airecon-fork/tools-semgrep/SKILL.md +202 -0
  295. package/skills/offensive/airecon-fork/tools-source-audit/SKILL.md +308 -0
  296. package/skills/offensive/airecon-fork/tools-sqlmap/SKILL.md +137 -0
  297. package/skills/offensive/airecon-fork/tools-tool-catalog/SKILL.md +320 -0
  298. package/skills/offensive/airecon-fork/tools-wapiti/SKILL.md +293 -0
  299. package/skills/offensive/airecon-fork/vulnerabilities-2fa-bypass/SKILL.md +219 -0
  300. package/skills/offensive/airecon-fork/vulnerabilities-account-takeover/SKILL.md +223 -0
  301. package/skills/offensive/airecon-fork/vulnerabilities-api-schema-exposure/SKILL.md +849 -0
  302. package/skills/offensive/airecon-fork/vulnerabilities-api-testing/SKILL.md +278 -0
  303. package/skills/offensive/airecon-fork/vulnerabilities-auth-workflow/SKILL.md +252 -0
  304. package/skills/offensive/airecon-fork/vulnerabilities-authentication-jwt/SKILL.md +158 -0
  305. package/skills/offensive/airecon-fork/vulnerabilities-bfla/SKILL.md +156 -0
  306. package/skills/offensive/airecon-fork/vulnerabilities-blind-xss/SKILL.md +111 -0
  307. package/skills/offensive/airecon-fork/vulnerabilities-business-logic/SKILL.md +313 -0
  308. package/skills/offensive/airecon-fork/vulnerabilities-cors/SKILL.md +242 -0
  309. package/skills/offensive/airecon-fork/vulnerabilities-crlf-injection/SKILL.md +146 -0
  310. package/skills/offensive/airecon-fork/vulnerabilities-csrf/SKILL.md +200 -0
  311. package/skills/offensive/airecon-fork/vulnerabilities-csrf-advanced-bypass/SKILL.md +536 -0
  312. package/skills/offensive/airecon-fork/vulnerabilities-deserialization/SKILL.md +363 -0
  313. package/skills/offensive/airecon-fork/vulnerabilities-dom-based-vulnerabilities/SKILL.md +105 -0
  314. package/skills/offensive/airecon-fork/vulnerabilities-exploitation/SKILL.md +286 -0
  315. package/skills/offensive/airecon-fork/vulnerabilities-grpc/SKILL.md +123 -0
  316. package/skills/offensive/airecon-fork/vulnerabilities-host-header-injection/SKILL.md +169 -0
  317. package/skills/offensive/airecon-fork/vulnerabilities-http-smuggling/SKILL.md +411 -0
  318. package/skills/offensive/airecon-fork/vulnerabilities-idor/SKILL.md +705 -0
  319. package/skills/offensive/airecon-fork/vulnerabilities-information-disclosure/SKILL.md +867 -0
  320. package/skills/offensive/airecon-fork/vulnerabilities-insecure-file-uploads/SKILL.md +190 -0
  321. package/skills/offensive/airecon-fork/vulnerabilities-jwt-attacks/SKILL.md +270 -0
  322. package/skills/offensive/airecon-fork/vulnerabilities-kubernetes/SKILL.md +252 -0
  323. package/skills/offensive/airecon-fork/vulnerabilities-mass-assignment/SKILL.md +788 -0
  324. package/skills/offensive/airecon-fork/vulnerabilities-nosql-injection/SKILL.md +204 -0
  325. package/skills/offensive/airecon-fork/vulnerabilities-oauth-misconfig/SKILL.md +220 -0
  326. package/skills/offensive/airecon-fork/vulnerabilities-oauth-saml/SKILL.md +163 -0
  327. package/skills/offensive/airecon-fork/vulnerabilities-open-redirect/SKILL.md +167 -0
  328. package/skills/offensive/airecon-fork/vulnerabilities-password-reset-poisoning/SKILL.md +66 -0
  329. package/skills/offensive/airecon-fork/vulnerabilities-path-traversal/SKILL.md +192 -0
  330. package/skills/offensive/airecon-fork/vulnerabilities-privilege-escalation/SKILL.md +320 -0
  331. package/skills/offensive/airecon-fork/vulnerabilities-prototype-pollution/SKILL.md +242 -0
  332. package/skills/offensive/airecon-fork/vulnerabilities-race-conditions/SKILL.md +192 -0
  333. package/skills/offensive/airecon-fork/vulnerabilities-rce/SKILL.md +240 -0
  334. package/skills/offensive/airecon-fork/vulnerabilities-sensitive-file-pii-exposure/SKILL.md +589 -0
  335. package/skills/offensive/airecon-fork/vulnerabilities-spring4shell/SKILL.md +86 -0
  336. package/skills/offensive/airecon-fork/vulnerabilities-sql-injection/SKILL.md +313 -0
  337. package/skills/offensive/airecon-fork/vulnerabilities-ssrf/SKILL.md +183 -0
  338. package/skills/offensive/airecon-fork/vulnerabilities-ssti/SKILL.md +344 -0
  339. package/skills/offensive/airecon-fork/vulnerabilities-subdomain-takeover/SKILL.md +160 -0
  340. package/skills/offensive/airecon-fork/vulnerabilities-supply-chain/SKILL.md +125 -0
  341. package/skills/offensive/airecon-fork/vulnerabilities-unhandled-exception-differential/SKILL.md +742 -0
  342. package/skills/offensive/airecon-fork/vulnerabilities-waf-detection/SKILL.md +90 -0
  343. package/skills/offensive/airecon-fork/vulnerabilities-web-cache-poisoning/SKILL.md +233 -0
  344. package/skills/offensive/airecon-fork/vulnerabilities-websocket/SKILL.md +180 -0
  345. package/skills/offensive/airecon-fork/vulnerabilities-xss/SKILL.md +316 -0
  346. package/skills/offensive/airecon-fork/vulnerabilities-xxe/SKILL.md +222 -0
@@ -0,0 +1,202 @@
1
+ <!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
2
+
3
+ # semgrep — Usage Guide for AIRecon
4
+
5
+ semgrep is a static analysis tool that finds patterns in source code. It is fundamentally different
6
+ from network scanners — it reads code files and reports where specific patterns appear. This means
7
+ it is only useful when you have actual source code or client-side files to analyze. Running semgrep
8
+ on an empty directory or before code has been obtained produces nothing useful.
9
+
10
+ semgrep findings are NOT confirmed vulnerabilities. They are leads that require manual reading
11
+ and verification. Every semgrep hit must be manually inspected before any further action is taken.
12
+
13
+ ---
14
+
15
+ ## MANDATORY PRE-CONDITIONS (All must be true before using semgrep)
16
+
17
+ [ ] You have actual source code, configuration files, or client-side assets to analyze.
18
+ This means you have already obtained one or more of the following:
19
+ - JavaScript bundles extracted from a live web application
20
+ - Source code from an exposed git repository (via git-dumper, GitLab API, etc.)
21
+ - Configuration files discovered during directory enumeration
22
+ - Uploaded or leaked source archives found during OSINT
23
+ [ ] The code is written to disk and accessible — semgrep cannot analyze remote URLs.
24
+ Extracted files must be in the workspace before semgrep can read them.
25
+ [ ] You have a specific hypothesis about what you are looking for.
26
+ State it: "I extracted the JS bundle and want to find hardcoded API keys and secrets"
27
+ or "I have the backend Python source and want to find SQL concatenation patterns."
28
+ NOT: "I will run semgrep to find vulnerabilities" — this is too vague.
29
+ [ ] You have selected a ruleset that matches the programming language of the code you found.
30
+ Running a Java ruleset on JavaScript produces false negatives. Match language precisely.
31
+
32
+ Using semgrep before obtaining source code = produces zero output, wastes time.
33
+ Running semgrep without reading its findings manually = not security testing, it is checkbox theater.
34
+
35
+ ---
36
+
37
+ ## What semgrep Is Good At (When Code Is Available)
38
+
39
+ STRONG USE CASES:
40
+ - Finding hardcoded secrets, API keys, and tokens in JS bundles or config files
41
+ - Detecting dangerous function calls: eval(), exec(), system(), unserialize(), etc.
42
+ - Identifying SQL string concatenation patterns that suggest injection vulnerability
43
+ - Finding insecure cryptographic usage (MD5, SHA1 for passwords, weak RNG)
44
+ - Spotting prototype pollution sinks in JavaScript (obj[key] = value patterns)
45
+ - Detecting SSTI-prone template rendering calls
46
+ - Mapping all locations where user input touches dangerous sinks (DOM XSS sources/sinks)
47
+ - Finding dangerously misconfigured security headers in framework config files
48
+
49
+ WEAK USE CASES (manual reading is better):
50
+ - Business logic flaws — patterns cannot capture intent
51
+ - Authorization bypass — requires understanding of the full request flow
52
+ - Race conditions — timing-dependent, not findable via static patterns
53
+ - Complex chained vulnerabilities — semgrep sees one file at a time, not the full system
54
+
55
+ semgrep finds WHERE code might be dangerous.
56
+ You must determine IF it actually is dangerous by reading the surrounding context manually.
57
+
58
+ ---
59
+
60
+ ## Source Code Acquisition — Get This First
61
+
62
+ Before semgrep can be used, code must be obtained. Priority order:
63
+
64
+ 1. EXPOSED GIT REPOSITORY:
65
+ If /.git/ is accessible: use git-dumper to reconstruct the full source tree.
66
+ If GitLab/GitHub is linked in JS or robots.txt: clone or access the repo directly.
67
+ Output: a full source directory you can analyze.
68
+
69
+ 2. JAVASCRIPT BUNDLE EXTRACTION:
70
+ After browser profiling: collect all .js URLs from the page source.
71
+ Download each bundle: curl -s <url> -o output/js/<filename>.js
72
+ De-obfuscate if minified: js-beautify output/js/<filename>.js -o output/js/<filename>_clean.js
73
+ Output: readable JS files for analysis.
74
+
75
+ 3. EXPOSED CONFIGURATION FILES:
76
+ If directory enumeration found config files (.env, config.yml, settings.py, web.config, etc.):
77
+ Download them: curl -s <url> -o output/configs/<filename>
78
+ Output: configuration files for secret and misconfiguration analysis.
79
+
80
+ 4. SOURCE CODE ARCHIVE:
81
+ If a .zip, .tar.gz, or backup file was found: download and extract it.
82
+ Output: a source tree for analysis.
83
+
84
+ DO NOT run semgrep until at least one of the above has produced files on disk.
85
+
86
+ ---
87
+
88
+ ## Ruleset Selection — Language and Context Must Match
89
+
90
+ JAVASCRIPT / TYPESCRIPT (extracted from web app):
91
+ Detect secrets and dangerous patterns:
92
+ semgrep --config=p/javascript -l javascript output/js/ --json -o output/semgrep_js.json
93
+ Detect prototype pollution and DOM XSS sinks:
94
+ semgrep --config=p/xss output/js/ --json -o output/semgrep_xss.json
95
+ Detect hardcoded secrets:
96
+ semgrep --config=p/secrets output/js/ --json -o output/semgrep_secrets.json
97
+
98
+ PYTHON (backend source if obtained):
99
+ Detect injection patterns and insecure functions:
100
+ semgrep --config=p/python output/src/ --json -o output/semgrep_python.json
101
+ OWASP top 10 patterns:
102
+ semgrep --config=p/owasp-top-ten output/src/ --json -o output/semgrep_owasp.json
103
+
104
+ JAVA (if backend source is available):
105
+ semgrep --config=p/java output/src/ --json -o output/semgrep_java.json
106
+
107
+ PHP (if CMS or backend PHP source obtained):
108
+ semgrep --config=p/php output/src/ --json -o output/semgrep_php.json
109
+
110
+ CONFIGURATION FILES (any language — secret and credential detection):
111
+ semgrep --config=p/secrets output/configs/ --json -o output/semgrep_config_secrets.json
112
+ semgrep --config=p/trailofbits output/ --json -o output/semgrep_tob.json
113
+
114
+ GENERIC PATTERNS (use when language is uncertain or mixed codebase):
115
+ semgrep --config=p/security-audit output/ --json -o output/semgrep_audit.json
116
+
117
+ NEVER use these patterns:
118
+ semgrep --config=auto . (auto config on empty or irrelevant directory)
119
+ semgrep --config=p/java output/js/ (wrong language for the files you have)
120
+ semgrep . --config=r/all (all rules on all files = noise, not signal)
121
+
122
+ ---
123
+
124
+ ## Interpreting Results — Every Finding Requires Manual Reading
125
+
126
+ semgrep output is a list of pattern matches, not a list of vulnerabilities.
127
+
128
+ After semgrep completes, for EVERY finding:
129
+
130
+ STEP 1: Open the flagged file at the flagged line.
131
+ Read the surrounding 20-30 lines. Understand what the code is doing.
132
+ Ask: "Is this actually dangerous in this specific context?"
133
+
134
+ STEP 2: Trace the data flow.
135
+ For injection findings: where does the input come from? Is it user-controlled?
136
+ For secret findings: is this a real credential or a placeholder/example?
137
+ For dangerous function findings: what data is passed to this function?
138
+
139
+ STEP 3: Determine exploitability.
140
+ Can you construct a request that reaches this code path with malicious input?
141
+ If yes: manually craft the proof-of-concept. Test it.
142
+ If no: discard the finding. Do not report unverified semgrep hits.
143
+
144
+ STEP 4: Classify severity based on actual impact, not semgrep's severity label.
145
+ semgrep's severity is based on the rule, not your specific target's context.
146
+ A "HIGH" semgrep finding on dead code is not a vulnerability.
147
+ A "LOW" semgrep finding on a critical authentication path may be critical.
148
+
149
+ A semgrep finding is NOT a vulnerability report.
150
+ Only call create_vulnerability_report after manual exploitation confirmation.
151
+
152
+ ---
153
+
154
+ ## Common High-Value Findings to Prioritize
155
+
156
+ When reading semgrep output, prioritize investigating these first:
157
+
158
+ SECRETS (immediate action required):
159
+ API keys, tokens, passwords, private keys found in code
160
+ → Try to use them: verify they are real and active
161
+ → Check scope: is the key for a service within the target's infrastructure?
162
+
163
+ SQL CONCATENATION:
164
+ String concatenation in database query construction
165
+ → Trace the input source manually
166
+ → Test the specific endpoint with manual injection probes first
167
+
168
+ EVAL / EXEC PATTERNS:
169
+ eval(), exec(), system(), shell_exec(), subprocess.call() with variable input
170
+ → Trace what reaches these functions
171
+ → Is it truly user-controlled? Which endpoint?
172
+
173
+ DANGEROUS DESERIALIZATION:
174
+ unserialize(), ObjectInputStream, pickle.loads() on untrusted data
175
+ → Confirm the data source is user-controlled
176
+ → Identify the deserialization library for gadget chain selection
177
+
178
+ PROTOTYPE POLLUTION SINKS:
179
+ obj[key] = value, Object.assign() with user input
180
+ → Confirm which client-side functionality is affected
181
+ → Verify if this leads to XSS or logic bypass
182
+
183
+ ---
184
+
185
+ ## Workflow Integration (Where semgrep Fits)
186
+
187
+ Phase 1 STEP 4 (Front-End & API Schema Extraction):
188
+ After JS bundle download and de-obfuscation: run semgrep on the cleaned JS files.
189
+ Purpose: find hidden endpoints, secrets, and dangerous patterns in client-side code.
190
+
191
+ Phase 2 (Attack Surface Expansion):
192
+ After git repository exposure is confirmed: run semgrep on the extracted source.
193
+ Purpose: map all injection sinks, dangerous function calls, and hardcoded credentials.
194
+
195
+ Phase 3+ (Vulnerability Testing):
196
+ semgrep findings from earlier phases guide which endpoints and parameters to test manually.
197
+ The finding tells you WHERE to look. Manual testing tells you IF it is exploitable.
198
+
199
+ NEVER:
200
+ Run semgrep before any source code has been obtained.
201
+ Report semgrep findings without manual verification.
202
+ Run semgrep with a ruleset that does not match the language of the files you have.
@@ -0,0 +1,308 @@
1
+ <!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
2
+
3
+ # source_audit — Source Code Security Analysis Guide
4
+
5
+ This skill covers how to find real security vulnerabilities in source code provided
6
+ via @/path references. It applies to any engagement where you have actual source files.
7
+
8
+ ---
9
+
10
+ ## WHEN THIS SKILL APPLIES
11
+
12
+ Load and follow this skill when:
13
+ - User provides source code via @/path (e.g. "find bug in @/home/user/project/")
14
+ - User asks to "audit", "review", "find bugs in", or "analyze" source code
15
+ - [FILE REFERENCE — DIRECTORY] or [FILE REFERENCE — TEXT] blocks appear in context
16
+ - User mentions a framework + source code (e.g. "find vulns in this Django app")
17
+
18
+ ---
19
+
20
+ ## STEP 0 — READ THE INJECTED CONTEXT FIRST (MANDATORY)
21
+
22
+ When a user attaches files/directories with @/path, the content is already injected into
23
+ your context. BEFORE running any tool:
24
+
25
+ 1. Read the [FILE REFERENCE] block(s) in the conversation context
26
+ 2. Identify the project language(s) from file extensions and imports
27
+ 3. Note the Docker path (shown in the FILE REFERENCE block) — use it for execute commands
28
+ 4. Map the overall project structure: entry points, routes, DB queries, auth logic, parsers
29
+
30
+ DO NOT run scanners blindly before reading the code. Static analysis confirms WHERE patterns
31
+ exist. Reading tells you IF they are exploitable.
32
+
33
+ ---
34
+
35
+ ## STEP 1 — LANGUAGE DETECTION
36
+
37
+ Determine the primary language from file extensions in the directory tree:
38
+
39
+ .py → Python
40
+ .js / .ts → JavaScript / TypeScript
41
+ .go → Go
42
+ .php → PHP
43
+ .rb → Ruby
44
+ .java → Java
45
+ .cs → C# / .NET
46
+ .c / .cpp → C / C++
47
+ Gemfile → Ruby (Rails likely)
48
+ pom.xml → Java (Maven)
49
+ build.gradle → Java / Kotlin (Gradle)
50
+ composer.json → PHP
51
+ package.json → Node.js (JavaScript / TypeScript)
52
+ go.mod → Go
53
+ Cargo.toml → Rust
54
+ requirements.txt / pyproject.toml → Python
55
+
56
+ Mixed codebases: run appropriate scanner for EACH language found.
57
+
58
+ ---
59
+
60
+ ## STEP 2 — STATIC ANALYSIS BY LANGUAGE
61
+
62
+ Run the correct scanner for the detected language. All scanners write output to
63
+ /workspace/<target>/output/. Replace <src_path> with the actual Docker path from the
64
+ FILE REFERENCE block.
65
+
66
+ ### PYTHON
67
+ # Bandit — SAST for common security flaws (injection, hardcoded secrets, weak crypto)
68
+ bandit -r <src_path> -f json -o /workspace/<target>/output/bandit.json -ll
69
+ # Semgrep — OWASP patterns + Python-specific rules
70
+ semgrep --config=p/python --config=p/owasp-top-ten <src_path> --json -o /workspace/<target>/output/semgrep_py.json
71
+ # Secrets
72
+ semgrep --config=p/secrets <src_path> --json -o /workspace/<target>/output/semgrep_secrets.json
73
+ # Trufflehog (git history secrets — only if .git exists)
74
+ trufflehog filesystem <src_path> --json > /workspace/<target>/output/trufflehog.json 2>/dev/null
75
+
76
+ ### JAVASCRIPT / TYPESCRIPT
77
+ # Semgrep JS/TS
78
+ semgrep --config=p/javascript --config=p/typescript <src_path> --json -o /workspace/<target>/output/semgrep_js.json
79
+ # XSS sinks
80
+ semgrep --config=p/xss <src_path> --json -o /workspace/<target>/output/semgrep_xss.json
81
+ # Secrets in JS
82
+ semgrep --config=p/secrets <src_path> --json -o /workspace/<target>/output/semgrep_secrets.json
83
+ # npm audit (if package-lock.json exists)
84
+ cd <src_path> && npm audit --json > /workspace/<target>/output/npm_audit.json 2>/dev/null
85
+
86
+ ### GO
87
+ # Gosec — Go security checker
88
+ which gosec || go install github.com/securego/gosec/v2/cmd/gosec@latest
89
+ gosec -fmt json -out /workspace/<target>/output/gosec.json ./... 2>/dev/null # run from src dir
90
+ # Semgrep Go
91
+ semgrep --config=p/golang <src_path> --json -o /workspace/<target>/output/semgrep_go.json
92
+
93
+ ### PHP
94
+ # Semgrep PHP
95
+ semgrep --config=p/php <src_path> --json -o /workspace/<target>/output/semgrep_php.json
96
+ # Semgrep secrets
97
+ semgrep --config=p/secrets <src_path> --json -o /workspace/<target>/output/semgrep_secrets.json
98
+
99
+ ### RUBY / RAILS
100
+ # Brakeman — Rails-specific SAST
101
+ which brakeman || gem install brakeman
102
+ brakeman <src_path> -f json -o /workspace/<target>/output/brakeman.json --no-pager 2>/dev/null
103
+ # Semgrep Ruby
104
+ semgrep --config=p/ruby <src_path> --json -o /workspace/<target>/output/semgrep_rb.json
105
+
106
+ ### JAVA
107
+ # Semgrep Java
108
+ semgrep --config=p/java --config=p/owasp-top-ten <src_path> --json -o /workspace/<target>/output/semgrep_java.json
109
+ # Secrets
110
+ semgrep --config=p/secrets <src_path> --json -o /workspace/<target>/output/semgrep_secrets.json
111
+
112
+ ### C# / .NET
113
+ # Semgrep C#
114
+ semgrep --config=p/csharp <src_path> --json -o /workspace/<target>/output/semgrep_cs.json
115
+
116
+ ### C / C++
117
+ # Flawfinder — C/C++ vulnerability scanner
118
+ which flawfinder || pip3 install flawfinder --break-system-packages
119
+ flawfinder --dataonly <src_path> > /workspace/<target>/output/flawfinder.txt
120
+ # Semgrep C/C++
121
+ semgrep --config=p/c <src_path> --json -o /workspace/<target>/output/semgrep_c.json
122
+
123
+ ### GENERIC (any language, secrets focus)
124
+ semgrep --config=p/secrets <src_path> --json -o /workspace/<target>/output/semgrep_secrets.json
125
+ semgrep --config=p/security-audit <src_path> --json -o /workspace/<target>/output/semgrep_audit.json
126
+ trufflehog filesystem <src_path> --json > /workspace/<target>/output/trufflehog.json 2>/dev/null
127
+
128
+ ---
129
+
130
+ ## STEP 3 — TRIAGE FINDINGS (MANDATORY — do not skip)
131
+
132
+ After scanners complete, parse and triage the output. Start with:
133
+
134
+ python3 -c "
135
+ import json, sys
136
+ with open('/workspace/<target>/output/bandit.json') as f:
137
+ d = json.load(f)
138
+ findings = d.get('results', [])
139
+ high = [r for r in findings if r['issue_severity'] in ('HIGH', 'MEDIUM')]
140
+ for r in sorted(high, key=lambda x: x['issue_severity'])[:20]:
141
+ print(f\"{r['issue_severity']:8} | {r['test_id']:20} | {r['filename']}:{r['line_number']} | {r['issue_text'][:80]}\")
142
+ "
143
+
144
+ For semgrep JSON output:
145
+ python3 -c "
146
+ import json
147
+ with open('/workspace/<target>/output/semgrep_py.json') as f:
148
+ d = json.load(f)
149
+ for r in d.get('results', [])[:30]:
150
+ sev = r.get('extra', {}).get('severity', '?')
151
+ msg = r.get('extra', {}).get('message', '')[:80]
152
+ path = r['path']
153
+ line = r['start']['line']
154
+ print(f'{sev:8} | {path}:{line} | {msg}')
155
+ "
156
+
157
+ PRIORITIZE (investigate first):
158
+ 1. Hardcoded secrets / API keys / passwords (immediate active credential test)
159
+ 2. SQL string concatenation → trace to user input → test endpoint
160
+ 3. eval() / exec() / system() / shell_exec() / subprocess with user input
161
+ 4. Unserialize / pickle.loads() / ObjectInputStream on untrusted data
162
+ 5. Path traversal: open() / file() with user-controlled path (no sanitization)
163
+ 6. SSRF: requests.get(user_input) / urllib.urlopen(user_input) patterns
164
+ 7. JWT without algorithm verification / weak secret
165
+ 8. Insecure cryptography: MD5/SHA1 for passwords, weak RNG
166
+
167
+ ---
168
+
169
+ ## STEP 4 — MANUAL CODE REVIEW (CRITICAL STEP)
170
+
171
+ For every high-priority finding from Step 3:
172
+
173
+ 1. Open the file at the flagged line: use read_file tool with the Docker path
174
+ 2. Read 30-50 lines around the finding
175
+ 3. Trace the data flow:
176
+ - Where does the input ORIGINATE? (HTTP request parameter, file upload, environment var?)
177
+ - Does it pass through any sanitization / validation? (Is it bypassable?)
178
+ - Does it reach the dangerous sink UNMODIFIED?
179
+ 4. Identify the triggering HTTP endpoint or function call
180
+ 5. Determine exploitability: can you craft a payload that reaches this sink?
181
+
182
+ For web apps — find the routes file first:
183
+ Python/Flask: app.py, routes.py, views.py, blueprints/
184
+ Django: urls.py, views.py
185
+ Express: routes/, app.js, index.js, server.js
186
+ Rails: config/routes.rb, app/controllers/
187
+ Laravel: routes/web.php, routes/api.php, app/Http/Controllers/
188
+ Spring Boot: @RequestMapping / @GetMapping / @PostMapping annotations
189
+
190
+ For each dangerous function: grep for all callers to map the full attack surface:
191
+ grep -rn "eval\|exec\|system\|shell_exec\|subprocess" <src_path> --include="*.py"
192
+
193
+ ---
194
+
195
+ ## STEP 5 — VULNERABILITY CLASSES TO PRIORITIZE IN SOURCE CODE
196
+
197
+ When reading code manually, look for these HIGH-IMPACT patterns:
198
+
199
+ INJECTION VULNERABILITIES:
200
+ SQL: "SELECT ... " + user_input OR f"SELECT ... {var}" (no parameterization)
201
+ CMD: subprocess.call(f"cmd {input}", shell=True) OR os.system(user_input)
202
+ SSTI: render_template_string(user_input) OR env.from_string(user_input)
203
+ XXE: ElementTree.parse() without defusedxml, lxml etree without resolve_entities=False
204
+ LDAP: ldap.search_s() with unsanitized user input
205
+
206
+ AUTHENTICATION & AUTHORIZATION:
207
+ Hardcoded credentials in source or config files
208
+ JWT: "algorithm": "none" OR jwt.decode() without algorithm verification
209
+ Session tokens: predictable / non-random (time-based, sequential)
210
+ IDOR: queries filtered only by user-supplied ID (no ownership check)
211
+ Mass Assignment: Model(**request.json) with no field filtering
212
+
213
+ DESERIALIZATION:
214
+ Python: pickle.loads(user_data) OR yaml.load(data, Loader=Loader) (not SafeLoader)
215
+ PHP: unserialize($_GET['data'])
216
+ Java: ObjectInputStream.readObject() OR XStream.fromXML() on untrusted data
217
+ Ruby: Marshal.load(user_data)
218
+
219
+ PATH TRAVERSAL:
220
+ open(user_input) without normalization and containment check
221
+ send_file(user_input) without path sanitization
222
+ os.path.join(base, user_input) when user_input starts with "/"
223
+
224
+ SSRF:
225
+ requests.get(user_input) OR urllib.urlopen(user_input) without URL validation
226
+ Webhooks: storing user-provided URLs and fetching them server-side
227
+ PDF/image generation from user-supplied URLs
228
+
229
+ CRYPTOGRAPHIC FAILURES:
230
+ hashlib.md5(password) OR hashlib.sha1(password) for password storage
231
+ random.random() OR random.randint() for tokens, nonces, reset codes (use secrets.token_hex)
232
+ Hard-coded IV / symmetric keys in source
233
+
234
+ SECRETS IN CODE:
235
+ API_KEY = "sk-..." or PASSWORD = "hunter2" in any source file
236
+ .env files committed to repo (check git log --all -p -- .env)
237
+ AWS credentials, private keys, tokens in comments or config
238
+
239
+ ---
240
+
241
+ ## STEP 6 — CONFIRM AND EXPLOIT
242
+
243
+ A finding is only a vulnerability when exploited with evidence. For each confirmed path:
244
+
245
+ [ ] Craft the minimum payload that reaches the sink
246
+ [ ] Trigger it via the appropriate mechanism (HTTP request, file upload, CLI argument)
247
+ [ ] Capture the concrete output (error, data exfiltrated, RCE output, blind timing)
248
+ [ ] Document: vulnerable line → data flow → endpoint → payload → evidence
249
+
250
+ For web app source code: you can start the app in Docker if it is self-contained:
251
+ cd /workspace/<target>
252
+ # Python: pip install -r requirements.txt && python app.py &
253
+ # Node.js: npm install && node server.js &
254
+ # Then test with curl -x http://127.0.0.1:48080 against localhost
255
+
256
+ ---
257
+
258
+ ## STEP 7 — REPORT
259
+
260
+ Use create_vulnerability_report for EVERY confirmed, exploitable finding.
261
+
262
+ Required evidence:
263
+ - poc_description: exact payload used + concrete output received
264
+ - poc_script_code: working Python/curl/bash script demonstrating exploitation
265
+ - technical_analysis: exact file path, line number, data flow description
266
+ - suggested_fix: corrected code snippet (parameterized query, safe API, sanitization)
267
+
268
+ DO NOT report:
269
+ - Unverified semgrep/bandit findings without manual confirmation
270
+ - "Potential" or "possible" issues without demonstrated exploitation
271
+ - Informational issues (version disclosure, missing headers) unless specifically requested
272
+
273
+ ---
274
+
275
+ ## COMMON MISTAKES — AVOID THESE
276
+
277
+ WRONG: Run semgrep, copy its output as findings → REPORT ALL
278
+ RIGHT: Run semgrep, read flagged lines manually, trace data flow, exploit, then report
279
+
280
+ WRONG: "Found eval() at line 42 — this is RCE"
281
+ RIGHT: "Found eval(user_param) at line 42. user_param = request.args['cmd'].
282
+ Tested GET /?cmd=__import__('os').system('id') → returned 'uid=33(www-data)' in response body"
283
+
284
+ WRONG: Try to open /home/pikpikcu/.../workspace/src/ in execute
285
+ RIGHT: Use /workspace/<target>/uploads/ path (or whatever the FILE REFERENCE block shows)
286
+
287
+ WRONG: Report every bandit LOW finding
288
+ RIGHT: Focus on HIGH/MEDIUM severity + any hardcoded secrets
289
+
290
+ ---
291
+
292
+ ## DEPENDENCY VULNERABILITY SCAN (BONUS — run after main analysis)
293
+
294
+ # Python
295
+ pip-audit -r <src_path>/requirements.txt --format=json > /workspace/<target>/output/pip_audit.json 2>/dev/null
296
+ safety check -r <src_path>/requirements.txt --json > /workspace/<target>/output/safety.json 2>/dev/null
297
+
298
+ # Node.js
299
+ cd <src_path> && npm audit --json > /workspace/<target>/output/npm_audit.json 2>/dev/null
300
+
301
+ # Ruby
302
+ cd <src_path> && bundle-audit check --update > /workspace/<target>/output/bundle_audit.txt 2>/dev/null
303
+
304
+ # Java (Maven)
305
+ cd <src_path> && mvn org.owasp:dependency-check-maven:check 2>/dev/null || true
306
+
307
+ Known CVEs in dependencies are worth reporting if the vulnerable functionality
308
+ is actually used in the codebase — confirm usage before reporting.
@@ -0,0 +1,137 @@
1
+ <!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
2
+
3
+ # sqlmap & ghauri — Usage Guide for AIRecon
4
+
5
+ sqlmap and ghauri are SQL injection testing tools. They are effective ONLY when pointed at a
6
+ specific, manually-confirmed injectable parameter. Running either against a root URL, an IP address,
7
+ or a randomly chosen endpoint without prior manual analysis is the definition of incompetent testing.
8
+ It produces false negatives, wastes time, and triggers WAF bans.
9
+
10
+ ---
11
+
12
+ ## MANDATORY PRE-CONDITIONS (All must be true before using sqlmap or ghauri)
13
+
14
+ [ ] You have manually browsed the application and identified a specific feature that interacts
15
+ with a database (e.g., search, login, product lookup, user profile, filter/sort functionality).
16
+ [ ] You have manually confirmed a specific URL and parameter (or POST body field) that:
17
+ a. Accepts user-controlled input
18
+ b. Shows evidence of server-side database interaction (e.g., different results for different
19
+ values, error messages mentioning SQL, response time anomalies on numeric inputs)
20
+ [ ] You have manually tested that parameter with at least one basic probe:
21
+ - A single quote: value' — does the response change or error?
22
+ - A boolean: value AND 1=1 vs value AND 1=2 — are responses different?
23
+ - A time probe: value; WAITFOR DELAY '0:0:5'-- or SLEEP(5) — is there a delay?
24
+ [ ] The specific URL+parameter combination is documented in your notes before running the tool.
25
+ [ ] output/host_profiles.json contains an entry for this host with the parameter listed as
26
+ a confirmed input vector.
27
+
28
+ Using sqlmap/ghauri against a bare URL with no parameter identified = TASK FAILURE.
29
+ Using sqlmap/ghauri as the FIRST tool run on a host = TASK FAILURE.
30
+
31
+ ---
32
+
33
+ ## How to Identify SQL Injection Candidates Manually
34
+
35
+ Before sqlmap touches anything, you must have found a candidate parameter. Methods:
36
+
37
+ 1. BROWSER + SOURCE INSPECTION:
38
+ - Navigate the application as a user. Click everything. Fill every form.
39
+ - Look for: search bars, login forms, ID-based URLs (/user?id=5, /item/123),
40
+ filter parameters (?category=electronics&sort=price), report generators.
41
+ - In page source: look for inline SQL fragments, database error messages, numeric IDs
42
+ in hidden form fields or URL params.
43
+
44
+ 2. MANUAL PROBE WITH CURL:
45
+ - For a parameter suspected to be SQL-backed, send:
46
+ curl "http://host/search?q=test'" (single quote — syntax error?)
47
+ curl "http://host/search?q=test AND 1=1" (tautology — same result as normal?)
48
+ curl "http://host/search?q=test AND 1=2" (contradiction — different/empty result?)
49
+ - Compare response sizes, content, and timing across these three requests.
50
+ - If behavior differs between AND 1=1 and AND 1=2: strong SQL injection signal.
51
+
52
+ 3. HISTORICAL URL ANALYSIS:
53
+ - Parse output/historical_urls.txt for URLs with numeric or ID-style parameters.
54
+ - Prioritize parameters named: id, uid, user_id, product_id, item, page, order, ref,
55
+ category, sort, filter, q, search, query, token, hash.
56
+
57
+ 4. CRAWLER OUTPUT FILTERING:
58
+ - Parse output/urls_all_deduped.txt for parameterized URLs.
59
+ - Use pattern matching to extract URLs with parameters before ANY scanner touches them.
60
+
61
+ ---
62
+
63
+ ## Confirmed Candidate — Now Run sqlmap
64
+
65
+ Once you have a specific URL+parameter confirmed through manual probing:
66
+
67
+ Basic detection (start here):
68
+ sqlmap -u "http://host/path?param=VALUE" -p param --batch --level=1 --risk=1 \
69
+ --output-dir output/sqlmap/
70
+
71
+ If basic detection finds nothing, escalate carefully:
72
+ sqlmap -u "http://host/path?param=VALUE" -p param --batch --level=3 --risk=2 \
73
+ --output-dir output/sqlmap/
74
+
75
+ For POST body parameters:
76
+ sqlmap -u "http://host/login" --data "username=admin&password=test" -p username \
77
+ --batch --level=2 --output-dir output/sqlmap/
78
+
79
+ For JSON body parameters:
80
+ sqlmap -u "http://host/api/search" --data '{"query":"test"}' \
81
+ --headers "Content-Type: application/json" -p query --batch --output-dir output/sqlmap/
82
+
83
+ For cookie-based injection:
84
+ sqlmap -u "http://host/profile" --cookie "session=VALUE" -p session \
85
+ --level=2 --batch --output-dir output/sqlmap/
86
+
87
+ After confirming injection exists, extract database info:
88
+ sqlmap -u "<confirmed_injectable_url>" --dbs --batch --output-dir output/sqlmap/
89
+
90
+ ghauri (faster, WAF-evasive alternative — same pre-conditions apply):
91
+ ghauri -u "http://host/path?param=VALUE" --dbs --batch
92
+
93
+ NEVER use these patterns:
94
+ sqlmap -u "http://host/" --dbs (no parameter identified)
95
+ sqlmap -u "http://host:80" --dbs (root URL, no parameter, no evidence)
96
+ sqlmap -l output/live_hosts.txt (list input, no parameter context)
97
+
98
+ ---
99
+
100
+ ## WAF Evasion (Only After Confirming Injection Exists)
101
+
102
+ If a confirmed injection is being blocked by a WAF:
103
+
104
+ sqlmap -u "<url>" -p param --tamper=space2comment,randomcase --batch
105
+ sqlmap -u "<url>" -p param --tamper=between,charencode --batch
106
+ sqlmap -u "<url>" -p param --random-agent --delay=2 --batch
107
+
108
+ Use web_search "sqlmap tamper <WAF vendor>" to find vendor-specific tamper scripts.
109
+
110
+ ---
111
+
112
+ ## Interpreting Results
113
+
114
+ "parameter appears to be injectable" — VERIFY MANUALLY before reporting.
115
+ Reproduce the detection payload manually with curl. Confirm the behavioral difference.
116
+
117
+ "fetched databases" or actual data returned — this is confirmed exploitation.
118
+ Document the exact injectable URL, parameter, injection type, and database output.
119
+ Write the reproduction curl command. THEN call create_vulnerability_report.
120
+
121
+ Empty results — do NOT escalate blindly. Consider:
122
+ - Is the parameter actually processed server-side (check response variance manually first)?
123
+ - Is there a WAF? Test for WAF with wafw00f before running sqlmap.
124
+ - Is the injection blind (time-based, OOB)? Requires --technique=T or --technique=U flags.
125
+
126
+ ---
127
+
128
+ ## Workflow Integration (Where sqlmap Fits)
129
+
130
+ Phase 1 (Manual Profiling): DO NOT use sqlmap or ghauri.
131
+ Phase 2 (Attack Surface Expansion): DO NOT use sqlmap or ghauri.
132
+ Phase 3 (Business Logic & Auth Testing): sqlmap/ghauri valid ONLY if a specific parameter
133
+ has been manually confirmed as a database-backed SQL input vector during Phase 1-2 analysis.
134
+ Phase 4+ (Vulnerability Chaining): sqlmap/ghauri valid for confirmed candidates.
135
+
136
+ The correct sequence is always: observe -> identify candidate -> manually probe -> confirm -> then tool.
137
+ sqlmap confirms and exploits. It does not discover. Discovery is your job.