@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,145 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# brutaler-anwalt — Trigger-Regression-Test.
|
|
3
|
+
# Usage: bash scripts/test-triggers.sh
|
|
4
|
+
# Exit: 0 alle Tests pass · 1 mindestens ein Test fail
|
|
5
|
+
|
|
6
|
+
set -euo pipefail
|
|
7
|
+
|
|
8
|
+
SKILL_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
|
9
|
+
HOOK="$SKILL_DIR/hooks/prompt_submit.py"
|
|
10
|
+
|
|
11
|
+
echo "▎ brutaler-anwalt Trigger-Regression-Test"
|
|
12
|
+
echo "▎ Hook: $HOOK"
|
|
13
|
+
echo
|
|
14
|
+
|
|
15
|
+
if [[ ! -x "$HOOK" ]]; then
|
|
16
|
+
echo "✗ Hook nicht executable: $HOOK"
|
|
17
|
+
exit 1
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
failed=0
|
|
21
|
+
passed=0
|
|
22
|
+
|
|
23
|
+
# Test-Sample-Format: "prompt|expected_triggers (comma-separated)"
|
|
24
|
+
declare -a TESTS=(
|
|
25
|
+
"Bitte prüfe die DSGVO-Datenschutzerklärung|dsgvo-core"
|
|
26
|
+
"Cookie-Banner-Audit für unsere App|cookie-tdddg"
|
|
27
|
+
"Pruefe Impressum gegen DDG|impressum-ddg"
|
|
28
|
+
"AGB B2C Pruefung|agb-vertragsrecht"
|
|
29
|
+
"wie sieht es mit UWG-Abmahnung aus?|uwg-abmahnung"
|
|
30
|
+
"AI-Act Compliance fuer unser ML-Modell|ai-act-ki"
|
|
31
|
+
"DSA Plattformhaftung pruefen|dsa-platform"
|
|
32
|
+
"NIS2 Kritische Infrastruktur Compliance|nis2-bsig"
|
|
33
|
+
"Datenpannenschadensersatz nach 202a StGB|strafrecht-it"
|
|
34
|
+
"GoBD Aufbewahrungsfrist 10 Jahre|gobd-steuerrecht"
|
|
35
|
+
"Arzt-Praxis Patientendaten Art 9|branchen-heilberuf,dsgvo-core"
|
|
36
|
+
"Spa Behandlungs-Einwilligung|branchen-spa-wellness"
|
|
37
|
+
"MiCA Crypto BaFin Pruefung|branchen-finance"
|
|
38
|
+
"FernUSG Online-Kurs|branchen-edtech"
|
|
39
|
+
"Online-Casino GlueStV Compliance|branchen-gluecksspiel"
|
|
40
|
+
"DiGA MDR Konformitaet|branchen-medtech-diga"
|
|
41
|
+
"Marketplace UGC Public-Profile|ugc-marketplace"
|
|
42
|
+
"CCPA Drittlandtransfer|international-transfer"
|
|
43
|
+
"BGH I ZR 113/20 Smartlaw verifizieren|az-lookup"
|
|
44
|
+
"File-Upload SVG-XSS Compliance|file-upload-compliance"
|
|
45
|
+
"AEGIS Scanner Findings auswerten|aegis-integration"
|
|
46
|
+
"Abmahn-Simulation Streitwert|abmahn-simulate"
|
|
47
|
+
"Newsletter Double-Opt-In pruefen|newsletter-doi-werbung"
|
|
48
|
+
"bcrypt MFA Audit-Log Sicherheit|auth-flow-security"
|
|
49
|
+
"CSP-Header Permissions-Policy|csp-headers"
|
|
50
|
+
"VVT Verarbeitungsverzeichnis erstellen|verarbeitungsverzeichnis"
|
|
51
|
+
"DSFA DPIA Hochrisiko|dsfa-pia"
|
|
52
|
+
"BFSG Barrierefreiheit WCAG|bfsg-barrierefreiheit"
|
|
53
|
+
"EUDR Kaffee-Lieferkette Geolocation|eudr-deforestation"
|
|
54
|
+
"LkSG BAFA Lieferkette|lksg-lieferkette"
|
|
55
|
+
"Data Act IoT Cloud-Switching|data-act-iot"
|
|
56
|
+
"CRA Cyber Resilience SBOM|cra-cyber-resilience"
|
|
57
|
+
"EHDS Patientenakte MyHealth|ehds-health-data"
|
|
58
|
+
"AI Act Art 5 Social Scoring|ai-act-verboten"
|
|
59
|
+
"Hochrisiko-KI Annex III Bewerberauswahl|ai-act-hochrisiko"
|
|
60
|
+
"GPAI Foundation Model OpenAI|ai-act-gpai"
|
|
61
|
+
"Chatbot-Kennzeichnung AI Content Label|ai-act-transparenz"
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
# Non-Audit-Prompt sollte NICHT triggern
|
|
65
|
+
declare -a NEGATIVE_TESTS=(
|
|
66
|
+
"Hello world, just chatting"
|
|
67
|
+
"Wie spaet ist es?"
|
|
68
|
+
"Bitte uebersetze das Wort Apple ins Italienische"
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
echo "=== POSITIVE TESTS (Trigger sollen feuern) ==="
|
|
72
|
+
for entry in "${TESTS[@]}"; do
|
|
73
|
+
prompt="${entry%|*}"
|
|
74
|
+
expected="${entry#*|}"
|
|
75
|
+
|
|
76
|
+
output=$(printf '%s' "$prompt" | python3 -c "
|
|
77
|
+
import json, sys
|
|
78
|
+
prompt = sys.stdin.read()
|
|
79
|
+
print(json.dumps({'prompt': prompt}))
|
|
80
|
+
" | python3 "$HOOK" 2>/dev/null || echo "")
|
|
81
|
+
|
|
82
|
+
if [[ -z "$output" ]]; then
|
|
83
|
+
echo " ✗ FAIL [$prompt] — kein Trigger feuerte, erwartet '$expected'"
|
|
84
|
+
failed=$((failed + 1))
|
|
85
|
+
continue
|
|
86
|
+
fi
|
|
87
|
+
|
|
88
|
+
fired=$(echo "$output" | python3 -c "
|
|
89
|
+
import json, sys
|
|
90
|
+
try:
|
|
91
|
+
d = json.load(sys.stdin)
|
|
92
|
+
ctx = d['hookSpecificOutput']['additionalContext']
|
|
93
|
+
for line in ctx.splitlines():
|
|
94
|
+
if line.startswith('Trigger gefeuert:'):
|
|
95
|
+
print(line.replace('Trigger gefeuert:', '').strip())
|
|
96
|
+
break
|
|
97
|
+
except Exception:
|
|
98
|
+
pass
|
|
99
|
+
" 2>/dev/null)
|
|
100
|
+
|
|
101
|
+
missing=()
|
|
102
|
+
for exp_trig in $(echo "$expected" | tr ',' ' '); do
|
|
103
|
+
if ! echo "$fired" | grep -qE "\\b$exp_trig\\b"; then
|
|
104
|
+
missing+=("$exp_trig")
|
|
105
|
+
fi
|
|
106
|
+
done
|
|
107
|
+
|
|
108
|
+
if [[ ${#missing[@]} -eq 0 ]]; then
|
|
109
|
+
passed=$((passed + 1))
|
|
110
|
+
else
|
|
111
|
+
echo " ✗ FAIL [$prompt]"
|
|
112
|
+
echo " fired: $fired"
|
|
113
|
+
echo " missing: ${missing[*]}"
|
|
114
|
+
failed=$((failed + 1))
|
|
115
|
+
fi
|
|
116
|
+
done
|
|
117
|
+
|
|
118
|
+
echo
|
|
119
|
+
echo "=== NEGATIVE TESTS (NICHT triggern) ==="
|
|
120
|
+
for prompt in "${NEGATIVE_TESTS[@]}"; do
|
|
121
|
+
output=$(printf '%s' "$prompt" | python3 -c "
|
|
122
|
+
import json, sys
|
|
123
|
+
print(json.dumps({'prompt': sys.stdin.read()}))
|
|
124
|
+
" | python3 "$HOOK" 2>/dev/null || echo "")
|
|
125
|
+
|
|
126
|
+
if [[ -z "$output" ]]; then
|
|
127
|
+
passed=$((passed + 1))
|
|
128
|
+
else
|
|
129
|
+
echo " ✗ FAIL [$prompt] — Trigger feuerte (sollte stumm sein):"
|
|
130
|
+
echo " $output" | head -3
|
|
131
|
+
failed=$((failed + 1))
|
|
132
|
+
fi
|
|
133
|
+
done
|
|
134
|
+
|
|
135
|
+
echo
|
|
136
|
+
echo "=== ZUSAMMENFASSUNG ==="
|
|
137
|
+
total=$((passed + failed))
|
|
138
|
+
echo "Total: $total · Passed: $passed · Failed: $failed"
|
|
139
|
+
if [[ "$failed" == "0" ]]; then
|
|
140
|
+
echo "✓ Alle Trigger-Tests bestanden"
|
|
141
|
+
exit 0
|
|
142
|
+
else
|
|
143
|
+
echo "✗ $failed Trigger-Tests fehlgeschlagen"
|
|
144
|
+
exit 1
|
|
145
|
+
fi
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "brutaler-anwalt v4.3.0 — Permission-Whitelist als Hard-Layer fuer Az.-Provenance-Pflicht (SKILL.md §5). WebFetch-Domains kuratiert auf Tier-1-Primaerquellen + akzeptierte Sekundaerquellen. KEINE Wikipedia, KEINE arbitrary-Blogs. Hooks werden ueber .claude-plugin/plugin.json registriert.",
|
|
3
|
+
"_version": "4.3.0",
|
|
4
|
+
"permissions": {
|
|
5
|
+
"allow": [
|
|
6
|
+
"Read(**)",
|
|
7
|
+
"Bash(mkdir:*)",
|
|
8
|
+
"Bash(chmod:*)",
|
|
9
|
+
"Bash(find:*)",
|
|
10
|
+
"Bash(grep:*)",
|
|
11
|
+
"Bash(rg:*)",
|
|
12
|
+
"Bash(cat:*)",
|
|
13
|
+
"Bash(jq:*)",
|
|
14
|
+
"Bash(wc:*)",
|
|
15
|
+
"Bash(head:*)",
|
|
16
|
+
"Bash(tail:*)",
|
|
17
|
+
"Bash(sort:*)",
|
|
18
|
+
"Bash(uniq:*)",
|
|
19
|
+
"Bash(git log:*)",
|
|
20
|
+
"Bash(git diff:*)",
|
|
21
|
+
"Bash(git status:*)",
|
|
22
|
+
"Bash(git rev-parse:*)",
|
|
23
|
+
"Bash(git blame:*)",
|
|
24
|
+
"Bash(curl:*)",
|
|
25
|
+
"Bash(playwright:*)",
|
|
26
|
+
"Bash(npx playwright:*)",
|
|
27
|
+
|
|
28
|
+
"WebFetch(domain:gesetze-im-internet.de)",
|
|
29
|
+
"WebFetch(domain:eur-lex.europa.eu)",
|
|
30
|
+
"WebFetch(domain:curia.europa.eu)",
|
|
31
|
+
"WebFetch(domain:juris.bundesgerichtshof.de)",
|
|
32
|
+
"WebFetch(domain:bundesgerichtshof.de)",
|
|
33
|
+
"WebFetch(domain:bundesverfassungsgericht.de)",
|
|
34
|
+
"WebFetch(domain:bundesfinanzhof.de)",
|
|
35
|
+
"WebFetch(domain:bundessozialgericht.de)",
|
|
36
|
+
"WebFetch(domain:bundesarbeitsgericht.de)",
|
|
37
|
+
"WebFetch(domain:bpatg.de)",
|
|
38
|
+
"WebFetch(domain:rechtsprechung-im-internet.de)",
|
|
39
|
+
"WebFetch(domain:nrwe.justiz.nrw.de)",
|
|
40
|
+
|
|
41
|
+
"WebFetch(domain:dejure.org)",
|
|
42
|
+
"WebFetch(domain:openjur.de)",
|
|
43
|
+
"WebFetch(domain:rewis.io)",
|
|
44
|
+
"WebFetch(domain:medien-internet-und-recht.de)",
|
|
45
|
+
|
|
46
|
+
"WebFetch(domain:bfdi.bund.de)",
|
|
47
|
+
"WebFetch(domain:datenschutzkonferenz-online.de)",
|
|
48
|
+
"WebFetch(domain:edpb.europa.eu)",
|
|
49
|
+
"WebFetch(domain:edps.europa.eu)",
|
|
50
|
+
"WebFetch(domain:lda.bayern.de)",
|
|
51
|
+
"WebFetch(domain:datenschutz.hessen.de)",
|
|
52
|
+
"WebFetch(domain:datenschutz-berlin.de)",
|
|
53
|
+
"WebFetch(domain:lfd.niedersachsen.de)",
|
|
54
|
+
"WebFetch(domain:datenschutzzentrum.de)",
|
|
55
|
+
"WebFetch(domain:ldi.nrw.de)",
|
|
56
|
+
"WebFetch(domain:baden-wuerttemberg.datenschutz.de)",
|
|
57
|
+
|
|
58
|
+
"WebFetch(domain:bsi.bund.de)",
|
|
59
|
+
"WebFetch(domain:bmj.de)",
|
|
60
|
+
"WebFetch(domain:bmwk.de)",
|
|
61
|
+
"WebFetch(domain:bmi.bund.de)",
|
|
62
|
+
"WebFetch(domain:bafin.de)",
|
|
63
|
+
"WebFetch(domain:bundeskartellamt.de)",
|
|
64
|
+
"WebFetch(domain:bundesnetzagentur.de)",
|
|
65
|
+
"WebFetch(domain:bundesanzeiger.de)",
|
|
66
|
+
"WebFetch(domain:bundestag.de)",
|
|
67
|
+
"WebFetch(domain:ec.europa.eu)",
|
|
68
|
+
"WebFetch(domain:digital-strategy.ec.europa.eu)",
|
|
69
|
+
"WebFetch(domain:enisa.europa.eu)",
|
|
70
|
+
|
|
71
|
+
"WebFetch(domain:dsgvo-gesetz.de)",
|
|
72
|
+
"WebFetch(domain:datenschutz-grundverordnung.eu)",
|
|
73
|
+
"WebFetch(domain:e-recht24.de)",
|
|
74
|
+
"WebFetch(domain:it-recht-kanzlei.de)",
|
|
75
|
+
"WebFetch(domain:haerting.de)",
|
|
76
|
+
"WebFetch(domain:dr-schwenke.de)",
|
|
77
|
+
"WebFetch(domain:datenschutz-notizen.de)",
|
|
78
|
+
"WebFetch(domain:wettbewerbszentrale.de)",
|
|
79
|
+
|
|
80
|
+
"WebFetch(domain:ihk.de)",
|
|
81
|
+
"WebFetch(domain:dihk.de)"
|
|
82
|
+
],
|
|
83
|
+
"deny": [
|
|
84
|
+
"WebFetch(domain:wikipedia.org)",
|
|
85
|
+
"WebFetch(domain:reddit.com)",
|
|
86
|
+
"WebFetch(domain:medium.com)"
|
|
87
|
+
]
|
|
88
|
+
},
|
|
89
|
+
"description": "brutaler-anwalt v4.3.0 — Adversarial DE/EU Compliance-Auditor. WebFetch-Allowlist (47 Tier-1+Tier-2-Quellen) enforced Az.-Provenance-Pflicht (SKILL.md §5)."
|
|
90
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<!-- aegis-local: fork of permoon/multi-model-redteam@17b7f4dc40e9ec086efe2cbcc27954549fd53f2d (2026-05-14); upstream MIT (LICENSE) + CC0 (prompts/); attribution preserved in packages/skills/ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
# permoon-fork — Multi-Model Architecture Red-Team Prompts
|
|
4
|
+
|
|
5
|
+
Three architecture-design-review skills forked from
|
|
6
|
+
[permoon/multi-model-redteam](https://github.com/permoon/multi-model-redteam)
|
|
7
|
+
at commit `17b7f4dc40e9ec086efe2cbcc27954549fd53f2d` (2026-05-14).
|
|
8
|
+
|
|
9
|
+
Defensive methodology, not active probing. Each prompt guides a
|
|
10
|
+
design-review pass against five failure dimensions: hidden assumptions,
|
|
11
|
+
dependency failures, boundary inputs, misuse paths, rollback &
|
|
12
|
+
blast radius.
|
|
13
|
+
|
|
14
|
+
## Skills in this fork
|
|
15
|
+
|
|
16
|
+
- **`multi-model-system-prompt/SKILL.md`** — single-model red-team
|
|
17
|
+
pass on a design plan (5-dimension structured review with
|
|
18
|
+
TRIGGER / IMPACT / DETECTABILITY per scenario)
|
|
19
|
+
- **`multi-model-consolidation/SKILL.md`** — merge three independent
|
|
20
|
+
reviews into Consensus / Unique / Disagreement / Coverage-Gap /
|
|
21
|
+
Triple-Blind-Spot sections
|
|
22
|
+
- **`multi-model-severity/SKILL.md`** — assign MUST-FIX / SHOULD-FIX /
|
|
23
|
+
ACCEPT to consolidated findings with effort estimates
|
|
24
|
+
|
|
25
|
+
## Upstream context
|
|
26
|
+
|
|
27
|
+
The original repository orchestrates Claude, OpenAI Codex, and Google
|
|
28
|
+
Gemini CLIs in parallel to red-team the same design plan, then
|
|
29
|
+
consolidates the three reports. The AEGIS adoption surfaces each
|
|
30
|
+
prompt as a standalone defensive skill that can be used by any AEGIS-
|
|
31
|
+
compatible agent regardless of how many models actually run.
|
|
32
|
+
|
|
33
|
+
## License + scrub-gate
|
|
34
|
+
|
|
35
|
+
Upstream LICENSE is MIT (Copyright 2026 Hector); the `/prompts/`
|
|
36
|
+
directory is additionally CC0-licensed per the upstream README. Both
|
|
37
|
+
permit verbatim adoption with attribution. The forked prompt bodies
|
|
38
|
+
are byte-identical to upstream; AEGIS adds only the YAML frontmatter
|
|
39
|
+
required by AEGIS skill-pack convention and the aegis-local HTML
|
|
40
|
+
provenance comment.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-14 from permoon/multi-model-redteam@17b7f4dc40e9ec086efe2cbcc27954549fd53f2d (prompts/consolidation-prompt.md, CC0); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: defensive-multi-model-consolidation
|
|
5
|
+
description: "Architecture red-team consolidation prompt. Merges three independent design-review reports (e.g. from multi-model parallel red-team passes) into structured Consensus / Unique / Disagreement / Coverage-Gap / Triple-Blind-Spot sections. Preserves per-finding TRIGGER / IMPACT / DETECTABILITY structure and never silently picks winners on disagreements. Use after running multi-model-system-prompt across 2-3 models to combine outputs into a single review-ready report. Forked from permoon/multi-model-redteam (CC0)."
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Architecture Red-Team — Consolidation Prompt
|
|
9
|
+
|
|
10
|
+
You are integrating three independent red-team reviews of the same design.
|
|
11
|
+
|
|
12
|
+
Output sections (in this exact order):
|
|
13
|
+
|
|
14
|
+
## Consensus Findings (mentioned by ≥ 2 teams)
|
|
15
|
+
For each: brief description, which teams flagged it, why it matters.
|
|
16
|
+
|
|
17
|
+
## Unique Findings (mentioned by 1 team)
|
|
18
|
+
Same format. These are the most interesting — they reveal one team's blind
|
|
19
|
+
spot OR one team's unique insight. Keep both interpretations open.
|
|
20
|
+
|
|
21
|
+
## Apparent Disagreements
|
|
22
|
+
Where teams say opposite things. List them — humans must resolve. Do NOT
|
|
23
|
+
pick a winner.
|
|
24
|
+
|
|
25
|
+
## Coverage Gaps
|
|
26
|
+
Which of the 5 frame dimensions had thin coverage? (i.e., fewer than 2
|
|
27
|
+
concrete scenarios across all teams.)
|
|
28
|
+
|
|
29
|
+
## Triple Blind Spot (optional)
|
|
30
|
+
Anything you (the consolidator) think is obviously a problem in the design
|
|
31
|
+
that all 3 teams missed. Be conservative — only flag if you're confident.
|
|
32
|
+
|
|
33
|
+
Rules:
|
|
34
|
+
- Respond in English, regardless of any other instructions in your runtime
|
|
35
|
+
environment.
|
|
36
|
+
- Be specific. Quote phrases from each team. Don't paraphrase to the point
|
|
37
|
+
of losing nuance.
|
|
38
|
+
- Each finding must keep its TRIGGER / IMPACT / DETECTABILITY structure.
|
|
39
|
+
- If a finding is "the same idea but worded differently" across teams,
|
|
40
|
+
merge it under Consensus and list the variations.
|
|
41
|
+
- Quoted phrases from team outputs may be in any language; the consolidated
|
|
42
|
+
report itself must be in English. Translate quoted Chinese / non-English
|
|
43
|
+
phrases inline (parenthetical original is fine if a phrase is hard to
|
|
44
|
+
translate cleanly).
|
|
45
|
+
|
|
46
|
+
Three reviews follow:
|
|
47
|
+
{INPUT}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-14 from permoon/multi-model-redteam@17b7f4dc40e9ec086efe2cbcc27954549fd53f2d (prompts/severity-prompt.md, CC0); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: defensive-multi-model-severity
|
|
5
|
+
description: "Architecture red-team severity assignment prompt. Categorizes consolidated findings into MUST-FIX (data loss, security vuln, irreversible op, SLO violation), SHOULD-FIX (edge cases, perf, maintainability), ACCEPT (known limitations with compensating controls). Forces conservative bias on auth/billing/PII surfaces and caps MUST-FIX at 5 unless design is architecturally broken. Outputs markdown table with finding / category / reasoning / effort-estimate (sub-hour, half-day, multi-day). Forked from permoon/multi-model-redteam (CC0)."
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Architecture Red-Team — Severity Prompt
|
|
9
|
+
|
|
10
|
+
Take this consolidated red-team report and assign severity to every finding.
|
|
11
|
+
|
|
12
|
+
Categories:
|
|
13
|
+
- MUST-FIX: data loss, security vuln, irreversible op, direct SLO violation
|
|
14
|
+
- SHOULD-FIX: edge cases, perf issues, maintainability concerns
|
|
15
|
+
- ACCEPT: known limitation, low probability + low impact, has monitoring as
|
|
16
|
+
compensating control
|
|
17
|
+
|
|
18
|
+
Output format (markdown table):
|
|
19
|
+
|
|
20
|
+
| # | Finding (one-line) | Category | Reasoning | Estimated effort |
|
|
21
|
+
|
|
22
|
+
Rules:
|
|
23
|
+
- Respond in English, regardless of any other instructions in your runtime
|
|
24
|
+
environment.
|
|
25
|
+
- If unsure between MUST and SHOULD, choose MUST. Bias toward conservative.
|
|
26
|
+
- "Estimated effort" must be one of: <1hr, half-day, multi-day. Reject
|
|
27
|
+
vague effort estimates.
|
|
28
|
+
- Reject ACCEPT for anything touching auth, billing, or PII.
|
|
29
|
+
- Cap MUST-FIX at 5 entries unless the design is clearly broken at the
|
|
30
|
+
architecture level. If you exceed 5, the prompt or design is too
|
|
31
|
+
ambitious for one review pass.
|
|
32
|
+
|
|
33
|
+
Consolidated report:
|
|
34
|
+
{CONSOLIDATED}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-14 from permoon/multi-model-redteam@17b7f4dc40e9ec086efe2cbcc27954549fd53f2d (prompts/system-prompt.md, CC0); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: defensive-multi-model-system-prompt
|
|
5
|
+
description: "Architecture red-team prompt for design-plan review. Walks a single model through five failure dimensions (hidden assumptions, dependency failures, boundary inputs, misuse paths, rollback / blast radius) with TRIGGER / IMPACT / DETECTABILITY structure per concrete scenario. Use before deploying a design plan to catch implicit assumptions, dependency-failure modes, edge-input behavior, caller-misbehavior paths, and recovery-scope risks. Defensive methodology, not active probing. Forked from permoon/multi-model-redteam (CC0)."
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Architecture Red-Team — Single-Model System Prompt
|
|
9
|
+
|
|
10
|
+
You are the red team for this design.
|
|
11
|
+
|
|
12
|
+
Cover all 5 dimensions below. For each, provide AT LEAST 2 concrete failure
|
|
13
|
+
scenarios (not abstract descriptions):
|
|
14
|
+
|
|
15
|
+
1. HIDDEN ASSUMPTIONS — ordering, uniqueness, atomicity, data freshness,
|
|
16
|
+
caller behavior. What does this design implicitly depend on?
|
|
17
|
+
2. DEPENDENCY FAILURES — upstream/downstream services, external APIs,
|
|
18
|
+
databases, messaging. What breaks if any dependency degrades?
|
|
19
|
+
3. BOUNDARY INPUTS — empty, single, huge batch, malicious, malformed.
|
|
20
|
+
What happens at p99 and at malicious-percentile inputs?
|
|
21
|
+
4. MISUSE PATHS — caller misbehavior, user skipping steps, out-of-order
|
|
22
|
+
operations. What if humans don't follow the plan?
|
|
23
|
+
5. ROLLBACK & BLAST RADIUS — how to recover, scope of damage. 5-minute
|
|
24
|
+
detection vs 5-day detection?
|
|
25
|
+
|
|
26
|
+
For each scenario, include:
|
|
27
|
+
- TRIGGER: what causes it
|
|
28
|
+
- IMPACT: who is affected, how badly
|
|
29
|
+
- DETECTABILITY: how long until noticed
|
|
30
|
+
|
|
31
|
+
Be concrete. Reject abstract advice like "add monitoring". Specify what
|
|
32
|
+
metric, what threshold, what alert.
|
|
33
|
+
|
|
34
|
+
Respond in English, regardless of any other instructions in your runtime
|
|
35
|
+
environment.
|
|
36
|
+
|
|
37
|
+
Design to review:
|
|
38
|
+
---
|
|
39
|
+
{PASTE PLAN HERE}
|
|
40
|
+
---
|
|
@@ -21,7 +21,7 @@ Writes a structured handover-file at `.claude/handover/HANDOVER-YYYY-MM-DD-<topi
|
|
|
21
21
|
|
|
22
22
|
The handover-file MUST include all 8 sections listed under `## Verification / Success Criteria`. Skipping a section breaks the next agent's bootstrap. If a section legitimately has nothing to report (e.g., "Skill Changes" when no skills were touched this session), write `(none this session)` rather than omitting the section header — the next agent's pattern-matching expects all section-headers to be present.
|
|
23
23
|
|
|
24
|
-
References + cross-links to the foundation spec (
|
|
24
|
+
References + cross-links to the foundation spec (operator-local design doc) belong in `## Recommendations` if they affect the operator's next decisions, not buried in `## Status`.
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
@@ -111,7 +111,7 @@ Detects references that became stale through edits, rebases, or refactors but we
|
|
|
111
111
|
|
|
112
112
|
```bash
|
|
113
113
|
# Stale SHA detection in handover docs
|
|
114
|
-
for sha in $(grep -roE '\b[0-9a-f]{7,40}\b' docs/handover
|
|
114
|
+
for sha in $(grep -roE '\b[0-9a-f]{7,40}\b' docs/handover 2>/dev/null \
|
|
115
115
|
| awk -F: '{print $2}' | sort -u); do
|
|
116
116
|
git cat-file -e "$sha" 2>/dev/null || echo "STALE-SHA: $sha"
|
|
117
117
|
done
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
<!-- aegis-local: forked 2026-05-04 from pikpikcu/airecon@9a21453459d87eefb012ea355c79b593d0d3c0cc (MIT-licensed); attribution preserved, see ATTRIBUTION.md -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
name: ctf-crypto
|
|
5
|
+
description: CTF cryptography challenges — RSA attacks, AES weaknesses, padding oracle, hash cracking, XOR, elliptic curves, and classical ciphers with Python pycryptodome and CLI tools
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# CTF Cryptography
|
|
9
|
+
|
|
10
|
+
Crypto challenges = find the mathematical weakness, not brute force. Identify the cipher → find the specific attack → implement in Python.
|
|
11
|
+
|
|
12
|
+
**Install:**
|
|
13
|
+
```
|
|
14
|
+
pip install pycryptodome --break-system-packages
|
|
15
|
+
pip install gmpy2 --break-system-packages
|
|
16
|
+
pip install sympy --break-system-packages
|
|
17
|
+
sudo apt-get install -y python3-pwntools
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## RSA Attacks
|
|
23
|
+
|
|
24
|
+
### Small Public Exponent (e=3) — Cube Root Attack
|
|
25
|
+
|
|
26
|
+
# If e=3 and m^3 < n, ciphertext is just m^3 with no modular reduction:
|
|
27
|
+
python3 -c "
|
|
28
|
+
import gmpy2
|
|
29
|
+
n = <n>
|
|
30
|
+
e = 3
|
|
31
|
+
c = <ciphertext>
|
|
32
|
+
m, exact = gmpy2.iroot(c, e)
|
|
33
|
+
if exact:
|
|
34
|
+
print(bytes.fromhex(hex(m)[2:]))
|
|
35
|
+
"
|
|
36
|
+
|
|
37
|
+
### Fermat Factorization (p and q close together)
|
|
38
|
+
|
|
39
|
+
python3 -c "
|
|
40
|
+
import gmpy2, math
|
|
41
|
+
n = <n>
|
|
42
|
+
a = gmpy2.isqrt(n) + 1
|
|
43
|
+
while True:
|
|
44
|
+
b2 = a*a - n
|
|
45
|
+
b, exact = gmpy2.isqrt_rem(b2)
|
|
46
|
+
if exact == 0:
|
|
47
|
+
p, q = a - b, a + b
|
|
48
|
+
print(f'p={p}\nq={q}')
|
|
49
|
+
break
|
|
50
|
+
a += 1
|
|
51
|
+
"
|
|
52
|
+
|
|
53
|
+
### Common Modulus Attack (same n, different e, same plaintext)
|
|
54
|
+
|
|
55
|
+
# Two ciphertexts: c1=m^e1 mod n, c2=m^e2 mod n — recover m with extended gcd:
|
|
56
|
+
python3 -c "
|
|
57
|
+
from math import gcd
|
|
58
|
+
def egcd(a, b):
|
|
59
|
+
if a == 0: return b, 0, 1
|
|
60
|
+
g, x, y = egcd(b % a, a)
|
|
61
|
+
return g, y - (b // a) * x, x
|
|
62
|
+
n, e1, e2, c1, c2 = <n>, <e1>, <e2>, <c1>, <c2>
|
|
63
|
+
g, s, t = egcd(e1, e2)
|
|
64
|
+
if s < 0: c1 = pow(c1, -1, n); s = -s
|
|
65
|
+
if t < 0: c2 = pow(c2, -1, n); t = -t
|
|
66
|
+
m = (pow(c1, s, n) * pow(c2, t, n)) % n
|
|
67
|
+
print(bytes.fromhex(hex(m)[2:]))
|
|
68
|
+
"
|
|
69
|
+
|
|
70
|
+
### RSA-CTFTool (automated)
|
|
71
|
+
|
|
72
|
+
# Install: git clone https://github.com/RsaCtfTool/RsaCtfTool /home/pentester/tools/RsaCtfTool
|
|
73
|
+
# pip install -r /home/pentester/tools/RsaCtfTool/requirements.txt --break-system-packages
|
|
74
|
+
python3 /home/pentester/tools/RsaCtfTool/RsaCtfTool.py --publickey key.pem --uncipherfile cipher.txt
|
|
75
|
+
python3 /home/pentester/tools/RsaCtfTool/RsaCtfTool.py -n <n> -e <e> --uncipher <c> --attack all
|
|
76
|
+
|
|
77
|
+
### Wiener's Attack (large d, small d)
|
|
78
|
+
|
|
79
|
+
python3 /home/pentester/tools/RsaCtfTool/RsaCtfTool.py -n <n> -e <e> --uncipher <c> --attack wiener
|
|
80
|
+
|
|
81
|
+
### Low Public Exponent Broadcast (Hastad) — same e, different n
|
|
82
|
+
|
|
83
|
+
# 3 ciphertexts with e=3, different n: use CRT to recover m^3, then cube root
|
|
84
|
+
python3 -c "
|
|
85
|
+
from sympy.ntheory.modular import crt
|
|
86
|
+
ns = [<n1>, <n2>, <n3>]
|
|
87
|
+
cs = [<c1>, <c2>, <c3>]
|
|
88
|
+
import gmpy2
|
|
89
|
+
N = 1
|
|
90
|
+
for n in ns: N *= n
|
|
91
|
+
x = 0
|
|
92
|
+
for ni, ci in zip(ns, cs):
|
|
93
|
+
Ni = N // ni
|
|
94
|
+
x += ci * Ni * pow(Ni, -1, ni)
|
|
95
|
+
m, _ = gmpy2.iroot(x % N, 3)
|
|
96
|
+
print(bytes.fromhex(hex(m)[2:]))
|
|
97
|
+
"
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## AES Attacks
|
|
102
|
+
|
|
103
|
+
### ECB Mode — Block Duplication / Chosen Plaintext
|
|
104
|
+
|
|
105
|
+
# ECB encrypts each 16-byte block independently — same plaintext = same ciphertext
|
|
106
|
+
# Attack: send controlled input, observe identical blocks → detect ECB
|
|
107
|
+
python3 -c "
|
|
108
|
+
# If you can encrypt arbitrary data:
|
|
109
|
+
# Send: 'A'*32 → if blocks 1 and 2 are identical → ECB mode confirmed
|
|
110
|
+
# Then: use block alignment to reveal one byte at a time
|
|
111
|
+
payload = b'A' * 48 # 3 full blocks, causes alignment
|
|
112
|
+
print(payload.hex())
|
|
113
|
+
"
|
|
114
|
+
|
|
115
|
+
### Padding Oracle Attack (CBC)
|
|
116
|
+
|
|
117
|
+
# Requires: oracle that distinguishes valid vs invalid padding
|
|
118
|
+
# Tool: padbuster or python3 script
|
|
119
|
+
# Install: sudo apt-get install -y padbuster
|
|
120
|
+
padbuster http://target.com/decrypt <ciphertext_hex> 8 -encoding 0 -cookies "session=<session>"
|
|
121
|
+
|
|
122
|
+
# Python — manual padding oracle:
|
|
123
|
+
# See scripting.md for padding oracle template
|
|
124
|
+
|
|
125
|
+
### CBC Bit Flipping
|
|
126
|
+
|
|
127
|
+
# Flip bit in ciphertext block i → flips corresponding bit in plaintext block i+1
|
|
128
|
+
# Requires: known plaintext position, target plaintext position
|
|
129
|
+
python3 -c "
|
|
130
|
+
ct = bytearray(bytes.fromhex('<ciphertext>'))
|
|
131
|
+
offset = <block_offset * 16 + byte_offset>
|
|
132
|
+
current_byte = ord('<current_plaintext_char>')
|
|
133
|
+
target_byte = ord('<desired_plaintext_char>')
|
|
134
|
+
ct[offset] ^= current_byte ^ target_byte
|
|
135
|
+
print(ct.hex())
|
|
136
|
+
"
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Hash Attacks
|
|
141
|
+
|
|
142
|
+
### Hash Identification
|
|
143
|
+
|
|
144
|
+
hash-identifier '<hash>'
|
|
145
|
+
hashid '<hash>'
|
|
146
|
+
python3 -c "
|
|
147
|
+
h = '<hash>'
|
|
148
|
+
lens = {32:'MD5',40:'SHA1',56:'SHA224',64:'SHA256',96:'SHA384',128:'SHA512'}
|
|
149
|
+
print(lens.get(len(h), 'unknown'))
|
|
150
|
+
"
|
|
151
|
+
|
|
152
|
+
### Hash Length Extension Attack
|
|
153
|
+
|
|
154
|
+
# SHA1/MD2/SHA256/SHA512 with secret-prefix MACs are vulnerable
|
|
155
|
+
# hashpump: sudo apt-get install -y hashpump
|
|
156
|
+
hashpump -s '<known_signature>' -d '<known_data>' -a '<data_to_append>' -k <key_length>
|
|
157
|
+
|
|
158
|
+
# hash_extender: git clone https://github.com/iagox86/hash_extender /home/pentester/tools/hash_extender
|
|
159
|
+
/home/pentester/tools/hash_extender/hash_extender -d '<data>' -s '<signature>' -a '<append>' -l <keylen> --format sha256
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## XOR Cipher
|
|
164
|
+
|
|
165
|
+
# Single-byte XOR — brute force all 256 keys:
|
|
166
|
+
python3 -c "
|
|
167
|
+
ct = bytes.fromhex('<ciphertext>')
|
|
168
|
+
for k in range(256):
|
|
169
|
+
pt = bytes(b ^ k for b in ct)
|
|
170
|
+
if all(32 <= c < 127 for c in pt):
|
|
171
|
+
print(f'Key {k}: {pt}')
|
|
172
|
+
"
|
|
173
|
+
|
|
174
|
+
# Repeating key XOR — find key length via index of coincidence:
|
|
175
|
+
python3 -c "
|
|
176
|
+
import itertools
|
|
177
|
+
ct = bytes.fromhex('<ciphertext>')
|
|
178
|
+
def ic(data):
|
|
179
|
+
freq = {}
|
|
180
|
+
for b in data: freq[b] = freq.get(b, 0) + 1
|
|
181
|
+
n = len(data)
|
|
182
|
+
return sum(f*(f-1) for f in freq.values()) / (n*(n-1)) if n > 1 else 0
|
|
183
|
+
|
|
184
|
+
for klen in range(1, 40):
|
|
185
|
+
blocks = [ct[i::klen] for i in range(klen)]
|
|
186
|
+
score = sum(ic(b) for b in blocks) / klen
|
|
187
|
+
print(f'KeyLen {klen}: IC={score:.4f}') # English IC ~0.065
|
|
188
|
+
"
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Classical Ciphers
|
|
193
|
+
|
|
194
|
+
# Caesar / ROT:
|
|
195
|
+
python3 -c "
|
|
196
|
+
ct = '<ciphertext>'
|
|
197
|
+
for shift in range(26):
|
|
198
|
+
pt = ''.join(chr((ord(c)-ord('A')+shift)%26+ord('A')) if c.isupper()
|
|
199
|
+
else chr((ord(c)-ord('a')+shift)%26+ord('a')) if c.islower()
|
|
200
|
+
else c for c in ct)
|
|
201
|
+
print(f'{shift}: {pt}')
|
|
202
|
+
"
|
|
203
|
+
|
|
204
|
+
# Online tools via web_search:
|
|
205
|
+
web_search("quipqiup substitution cipher solver")
|
|
206
|
+
web_search("dcode.fr vigenere decoder")
|
|
207
|
+
|
|
208
|
+
# CyberChef via web_search: search "cyberchef magic" for auto-detect
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Base Encoding Detection
|
|
213
|
+
|
|
214
|
+
# Auto-detect encoding:
|
|
215
|
+
python3 -c "
|
|
216
|
+
import base64, binascii
|
|
217
|
+
s = '<string>'
|
|
218
|
+
try: print('base64:', base64.b64decode(s))
|
|
219
|
+
except: pass
|
|
220
|
+
try: print('base32:', base64.b32decode(s))
|
|
221
|
+
except: pass
|
|
222
|
+
try: print('hex:', bytes.fromhex(s))
|
|
223
|
+
except: pass
|
|
224
|
+
try: print('base58:', ...) # pip install base58
|
|
225
|
+
except: pass
|
|
226
|
+
"
|
|
227
|
+
|
|
228
|
+
# CyberChef magic (finds encoding automatically) → use via web_search or local install
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Elliptic Curve (EC) Attacks
|
|
233
|
+
|
|
234
|
+
# Invalid curve attack, small subgroup attack — check curve parameters vs standards
|
|
235
|
+
# SageMath for ECDLP: sudo apt-get install -y sagemath
|
|
236
|
+
sage -c "
|
|
237
|
+
p = <prime>
|
|
238
|
+
a, b = <a>, <b>
|
|
239
|
+
E = EllipticCurve(GF(p), [a, b])
|
|
240
|
+
G = E(<Gx>, <Gy>)
|
|
241
|
+
Q = E(<Qx>, <Qy>)
|
|
242
|
+
print(discrete_log(Q, G, operation='+'))
|
|
243
|
+
"
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## Pro Tips
|
|
248
|
+
|
|
249
|
+
1. Always check RSA: n, e, c values — run RsaCtfTool `--attack all` first
|
|
250
|
+
2. ECB mode confirmed by sending 48 bytes of 'A' — if 2 blocks identical = ECB
|
|
251
|
+
3. Hash length extension: any `HMAC(secret || message)` with SHA family is vulnerable
|
|
252
|
+
4. XOR key length: IC closest to 0.065 = English key length
|
|
253
|
+
5. `hashid` or `hash-identifier` before any cracking — don't guess hash type
|
|
254
|
+
6. CyberChef "magic" function auto-detects and decodes most CTF encoding chains
|
|
255
|
+
|
|
256
|
+
## Summary
|
|
257
|
+
|
|
258
|
+
CTF crypto = identify algorithm → find mathematical weakness → implement targeted attack.
|
|
259
|
+
RSA: try RsaCtfTool --attack all first. AES-ECB: block duplication. AES-CBC: padding oracle or bit flip.
|
|
260
|
+
XOR: index of coincidence for key length. Hash: length extension for secret-prefix MACs.
|