Skip to content
Security
Skill

/threat-model-dfd

Draw a Data Flow Diagram with trust boundaries for threat modeling: external entities, processes, data stores, data flows, and the boundaries between them. Use when starting a STRIDE/PASTA threat model or documenting how data moves through a system.

From plugin
awesome-claude-security
11111 skills17 agents13 commands1 MCP

Claude Code

$ npx -y skills add jassics/awesome-claude-security --skill threat-model-dfd --agent claude-code

SKILL.md

threat-model-dfd.SKILL.md
name: threat-model-dfd
description: >-
  Draw a Data Flow Diagram with trust boundaries for threat modeling: external
  entities, processes, data stores, data flows, and the boundaries between them.
  Use when starting a STRIDE/PASTA threat model or documenting how data moves
  through a system.

Goal

A DFD that a threat model can be built on: every element typed correctly and every trust boundary drawn, so STRIDE can be applied per element/flow.

Elements (use standard DFD notation)

  • **External entity** — rectangle. Actors/systems outside your control.
  • **Process** — circle/rounded box. Code that transforms data.
  • **Data store** — open-ended/parallel lines. Databases, queues, files, caches.
  • **Data flow** — arrow. Label with what data moves and the protocol.
  • **Trust boundary** — dashed box/line. Where privilege or trust level changes

(internet↔DMZ, app↔DB, tenant↔tenant, user↔kernel).

Steps

1. List actors, processes, stores, and the data that flows between them (ask the user for the architecture if not supplied). 2. Place trust boundaries wherever data crosses a privilege/trust change — these are where threats concentrate. 3. Label every flow with **data + protocol + auth** (e.g. "PII over TLS, JWT"). 4. Render: prefer the Excalidraw MCP; otherwise emit Mermaid `flowchart LR` with `subgraph` blocks for trust boundaries, plus an element/flow inventory table.

Output

  • The DFD (rendered or importable).
  • An inventory table: element · type · trust zone · sensitive data handled.
  • A list of trust-boundary crossings (the prime spots to enumerate threats next).

Notes

This pairs directly with `threat-modeling:stride` — produce the DFD first, then walk STRIDE per element and per boundary crossing.

Read more
@jassics
Ships withawesome-claude-security

A Claude Code plugin marketplace for the full cybersecurity & GenAI-security lifecycle — from recon and threat modeling to detection engineering, GRC, and CISO-level strategy. A pentester knows which OWASP test bends a broken-access-control endpoint.

11111 skills17 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
11
Star history of jassics/awesome-claude-security on GitHub, a chart by star-history.com

Other skills on awesome-claude-security.

More skills from other plugins.

api-security

api-security

Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…

@zhaoxuya520@zhaoxuya520Install Skill
nemoclaw-user-guide

nemoclaw-user-guide

Find official NemoClaw documentation for installation, configuration, operation, or troubleshooting. Also handles requested docs…

nemoclaw12d23k
@nvidia@nvidiaInstall Skill

Questions about threat-model-dfd.

Which coding agents can use threat-model-dfd?
threat-model-dfd installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.