# Threat Model — STRIDE + MAESTRO

---

## Header

| Field | Value |
|-------|-------|
| **Report type** | threat-model |
| **Target** | DFT data-platform RAG-system |
| **System** | rag-platform v3.2.0 |
| **Date** | 2026-05-05 |
| **Framework** | STRIDE + MAESTRO |
| **Version** | llm-security v7.4.0 |
| **Triggered by** | /security threat-model |

---

## Risk Dashboard

| Metric | Value |
|--------|-------|
| **Risk Score** | 52/100 |
| **Risk Band** | High |
| **Grade** | C |
| **Verdict** | WARNING |

| Severity | Count |
|----------|------:|
| Critical | 1 |
| High | 3 |
| Medium | 4 |
| Low | 2 |
| Info | 0 |
| **Total** | **10** |

**Verdict rationale:** 1 CRITICAL on token-theft via cross-tenant context bleed (M5/MAESTRO authorization). 3 HIGH on prompt-injection chains and source-document tampering. Threat model produced; mitigations pending architectural sign-off.

---

## Risikomatrise (5×5)

| Trussel | Sannsynlighet | Konsekvens | Score |
|---------|--------------:|-----------:|------:|
| TM-001 — Cross-tenant context bleed via index sharing | 4 | 5 | 20 |
| TM-002 — Prompt injection via source documents | 4 | 4 | 16 |
| TM-003 — Source document tampering (pre-ingest) | 3 | 4 | 12 |
| TM-004 — Embedding inversion attack | 2 | 5 | 10 |
| TM-005 — RAG output exfil via tool call | 3 | 3 | 9 |
| TM-006 — DOS via expensive query patterns | 4 | 2 | 8 |
| TM-007 — Authorization bypass on retrieval | 2 | 4 | 8 |
| TM-008 — Logging gap for prompt history | 3 | 2 | 6 |
| TM-009 — Side-channel via response timing | 2 | 3 | 6 |
| TM-010 — Stale embeddings post-rotation | 2 | 2 | 4 |

---

## Trusler

| ID | Beskrivelse | Severity | Mitigation |
|----|-------------|----------|-----------|
| TM-001 | Cross-tenant context bleed via index sharing — single Azure AI Search index across all tenants | critical | Tenant-isolated indexes OR row-level security with tenant_id filter |
| TM-002 | Prompt injection via source documents — adversarial PDF in corpus | high | Trust-Bus wrapper + Constrained Markdown parser + pre-ingest scanning |
| TM-003 | Source document tampering pre-ingest — supply chain on doc pipeline | high | Signed manifests + SHA-256 verification at ingest |
| TM-004 | Embedding inversion attack — recover source text from embeddings | medium | Use private embedding model OR add noise to stored embeddings |
| TM-005 | RAG output exfil via tool call (Bash, WebFetch chained from RAG output) | high | Hook-level data-flow tracking (post-session-guard.mjs trifecta) |
| TM-006 | DOS via expensive query patterns | medium | Query budget + per-tenant rate limit |
| TM-007 | Authorization bypass on retrieval | medium | Validate tenant_id from auth claim, not request payload |
| TM-008 | Logging gap for prompt history | medium | Append-only audit log, retain 90d |
| TM-009 | Side-channel via response timing | low | Constant-time response shaping for sensitive paths |
| TM-010 | Stale embeddings post-rotation | low | Embedding version tag + rotation playbook |

---

## STRIDE Coverage

| Category | Count | Notes |
|----------|------:|-------|
| Spoofing | 1 | TM-007 |
| Tampering | 2 | TM-003, TM-010 |
| Repudiation | 1 | TM-008 |
| Information Disclosure | 3 | TM-001, TM-004, TM-009 |
| Denial of Service | 1 | TM-006 |
| Elevation of Privilege | 2 | TM-002, TM-005 |

---

## MAESTRO Coverage

| Layer | Count | Notes |
|-------|------:|-------|
| L1 Foundation Models | 0 | Out of scope for this assessment |
| L2 Data Operations | 4 | TM-001, TM-003, TM-004, TM-010 |
| L3 Agentic Frameworks | 0 | RAG only, no agents in this layer |
| L4 Deployment & Infra | 1 | TM-006 |
| L5 Evaluation & Observability | 1 | TM-008 |
| L6 Security & Compliance | 1 | TM-009 |
| L7 Agent Ecosystem | 3 | TM-002, TM-005, TM-007 |

---

## Mitigation Roadmap

| Priority | Trussel | Mitigation | Owner | ETA |
|----------|---------|-----------|-------|-----|
| P0 | TM-001 | Tenant-isolated indexes | platform-eng | 2026-05-15 |
| P0 | TM-002 | Trust-Bus + Constrained Markdown | ai-platform | 2026-05-22 |
| P1 | TM-003 | Signed manifests + ingest verification | data-eng | 2026-05-29 |
| P1 | TM-005 | Hook-level data-flow tracking | security-eng | 2026-05-22 |
| P2 | TM-006, TM-007, TM-008 | Rate limit + auth + audit log | platform-eng | 2026-06-15 |
| P3 | TM-004, TM-009, TM-010 | Embedding hardening | research | 2026-Q3 |

---

## Recommendations

1. **Immediate (P0):** Tenant-isolated indexes — TM-001 is THE critical risk for this multi-tenant RAG.
2. **Immediate (P0):** Trust-Bus wrapper and Constrained Markdown parser — TM-002 closes the highest-volume injection vector.
3. **High (P1):** Signed-manifest pipeline (TM-003) and hook-level data-flow tracking (TM-005).
4. **Medium (P2):** Rate limit + auth fix + audit log — bundled together for one platform-eng sprint.

---

*Threat model complete. 10 threats across STRIDE + MAESTRO frameworks. 2 P0, 2 P1.*
