Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
pproenca avatar

Threat Model

  • 177 installs
  • 191 repo stars
  • Updated July 24, 2026
  • pproenca/dot-skills

threat-model: A skill for development. This provides functionality for development workflows.

Key points

  • threat-model

Threat Model by the numbers

  • 177 all-time installs (skills.sh)
  • +5 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #2,232 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/pproenca/dot-skills --skill threat-model

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs177
repo stars191
Last updatedJuly 24, 2026
Repositorypproenca/dot-skills

How do I use threat-model for development tasks?

Use threat-model for development tasks

Who is it for?

Best when you're working on backend & apis and need structured help with threat-model.

Skip if: Teams with no backend & apis needs, or anyone wanting a generic chat assistant without this specific workflow.

When should I use this skill?

When you need to use threat-model for development tasks, or when threat-model: a skill for development. this provides functionality for development workflows.

What you get

Structured output aligned to threat-model: threat-model.

Files

SKILL.mdMarkdownGitHub ↗

Threat Model

Produces structured, evidence-backed security threat models for any codebase. Goes beyond surface enumeration by tracing untrusted data through actual code paths, clustering findings by root cause, and constructing exploit chains that combine individual findings into higher-severity attack paths.

When to Apply

  • User asks to threat model, security review, or map attack surfaces for a codebase
  • Starting work on security-sensitive features (auth, crypto, file I/O, networking, native bridges)
  • Evaluating a new codebase or major architectural change for security implications
  • Reviewing a PR or recent commits for security regressions (incremental/diff mode)
  • After a security incident to reassess the threat landscape

Workflow Overview

Phase 0 (conditional): Diff Analysis — if git range provided, scope to changed code
Phase 1:  Codebase Survey        → Understand what the project is and does
Phase 2:  Component Mapping      → Identify components, data flows, and language bridges
Phase 3:  Asset Identification   → Determine what needs protecting
Phase 4:  Trust Boundaries       → Classify inputs by trust level, inventory entry points
Phase 5:  Data Flow Tracing      → Follow untrusted values from entry to sink ← key technique
Phase 6:  Attack Surface Enum    → Document surfaces with traced evidence
Phase 7:  Pattern Clustering     → Group 3+ similar findings by root cause
Phase 8:  Exploit Chains         → Combine findings into multi-step attack paths
Phase 9:  Calibration            → Rate with chain-adjusted and systemic severity
Phase 10: Output                 → Write structured THREAT-MODEL.md

How to Use

1. Read methodology for the detailed approach at each phase 2. Read output format for the document structure (6 sections) 3. Consult attack patterns for technology-specific patterns 4. Run scripts/trace-data-flows.sh <project-root> to inventory entry points and sinks 5. Optionally run scripts/scan-patterns.sh <project-root> for security-relevant code patterns

Analytical Techniques

These techniques are the skill's core value — they encode analytical methods that produce findings the model wouldn't generate from general knowledge alone.

TechniqueWhen to ReadWhat It Adds
Data Flow TracingPhase 5 — alwaysTraces untrusted input from entry to sink through actual code. Produces evidence-backed findings instead of theoretical risks
Pattern ClusteringPhase 7 — after enumerationGroups related findings by root cause. Recommends systemic fixes instead of individual patches
Exploit ChainsPhase 8 — after clusteringCombines findings into multi-step attack paths rated by terminal impact
Bridge AnalysisPhase 6 — when FFI/bridges foundSystematic checklist for cross-language boundaries (Swift↔C, Rust↔C, Rails↔NGINX)
Diff AnalysisPhase 0 — for incremental reviewScopes analysis to changed code, identifies regressions

Key Principles

  • Evidence over speculation: Every finding should include a data flow trace showing how untrusted input reaches the vulnerable operation. "XSS is possible" is speculation. "RFC markdown → marked.parse() → innerHTML at line 917 with no sanitizer" is evidence.
  • Systemic over individual: When 3+ findings share a root cause, the systemic finding is more important than any individual finding. Fix the root cause, not the symptoms.
  • Chains over singletons: Rate combined attack paths by their terminal impact. Three medium findings that chain into critical impact are a critical finding.
  • Existing mitigations matter: Document what's already protected, not just what's missing.
  • Context-aware calibration: Severity depends on deployment context. Always include scope notes.

Output

Produces two files (configurable via config.json):

  • `findings.json` — Structured, machine-readable findings. Source of truth. Consumed by threat-patch for automated remediation. Tracks finding state across runs (open → patched → verified → closed).
  • `THREAT-MODEL.md` — Human-readable view generated from findings.json. 6 sections: Overview, Trust Boundaries, Attack Surfaces, Systemic Findings, Exploit Chains, Criticality Calibration.

Pipeline Integration

threat-model → findings.json → threat-patch (consumes findings, generates fixes)
     ↑                                          ↓
     └── threat-model --diff (re-analyzes, updates finding status) ←── git commits

When findings.json exists from a prior run, the skill reads it to:

  • Track which findings are still open vs patched
  • Calibrate severity against prior ratings
  • Detect regressions (fixed findings that reappeared)

Two Modes

ModeTriggerWhat It Does
Full analysis"threat model this codebase"Analyzes entire codebase, produces fresh findings.json + THREAT-MODEL.md
Diff analysis"what changed since last review" / git range providedScopes to changed code, updates existing findings.json with new/resolved/regressed findings

Diff mode is the daily driver for ongoing projects. Full mode runs once (or periodically).

References

FileWhen to Read
references/methodology.mdBefore starting — the 10-phase workflow
references/output-format.mdWhen writing output — 6-section template
references/findings-schema.mdWhen writing findings.json — structured schema
references/attack-patterns.mdWhen enumerating surfaces — technology patterns
references/techniques/During specific phases — analytical techniques

Related skills

FAQ

What does threat-model do?

threat-model: A skill for development. This provides functionality for development workflows.

When should I use threat-model?

When you need to use threat-model for development tasks, or when threat-model: a skill for development. this provides functionality for development workflows.

What are the main capabilities?

threat-model.

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.