Files
Nexus/docs/acn-full-standards-compliance.md
Hartmut 4a5edeef3e
CI / Unit Tests (pull_request) Successful in 5m46s
CI / Lint (pull_request) Failing after 3m49s
CI / E2E Tests (pull_request) Has been skipped
CI / Fresh-Linux Docker Deploy (pull_request) Has been skipped
CI / Assistant Split Regression (pull_request) Failing after 35s
CI / Architecture Guardrails (pull_request) Failing after 2m14s
CI / Typecheck (pull_request) Successful in 4m22s
CI / Build (pull_request) Has been skipped
CI / Release Images (pull_request) Has been skipped
rename(phase 1): CapaKraken → Nexus across code, UI, docs, CI
- @capakraken/* → @nexus/* across 12 packages (root + 11 workspaces),
  1551 import lines migrated via codemod
- User-visible brand strings renamed (emails, page titles, PWA
  manifest, mobile header, MFA backup-codes header, tooltips, signin
  page, invite page, weekly digest, install prompt)
- TOTP issuer "CapaKraken" → "Nexus" (existing secrets still valid;
  re-enrollment relabels them in users' authenticator apps)
- Function rename: assertCapaKrakenDbTarget → assertNexusDbTarget
- LocalStorage migration shim in apps/web/src/app/layout.tsx copies
  capakraken_* → nexus_* on first load (guarded by nexus_migrated_v1
  sentinel; runs once per browser, then never again)
- Service-worker cache name capakraken-v2 → nexus-v2 with one-time
  caches.delete('capakraken-v2') from the same shim
- Email-domain fixtures @capakraken.{dev,app} → @nexus.{dev,app} in
  seed data, e2e specs, SMTP default fallback
- Dockerfile.dev / Dockerfile.prod / all .github/workflows/*.yml
  pnpm --filter @capakraken/* → @nexus/*
- README, CLAUDE.md, LEARNINGS.md, all docs/*.md, .env.example,
  tooling/deploy/.env.production.example brand sweep

Phase 1 deliberately leaves untouched (handled in Phase 3 cutover):
- PostgreSQL DB name "capakraken" and POSTGRES_USER "capakraken"
- Volume names capakraken_pgdata etc.
- Compose project name "capakraken" / "capakraken-prod"
- db-target-guard default expectedDatabase
- env-var CAPAKRAKEN_EXPECTED_DB_NAME
- Container DNS names in docker-compose.ci.yml

Quality gates green: pnpm typecheck (7/7), pnpm test:unit (7/7),
pnpm lint (0 errors), check:exports/imports/architecture all pass.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-21 15:10:44 +02:00

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