# 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
