generate_threat_model
Generate a complete threat model from a feature description by analyzing security properties and detecting similar existing models to avoid duplicates.
Instructions
Generate a complete threat model from a feature description.
Analyzes the feature using the Security Properties (Confidentiality, Integrity, Availability, Usage) methodology with capability-defined attackers. Produces trust boundaries, asset inventory, attacker inventory, control objective matrix, and assumptions.
Runs a multi-step AI pipeline. Progress is reported automatically.
Similar-model short-circuit: if the backend finds an existing
model in the workspace whose feature description substantially
overlaps with the new one, it does NOT generate a duplicate. This
tool returns {"similar_models": [{"id", "title", "reason"}, ...], "suggestion": "..."} with the candidate IDs instead. The agent
should then either:
Call
refine_threat_modelon one of the candidates to extend the existing model (usually the right answer — avoids duplicate modeling of the same system and preserves control/assertion history).Retry this tool with
force=Trueto bypass the check and create a genuinely new model anyway (e.g., when the similarity is superficial and the operator confirmed the new model is distinct).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Skip the similar-model detection and always create a new model. Default False — the check fires unless the operator / agent has explicit reason to bypass it. | |
| parent_id | No | Optional ID of an existing model to wire the new model under as a child on the recursive composition tree. The child then inherits the parent's topology and participates in composition (delta / inherited control credit). Default None — the model is created flat. | |
| server_version | Yes | ||
| feature_description | Yes | Description of the feature or system to threat model. Can be a few sentences or a detailed spec. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||