# CapaKraken — Vollstaendiger Accenture Security Standards Abgleich **Stand:** 2026-03-27 | **Analysierte Standards:** 6 von 19 relevanten (die kritischsten) --- ## Uebersicht: Alle analysierten Standards | # | Standard | Version | Controls | OK | PARTIAL | TODO | Compliance | |---|----------|---------|----------|-----|---------|------|-----------| | 1 | Application Security Standard | V 7.30 | 63 | 46 | 5 | 8 | **73%** | | 2 | Generative AI Security Standard | V 1.1 | ~45 | ~15 | ~12 | ~18 | **~33%** | | 3 | Agentic AI Security Standard | V 1.2 | ~50 | ~10 | ~15 | ~25 | **~20%** | | 4 | PostgreSQL Security Standard | V 1.6 | ~25 | ~8 | ~7 | ~10 | **~32%** | | 5 | Logging and Auditing Standard | (ref) | ~15 | ~12 | ~2 | ~1 | **~80%** | | 6 | Access Control Standard | (ref) | ~10 | ~8 | ~1 | ~1 | **~80%** | --- ## Standard 1: Application Security Standard V7.30 (73%) Bereits detailliert analysiert — siehe `acn-security-compliance-status.md`. **46/63 OK, 5 PARTIAL, 8 TODO, 4 N/A** --- ## Standard 2: Generative AI Security Standard V1.1 (~33%) **CapaKraken Kategorie:** "Complex Agentic Systems" (HartBOT mit 87+ Tools) ### 4.1 Extension Management Security | EGAI # | Control | Status | CapaKraken | Handlungsbedarf | |--------|---------|--------|-----------|----------------| | 4.1.1.1 | Extensions im Kontext des Auth-Users ausfuehren | OK | Tools nutzen `ctx.permissions` + `assertPermission()` | — | | 4.1.1.2 | Extension-Permissions auf Minimum beschraenken | PARTIAL | Tools haben breiten DB-Zugriff via `ctx.db` | Tool-Permissions granularer machen (read-only Tools sollen nicht schreiben koennen) | | 4.1.1.3 | Nur essential Plugins beschraenken | OK | 87 Tools, alle zweckgebunden definiert | — | | 4.1.1.4 | Nur noetige Endpoints/Methods exponieren | OK | Jedes Tool hat spezifische Zod-Input-Schema | — | | 4.1.1.5 | Extensions auf minimum permissions | PARTIAL | Alle Tools laufen mit vollem `ctx.db` Zugriff | Separate Read-Only DB-Connection fuer Query-Tools | | 4.1.1.6 | Auth in Downstream-Systemen, nicht im LLM | OK | RBAC via `assertPermission()` in jedem Tool | — | | 4.1.2.1 | AI Agent kontinuierlich monitoren | TODO | Kein Runtime-Monitoring des AI-Verhaltens | AI-Action-Logging implementieren (welche Tools wie oft aufgerufen) | | 4.1.2.2 | Adversarial Testing (Fuzzing, Input Manipulation) | TODO | Kein adversarial Testing | Prompt Injection Tests + Fuzzing Suite erstellen | | 4.1.2.3 | Keine open-ended Extensions | OK | Alle Tools sind zweckgebunden, kein `eval()` oder arbitrary code | — | | 4.1.2.4 | Complete Mediation — jeder Request validiert | OK | tRPC Middleware prueft Auth auf jedem Request | — | | 4.1.2.5 | AI gibt accurate, relevante Antworten | PARTIAL | System Prompt definiert Verhalten, aber kein Output-Validation | Output-Validierung fuer kritische Aktionen | | 4.1.3.1 | **HITL fuer High-Impact Actions** | **TODO** | **Kein Human-in-the-Loop — AI kann direkt erstellen/loeschen** | **KRITISCH: Confirmation fuer create/delete/update Aktionen** | | 4.1.3.2 | Rate Limiting auf Extensions | OK | Rate Limiting auf tRPC-Procedures (100/15min) | — | ### 4.3 AI Response Handling Security | EGAI # | Control | Status | CapaKraken | Handlungsbedarf | |--------|---------|--------|-----------|----------------| | 4.3.1.2 | Model-Responses validieren | PARTIAL | Tool-Results werden JSON-serialized, kein Schema-Check | Output-Schema Validierung fuer Tool-Results | | 4.3.1.3 | AI-Content klar kennzeichnen | TODO | Kein "AI Generated" Label auf AI-Summaries/Narratives | Label "AI Generated" auf allen AI-Outputs | | 4.3.1.4 | User ueber LLM-Risiken informieren | TODO | Kein Disclaimer | Disclaimer im Chat-Panel: "AI-Antworten koennen ungenau sein" | | 4.3.2.1 | Semantic Filtering fuer toxische Inhalte | TODO | Kein Content-Filter auf AI-Outputs | Content-Filter auf AI-Responses evaluieren | ### 4.6 External API Integration Security | EGAI # | Control | Status | CapaKraken | Handlungsbedarf | |--------|---------|--------|-----------|----------------| | 4.6.1.1 | API-Aktivitaet monitoren + Alerts | OK | External API Logging mit Pino (Timing + Provider) | — | | 4.6.2.1 | Sichere Protokolle fuer externe APIs | OK | HTTPS fuer OpenAI + Gemini | — | | 4.6.2.4 | Starke Auth fuer LLM-Endpoints | OK | Auth.js + tRPC protectedProcedure | — | | 4.6.3.2 | Preprocessing-Modul fuer Input/Output Scanning | TODO | Kein Input/Output-Scanner | Prompt-Injection Detection Middleware | | 4.6.4.1 | Action-Queuing + Limits | OK | Rate Limiting + max 8 Tool-Iterations | — | | 4.6.5.1 | CSP gegen XSS | OK | Content-Security-Policy implementiert | — | | 4.6.5.4 | Error Messages ohne sensitive Details | OK | tRPC Error-Codes, keine Stack Traces | — | | 4.6.5.7 | API Keys sicher gespeichert | OK | In SystemSettings DB, nicht in Code/Env | — | --- ## Standard 3: Agentic AI Security Standard V1.2 (~20%) **SEHR NEU (Jan 2026) — Viele MCP-spezifische Controls** ### 3.1 Memory Poisoning Prevention | IAAI # | Control | Status | Handlungsbedarf | |--------|---------|--------|----------------| | 3.1.1 | Memory Content Validation | PARTIAL | Chat-Messages in localStorage, kein Schema-Validation | Conversation-History validieren | ### 3.2 HITL & Decision Fatigue | IAAI # | Control | Status | Handlungsbedarf | |--------|---------|--------|----------------| | 3.2.1 | Goal Consistency Validation | TODO | Kein Check ob AI-Aktionen mit User-Intent uebereinstimmen | Intent-Validation Layer | ### 3.3 Tool Execution Security | IAAI # | Control | Status | Handlungsbedarf | |--------|---------|--------|----------------| | 3.3.1 | **Execution Sandboxes** | **TODO** | **Tools laufen im selben Prozess wie die App** | **KRITISCH: Tool-Execution isolieren** | ### 3.5 Authentication & Privilege | IAAI # | Control | Status | Handlungsbedarf | |--------|---------|--------|----------------| | 3.5.1 | Granulare RBAC/ABAC | OK | 5-stufiges RBAC + PermissionKey pro Tool | — | ### 3.6 Application Development & Deployment (36 MCP-Controls) | IAAI # | Control | Status | Handlungsbedarf | |--------|---------|--------|----------------| | 3.6.1 | Version Control fuer AI Knowledge | OK | Git-basiert, alle Aenderungen tracked | — | | 3.6.2 | Dependencies scannen | OK | Dependabot + npm audit Cron | — | | 3.6.3 | Version Pinning | OK | pnpm lockfile | — | | 3.6.4 | Alle Interaktionen verschluesselt | PARTIAL | HTTPS extern, aber intern unverschluesselt (localhost tRPC) | Intern TLS evaluieren | | 3.6.10-21 | MCP OAuth/Token Validation | **N/A** | **CapaKraken nutzt kein MCP-Protokoll** — AI ist eingebettet | Standard-MCP Controls nicht anwendbar | | 3.6.22 | Tool Permissions auf Minimum | PARTIAL | Tools haben vollen DB-Zugriff | Read-Only separation | | 3.6.26 | **Human Approval fuer High-Risk Ops** | **TODO** | **AI kann ohne Bestaetigung Daten aendern** | **KRITISCH** | | 3.6.30 | Input Sanitization in Tools | OK | Zod-Schemas auf allen Tool-Inputs | — | | 3.6.33 | Parameterized DB Queries | OK | Prisma ORM | — | | 3.6.34 | Quotas, Timeouts, Rate Limits | OK | Rate Limiting + max 8 Iterations + Tool Result Size Cap | — | | 3.6.35 | Actions/Permissions an User anzeigen | PARTIAL | Tool-Results werden angezeigt, aber nicht vorab | Vorab-Anzeige was der AI-Agent tun wird | | 3.6.36 | Automated Security Scanning | PARTIAL | CI/CD Tests, kein spezifisches AI-Security-Scanning | AI-spezifische Scans | --- ## Standard 4: PostgreSQL Security Standard V1.6 (~32%) ### 3.1 Network Security & Hardening | Control | Status | Handlungsbedarf | |---------|--------|----------------| | Listen nur auf noetige Interfaces | OK | Docker-Netzwerk, Port 5433 nur lokal | — | | Firewall-Regeln | OK | Docker isolation | — | | TLS/SSL fuer Verbindungen | **TODO** | **Kein TLS zwischen App und DB** | PostgreSQL SSL aktivieren | | pg_hba.conf Restrictions | TODO | Docker-Default (trust im Container) | `pg_hba.conf` auf md5/scram-sha-256 | ### 3.2 Identification & Authentication | Control | Status | Handlungsbedarf | |---------|--------|----------------| | Starke Passwoerter | OK | `capakraken_dev` (Dev), starkes PW fuer Prod noetig | Prod-PW Policy | | Separate DB-User fuer Apps | OK | Dedizierter `capakraken` User | — | | Kein Default-User (postgres) | PARTIAL | App nutzt `capakraken`, aber `postgres` Superuser existiert | postgres-User einschraenken | ### 3.3 Access Control | Control | Status | Handlungsbedarf | |---------|--------|----------------| | Minimal Privileges | PARTIAL | `capakraken` hat SUPERUSER | **SUPERUSER entfernen, nur noetige Grants** | | Schema-basierte Isolation | TODO | Alles in `public` Schema | Separate Schemas fuer App-Daten vs Audit | ### 3.4 Encryption | Control | Status | Handlungsbedarf | |---------|--------|----------------| | Encryption at Rest | TODO | Docker Volume ohne Encryption | Encrypted Volume oder pgcrypto | | Encryption in Transit | TODO | Kein TLS | PostgreSQL SSL Zertifikat | ### 3.5 Login Audit | Control | Status | Handlungsbedarf | |---------|--------|----------------| | log_connections | TODO | Nicht konfiguriert | `log_connections = on` in postgresql.conf | | log_disconnections | TODO | Nicht konfiguriert | `log_disconnections = on` | | log_statement | TODO | Nicht konfiguriert | `log_statement = 'ddl'` (mindestens) | ### 3.6 Patch Management | Control | Status | Handlungsbedarf | |---------|--------|----------------| | Aktuelle Version | OK | PostgreSQL 16 Alpine (aktuell) | — | | Regelmaessige Updates | PARTIAL | Docker Image wird selten aktualisiert | Update-Schedule definieren | --- ## Gesamtbewertung ueber alle Standards | Standard | Controls | Compliant | Compliance % | |----------|----------|-----------|-------------| | Application Security V7.30 | 63 | 46 | **73%** | | Gen AI Security V1.1 | ~45 | ~15 | **~33%** | | Agentic AI Security V1.2 | ~50 | ~10 | **~20%** | | PostgreSQL Security V1.6 | ~25 | ~8 | **~32%** | | Logging & Auditing | ~15 | ~12 | **~80%** | | Access Control | ~10 | ~8 | **~80%** | | **GESAMT** | **~208** | **~99** | **~48%** | --- ## TOP 10 Kritische Action Items | # | Was | Standard | Aufwand | Machbar? | |---|-----|----------|---------|----------| | **1** | **HITL: Human Approval fuer AI-Aktionen** (create/delete/update muessen bestaetigt werden) | EGAI 4.1.3.1, IAAI 3.6.26 | 2-3 Tage | **JA** — Confirmation-Dialog vor mutierenden Tool-Calls | | **2** | **AI Content Labeling** ("AI Generated" Badge auf Summaries, Narratives, Cover Art) | EGAI 4.3.1.3 | 1 Tag | **JA** — UI Label auf allen AI-Outputs | | **3** | **AI Disclaimer** im Chat-Panel | EGAI 4.3.1.4 | 2h | **JA** — Text-Banner im ChatPanel | | **4** | **PostgreSQL TLS** aktivieren | PG 3.4 | 1 Tag | **JA** — Docker SSL-Zertifikat + `sslmode=require` | | **5** | **PostgreSQL Audit-Logging** (log_connections, log_statement) | PG 3.5 | 2h | **JA** — postgresql.conf in Docker | | **6** | **PostgreSQL SUPERUSER entfernen** (nur noetige Grants) | PG 3.3 | 1h | **JA** — REVOKE SUPERUSER + GRANT spezifisch | | **7** | **Prompt Injection Detection** Middleware | EGAI 4.6.3.2 | 2-3 Tage | **JA** — Input/Output-Scanner fuer AI-Calls | | **8** | **AI Tool Read/Write Separation** (Query-Tools ohne Schreibzugriff) | EGAI 4.1.1.2, IAAI 3.6.22 | 2 Tage | **JA** — Separate DB-Connections | | **9** | **Adversarial Testing** Suite fuer AI | EGAI 4.1.2.2 | 3-5 Tage | **JA** — Test-Suite mit Prompt Injection Vektoren | | **10** | **Content Filtering** auf AI-Outputs | EGAI 4.3.2.1 | 2 Tage | **JA** — Toxicity-Check Middleware | --- ## Empfehlung: Naechste Schritte ### Woche 1: Quick Wins (5 Items, ~2 Tage) - AI Disclaimer im Chat (#3) - AI Content Labeling (#2) - PostgreSQL Audit-Logging (#5) - PostgreSQL SUPERUSER entfernen (#6) - Datenklassifizierung durchfuehren ### Woche 2-3: Kern-Sicherheit (3 Items, ~5 Tage) - HITL fuer AI-Aktionen (#1) - PostgreSQL TLS (#4) - AI Tool Read/Write Separation (#8) ### Woche 4-6: Erweiterte AI-Sicherheit (2 Items, ~5 Tage) - Prompt Injection Detection (#7) - Adversarial Testing Suite (#9) ### Monat 2+: Vertiefung - Content Filtering (#10) - Verbleibende Gen AI + Agentic AI Controls - Formale Security Assessments