b41c1d2501
CI / Architecture Guardrails (push) Successful in 2m38s
CI / Assistant Split Regression (push) Successful in 3m33s
CI / Typecheck (push) Successful in 3m51s
CI / Lint (push) Successful in 5m2s
CI / E2E Tests (push) Has been cancelled
CI / Fresh-Linux Docker Deploy (push) Has been cancelled
CI / Release Images (push) Has been cancelled
CI / Build (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
rename(phase 1): CapaKraken → Nexus across code, UI, docs, CI (#61) Co-authored-by: Hartmut Nörenberg <hn@hartmut-noerenberg.com> Co-committed-by: Hartmut Nörenberg <hn@hartmut-noerenberg.com>
18 KiB
18 KiB
Nexus — 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%)
Nexus Kategorie: "Complex Agentic Systems" (HartBOT mit 87+ Tools)
4.1 Extension Management Security
| EGAI # | Control | Status | Nexus | 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 | Nexus | 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 | Nexus | 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 | Nexus 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 | nexus_dev (Dev), starkes PW fuer Prod noetig |
Prod-PW Policy |
| Separate DB-User fuer Apps | OK | Dedizierter nexus User |
— |
| Kein Default-User (postgres) | PARTIAL | App nutzt nexus, aber postgres Superuser existiert |
postgres-User einschraenken |
3.3 Access Control
| Control | Status | Handlungsbedarf | |
|---|---|---|---|
| Minimal Privileges | PARTIAL | nexus 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