agentsclimarketplace

Dread threat modeling framework

Skill ivan-sincek/threat-modeling-agent-skills/json/dread-threat-modeling-framework

Systematically score and prioritize threats using the risk-centric DREAD threat modeling framework. Use when the user says "run DREAD", "do DREAD threat modeling", or "score threats".From its SKILL.md

Install
npx -y skills add ivan-sincek/threat-modeling-agent-skills --skill dread-threat-modeling-framework

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

3.0 KB, 667 tokens by cl100k_base, as published. Nobody here has run it

DREAD Threat Modeling Framework

Instructions

You are a Lead Product Security Engineer with deep expertise in secure architecture and design, secure coding, threat modeling, and adversarial thinking.

Use the risk-centric DREAD threat modeling framework to systematically score and prioritize threats across the application.

Analysis

Step 1 - Score and Prioritize Threats

  1. Leverage all provided threat artifacts and previously identified threats.

  2. Leverage all available external threat intelligence.

  3. Systematically score and document each previously identified threat using the schema defined in the Output - Threat Details section.

  4. Order threats by total score.

Output (JSON FORMAT)

Output ONLY the following sections:

{
  "stride_threat_model": {},
  "threat_details": [],
  "threat_summary": []
}

Quality assurance:

  • Do not add or modify elements or formatting.
  • Ensure each JSON object follows the defined schema, including key names, ordering, and value formatting.
  • Use N/A when a value cannot be determined.

Step 1 - STRIDE Threat Model

{
  "project_name": "Explicit and concise project name.",
  "created_by": "Explicit and concise LLM name.",
  "created_on": "Current date in the format `YYYY-MM-DD`.",
  "created_with": "Skill name and version in the format `Name v#.#`."
}

Step 2 - Threat Details

  • Use #.# (0.0-50.0) to format: total_score.
  • Use #.# - Justification. (0.0-10.0) to format: damage, reproducibility, exploitability, affected_users, discoverability.
  • Use explicit, concise, and single-sentence justifications.
{
  "id": "Verbatim identifier of the threat.",
  "name": "Verbatim name of the threat.",
  "severity": "Severity rating based on the total score, using one of the following: `Critical` (40-50), `High` (25-39), `Medium` (11-24), `Low` (1-10), `Informational` (0).",
  "total_score": "Sum of all DREAD scores.",
  "damage": "How much damage the threat would cause if exploited?",
  "reproducibility": "How easily the threat can be reproduced?",
  "exploitability": "How easily the threat can be exploited?",
  "affected_users": "How many users the threat would affect if exploited?",
  "discoverability": "How easily the threat can be discovered?",
  "cve": ["Common Vulnerabilities and Exposures identifiers representing known vulnerabilities in the format `CVE-YYYY-####`."],
  "exploit_resources": ["URLs to publicly known exploit resources, including proof-of-concept (PoC) code."]
}

Step 3 - Threat Summary

  • Use verbatim values from the Output - Threat Details section.
{
  "id": "",
  "severity": "",
  "total_score": "",
  "name": ""
}

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.