C.W.K.
Stream
Lesson 04 of 06 · published

The Solo Dev's Threat Model — STRIDE in 60 Seconds

~15 min · stride, threat-model, checklist

Level 0Greenhorn
0 XP0/53 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

Microsoft's STRIDE model is a 6-letter checklist that lets you scan any system for the kinds of attacks it might face. It is overkill for enterprise threat modeling and perfect for solo work — because you can run it in 60 seconds in your head.

LetterThreatSolo-dev example
SpoofingPretending to be someone elseAnyone hitting your endpoint without auth is trivially "you"
TamperingModifying data in transit or at restHTTP (no S) lets a coffee-shop attacker rewrite your API responses
RepudiationDoing something then denying itNo audit log = no way to know what happened during the lost-phone window
Information disclosureLeaking data you didn't mean toOpen /admin; verbose error stacks; .env in repo
Denial of serviceCrashing or overloading youAnyone on the internet can spam your Ollama endpoint and burn your VRAM
Elevation of privilegeUser becomes admin"Anyone who reaches the app" = "anyone who can do everything an admin can"

The 60-second drill

For each surface you ship, walk the six letters out loud. The output is a quick list of the gaps you accept and the ones you do not. You don't have to fix all six — you have to see all six.

Code

Walking STRIDE on a home Ollama API behind Tailscale·text
Surface: my home Ollama API on Tailscale
S: who can pretend to be me? Anyone with a Tailscale node key.
T: can data be modified in transit? No (TLS via Tailscale).
R: can I prove who issued a request? No (no per-user auth).
I: does it leak anything? Model list, system prompt logs.
D: can someone exhaust me? Yes — no rate limiting at all.
E: does any caller have admin? All calls have full access.

External links

Exercise

Pick one service you currently run (Ollama, an internal dashboard, a self-hosted note-taking app). Walk STRIDE on it out loud, writing one line per letter. The exercise is the listing — even gaps you choose to leave open should be named, not invisible.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.