Microsoft's six threat categories, plus what changes when the component being threat-modeled is an LLM instead of a conventional service.
| Letter | Threat | Violates | Ask |
|---|---|---|---|
| S | Spoofing | Authentication | Can someone convince the system they're a different, legitimate identity? |
| T | Tampering | Integrity | Can data or code be modified without authorization, in transit or at rest? |
| R | Repudiation | Non-repudiation | Could someone perform an action and later credibly deny doing it? |
| I | Information Disclosure | Confidentiality | Can data reach someone who isn't supposed to see it? |
| D | Denial of Service | Availability | Can the system be made unavailable to legitimate users? |
| E | Elevation of Privilege | Authorization | Can someone do something the system shouldn't let them do? |
Run STRIDE first against the product's conventional architecture the normal way — every service, every trust boundary, every data flow. Then run the AI-specific pass separately against any component that inspects, summarizes, or makes a decision using an LLM — that's a second, different threat surface layered on top of the first, not a replacement for it.