ms-ai-architect/tests/fixtures/ros-analysis/fixture.md
Kjell Tore Guttormsen 665836caf1 test(ms-ai-architect): add ros-analysis fixture for E2E suite
Synthetic ROS-analyse output for "Acme Kunde-chatbot" (Acme Kommune)
following the same pattern as security-assessment, cost-estimation,
ai-act and summary fixtures. Satisfies all 29 assertions in
tests/test-ros-output.sh:

- 8 phases (Fase 1-8) plus Ledelsessammendrag
- 12 trusler i T-XXX-NN format (MAESTRO + OWASP-mapping)
- 9 risikoer i R-N format
- 10 tiltak i M-N format
- 7 ROS-dimensjoner med X/5-scoring
- 5x5 risikomatrise + restrisiko-tabell
- NS 5814 + ISO 31000 metodikk-referanser
- AI Act, GDPR, OWASP regulatoriske referanser
- MAESTRO + supply-chain referanser (Vedlegg O coverage)

Tar bort den siste pre-eksisterende run-e2e-feilen
(`bash tests/run-e2e.sh` exits 0).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-05 12:38:49 +02:00

128 lines
7.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ROS-analyse — Acme Kunde-chatbot
System: Acme Kunde-chatbot (Acme Kommune)
Metodikk: NS 5814:2021 + ISO 31000:2018 + AI-trusselbibliotek (MAESTRO + OWASP LLM Top 10)
Dato: 2026-05-05
Forfatter: ros-analysis-agent
Regulatorisk kontekst: AI Act høyrisiko (Annex III §5b — tilgang til offentlige tjenester), GDPR art. 35, NSM Grunnprinsipper
## Ledelsessammendrag
Acme Kunde-chatbot er et AI-system av middels høy risiko som krever 7 P0/P1-tiltak før produksjon. Total risikoscore 3.2/5 (medium-høy) drevet av modell-drift (R-1), forsyningskjede-eksponering via MCP (R-3, MAESTRO-relevant) og bias mot mindre språkgrupper (R-7). Restrisiko etter tiltak: 2.1/5 (akseptabel for kommunal innbygger-tjeneste).
## Fase 1: Kontekst og avgrensning
Systemet er en RAG-chatbot bygget på Azure OpenAI (Sweden Central) + Azure AI Search + custom Microsoft Agent Framework-orkestrering. Tilgjengelig 24/7 via kommunens nettsider og Microsoft Teams. Estimert 8 000 unike brukere/mnd. Utenfor scope: backend-saksbehandlingssystem, sensitive personopplysninger (kun navn + telefonnummer behandles).
### Avgrensning
- **Inkludert:** RAG-pipeline, chatbot-grensesnitt, samtalelogg-lagring (90 dager), MCP-integrasjon mot kommunens FAQ-database
- **Ekskludert:** Backend ESDH, økonomiske transaksjoner, helseopplysninger
## Fase 2: Trusselidentifikasjon
Trusler identifisert via STRIDE + AI-trusselbibliotek + MAESTRO supply chain-lag:
| Trussel-ID | Beskrivelse | Kategori |
|------------|-------------|----------|
| T-MOD-01 | Modell-drift som degraderer nøyaktighet over tid | Modellsikkerhet |
| T-MOD-02 | Adversarielle prompts som omgår system-instruksjoner | Modellsikkerhet |
| T-DAT-01 | Treningsdata-bias mot småbarnsfamilier (tematisk skjevhet i FAQ) | Bias |
| T-DAT-02 | Datalekkasje fra samtalelogg ved feilkonfigurert tilgang | Dataintegritet |
| T-INF-01 | API-utilgjengelighet i kritisk innbygger-periode (skolestart) | Tilgjengelighet |
| T-INF-02 | Datatap pga manglende georedundans (Sweden Central single-region) | Tilgjengelighet |
| T-LEG-01 | Misbruk av AI-svar som juridisk bevis i klagesaker | Juridisk |
| T-LEG-02 | GDPR art. 22 — automatiserte avgjørelser uten menneskelig oversight | Juridisk |
| T-EXP-01 | Manglende forklarbarhet ved chatbot-anbefalinger | Forklarbarhet |
| T-ORG-01 | Manglende intern eierskap når leverandør (Microsoft) endrer modell | Organisatorisk |
| T-MCP-01 | Forsyningskjede-kompromittering via tredjepart MCP-server (MAESTRO L-1) | Modellsikkerhet |
| T-MCP-02 | Tool poisoning i MCP-deskripsjoner (MAESTRO L-2 prompt injection) | Modellsikkerhet |
## Fase 3: Risikoregister
| Risiko-ID | Beskrivelse | Trussel(er) | Sannsynlighet (1-5) | Konsekvens (1-5) | Score | Nivå |
|-----------|-------------|-------------|---------------------|------------------|-------|------|
| R-1 | Modell-drift gir feil svar om kommunale tjenester | T-MOD-01 | 4 | 3 | 12 | medium |
| R-2 | Prompt injection lekker system-instruksjoner | T-MOD-02 | 3 | 2 | 6 | low |
| R-3 | MCP-supply-chain-angrep eksfiltrerer FAQ-database | T-MCP-01, T-MCP-02 | 2 | 5 | 10 | medium |
| R-4 | Innbyggere får systematisk dårligere svar pga språkbias | T-DAT-01 | 4 | 4 | 16 | high |
| R-5 | API-nedetid i skolestart-periode | T-INF-01 | 3 | 4 | 12 | medium |
| R-6 | Schrems II-eksponering via Sweden Central | T-INF-02 | 2 | 4 | 8 | medium |
| R-7 | Innbygger taper rett pga AI-hallusinasjon presentert som autoritativ | T-LEG-01, T-EXP-01 | 3 | 5 | 15 | high |
| R-8 | Datatilsynet-tilsyn finner manglende DPIA | T-LEG-02 | 4 | 4 | 16 | high |
| R-9 | Microsoft endrer modell-versjon uten varsel — output-kvalitet endres | T-ORG-01 | 3 | 3 | 9 | medium |
## Fase 4: Risikomatrise (5×5)
| Sannsynlighet \\ Konsekvens | 1 (Ubetydelig) | 2 (Mindre) | 3 (Moderat) | 4 (Alvorlig) | 5 (Katastrofal) |
|--------------------------|----------------|------------|-------------|--------------|-----------------|
| **5 (Svært sannsynlig)** | | | | | |
| **4 (Sannsynlig)** | | | R-1, R-5 (12) | R-4, R-8 (16) | |
| **3 (Mulig)** | | R-2 (6) | R-9 (9) | R-6 (8) | R-7 (15) |
| **2 (Lite sannsynlig)** | | | | | R-3 (10) |
| **1 (Svært usannsynlig)** | | | | | |
## Fase 5: Dimensjonsvurdering (7 ROS-dimensjoner)
| Dimensjon | Score (X/5) | Begrunnelse |
|-----------|-------------|-------------|
| Modellsikkerhet | 3/5 | Content Safety + Prompt Shields planlagt, men ingen red-team-test gjennomført |
| Dataintegritet | 4/5 | Azure AI Search med versjonering + audit-logg. Schrems II TIA mangler |
| Bias | 2/5 | Ingen systematisk bias-evaluering på norsk språkdata. Høy R-4-eksponering |
| Tilgjengelighet | 3/5 | 99.9% SLA fra Azure, men single-region. Skolestart-trafikk-prognose mangler |
| Forklarbarhet | 2/5 | Ingen disclaimer i chatbot-svar. R-7 truer innbyggers rettssikkerhet |
| Juridisk | 2/5 | DPIA ikke fullført. AI Act-klassifisering er gjort men FRIA mangler |
| Organisatorisk | 3/5 | Eierskap definert (Digitaliseringsavd.) men endringshåndtering uten leverandør-watch er svakt |
**Gjennomsnitt: 2.7/5 (medium-svak)**
## Fase 6: Tiltaksplan
| Tiltak-ID | Tiltak | Prioritet | Adresserer | Eier | Frist |
|-----------|--------|-----------|------------|------|-------|
| M-1 | Gjennomfør DPIA + FRIA før produksjon | P0 | R-8, AI Act art. 27 | Personvernombud | 2026-06-15 |
| M-2 | Schrems II TIA for Sweden Central | P0 | R-6 | DPO + sikkerhetsarkitekt | 2026-06-30 |
| M-3 | Red team-testing av prompt injection (OWASP LLM Top 10) | P0 | R-2, R-3 | Sikkerhetstest-team | 2026-07-15 |
| M-4 | Bias-evaluering på norsk dataset (5 språkgrupper minimum) | P1 | R-4 | AI-team + eksternt språkmiljø | 2026-07-30 |
| M-5 | Disclaimer i alle chatbot-svar + lenke til menneskelig saksbehandler | P0 | R-7 | UX + juridisk | 2026-06-01 |
| M-6 | Modell-drift overvåking (groundedness scoring + ukentlig review) | P1 | R-1, R-9 | AI-team | 2026-08-01 |
| M-7 | MCP-supply-chain-audit + signed-tools-only-policy | P0 | R-3 | Sikkerhetsarkitekt | 2026-07-01 |
| M-8 | Lastest for skolestart-trafikk (5x normal-belastning) | P1 | R-5 | Drift-team | 2026-07-20 |
| M-9 | Etablér leverandør-watch for Microsoft modell-endringer | P2 | R-9 | AI-team | 2026-08-15 |
| M-10 | AI-spesifikke deteksjonsregler i Sentinel (anomalier i prompt-volum/entropi) | P1 | R-2, R-3 | SOC | 2026-08-01 |
## Fase 7: Restrisiko etter tiltak
| Risiko-ID | Score før | Score etter | Restrisiko-vurdering |
|-----------|-----------|-------------|----------------------|
| R-1 | 12 (medium) | 6 (low) | M-6 mitigerer driftrisiko |
| R-2 | 6 (low) | 3 (low) | M-3 + M-10 |
| R-3 | 10 (medium) | 4 (low) | M-7 + M-10 — forsyningskjede under kontroll |
| R-4 | 16 (high) | 8 (medium) | M-4 reduserer, men bias er aldri fullt eliminert |
| R-5 | 12 (medium) | 6 (low) | M-8 |
| R-6 | 8 (medium) | 4 (low) | M-2 |
| R-7 | 15 (high) | 6 (low) | M-5 — disclaimer + menneskelig opt-out er sterkt |
| R-8 | 16 (high) | 4 (low) | M-1 |
| R-9 | 9 (medium) | 6 (low) | M-9 |
**Gjennomsnitt restrisiko: 5.2 (akseptabelt for kommunal innbygger-tjeneste)**
## Fase 8: Anbefaling og oppfølging
**Anbefaling: BETINGET GODKJENT for produksjon under følgende forutsetninger:**
1. P0-tiltak (M-1, M-2, M-3, M-5, M-7) ferdigstilt før go-live
2. P1-tiltak (M-4, M-6, M-8, M-10) i plan med konkrete frister
3. Reroll innen 12 mnd. for å revurdere bias-status og leverandør-endringer
4. Hendelseslog rapporteres månedlig til Personvernombud + AI-styringsgruppe
**Sektorhensyn (offentlig sektor — kommune):**
- AI Act art. 27 (FRIA) er obligatorisk pga. høyrisiko + offentlig myndighet
- Klagerett må være tydelig kommunisert til innbygger (forvaltningsloven §28)
- Innsyn i logikk må være tilgjengelig på forespørsel (GDPR art. 15(1)(h))
**Vedlegg:**
- Vedlegg A: Trusselbibliotek (12 trusler, MAESTRO + OWASP-mapping)
- Vedlegg O: Supply chain / MCP-økosystem-analyse (R-3 underbygging)
- Vedlegg D: DPIA-koblingstabell (krysskobling til M-1)