llm-security/templates/archive/threat-model-report.md
Kjell Tore Guttormsen f153f969a0 feat(ultraplan-local): v1.6.0 — /ultraresearch-local deep research command
Add /ultraresearch-local for structured research combining local codebase
analysis with external knowledge via parallel agent swarms. Produces research
briefs with triangulation, confidence ratings, and source quality assessment.

New command: /ultraresearch-local with modes --quick, --local, --external, --fg.
New agents: research-orchestrator (opus), docs-researcher, community-researcher,
security-researcher, contrarian-researcher, gemini-bridge (all sonnet).
New template: research-brief-template.md.

Integration: --research flag in /ultraplan-local accepts pre-built research
briefs (up to 3), enriches the interview and exploration phases. Planning
orchestrator cross-references brief findings during synthesis.

Design principle: Context Engineering — right information to right agent at
right time. Research briefs are structured artifacts in the pipeline:
ultraresearch → brief → ultraplan --research → plan → ultraexecute.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 08:58:35 +02:00

176 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Threat Model: [System Name]
<!--
TEMPLATE USAGE
This is the output template for `/security threat-model`.
The threat-modeler-agent uses this as a formatting guide — fill every section with real findings
from the 5-phase interview workflow. Do NOT output placeholder text. If a section is not
applicable, write "Not applicable — [brief reason]."
-->
**Date:** [today's date]
**Scope:** [brief system description from Phase 1]
**Frameworks:** STRIDE + MAESTRO 7-Layer + OWASP LLM Top 10 (2025) + OWASP Agentic Top 10 (2026)
**Status:** Advisory — AI-generated. Requires review by a qualified security practitioner.
---
## 1. System Description
[2-4 sentence description of what the system does, who uses it, and how it is deployed.
Derived from Phase 1 interview answers.]
---
## 2. Architecture Overview
[Text-based architecture diagram from Phase 2 component mapping, with trust boundaries marked.]
---
## 3. MAESTRO Layer Mapping
| Layer | Components Present | Attack Surface Rating |
|-------|-------------------|----------------------|
| L1 Foundation Models | [models used] | [Low/Medium/High] |
| L2 Data and Knowledge | [knowledge files, state files] | [...] |
| L3 Agent Frameworks | [hooks active, permission model] | [...] |
| L4 Tool Integration | [MCP servers, Bash, filesystem] | [...] |
| L5 Agent Capabilities | [commands, agents, skills] | [...] |
| L6 Multi-Agent Systems | [pipelines, delegation patterns] | [...] |
| L7 Ecosystem | [plugins, integrations, CI/CD] | [...] |
---
## 4. Threat Catalog
### Layer [X] — [Layer Name]
#### Threat [X.1]: [Short threat title]
| Field | Value |
|-------|-------|
| STRIDE | [S/T/R/I/D/E] |
| OWASP | [LLM0X or ASI0X] |
| Likelihood | [1-5] — [rationale] |
| Impact | [1-5] — [rationale] |
| Risk Score | [L×I] — [Critical/High/Medium/Low] |
| Wild Exploitation | [Yes/PoC/No] — [cite source if yes] |
**Attack scenario:** [Concrete description of how this threat plays out in this system.]
**Current control status:** [Already mitigated / Can be mitigated / Accepted / External]
**Recommendation:** [Specific, actionable mitigation. Reference the mitigation matrix
control type: Automated / Configured / Advisory.]
---
[Repeat for each threat, grouped by MAESTRO layer]
---
## 5. Risk Matrix
| Threat | Layer | STRIDE | OWASP | Score | Priority |
|--------|-------|--------|-------|-------|----------|
| [Threat title] | L[X] | [category] | [ID] | [score] | [Critical/High/Medium/Low] |
[Sorted by score descending]
---
## 6. Mitigation Plan
### Critical and High Priority Actions
| # | Threat | Action | Control Type | Effort |
|---|--------|--------|-------------|--------|
| 1 | [Threat] | [Specific action] | Automated/Configured/Advisory | Low/Med/High |
[Sorted by risk priority]
### Already Mitigated
| Threat | Control | Evidence |
|--------|---------|---------|
| [Threat] | [What control] | [File or config that confirms it] |
### Accepted Risks
| Threat | Rationale | Owner |
|--------|-----------|-------|
| [Threat] | [Why accepted] | [Who owns this decision] |
---
## 7. Residual Risk Summary
[2-4 sentences summarizing the overall risk posture after applying recommended mitigations.
Identify the highest-impact residual risk and what it would take to address it.]
**Threat model coverage:** [X] threats identified across [Y] MAESTRO layers.
**Critical:** [n] | **High:** [n] | **Medium:** [n] | **Low:** [n]
---
## 8. Assumptions and Limitations
- This threat model is based on information provided in the interview session and file
analysis at the time of generation. System changes may invalidate findings.
- Threat likelihood ratings reflect the analyst's assessment; actual exploitation depends
on attacker capability and motivation not fully modeled here.
- External controls (IAM, network policy, model provider security) are noted as dependencies
but not verified.
- This document is advisory. It does not constitute a security audit or penetration test.
Engage a qualified security practitioner before production deployment of high-risk systems.
---
*Generated by threat-modeler-agent (llm-security plugin)*
*Frameworks: STRIDE · MAESTRO · OWASP LLM Top 10 (2025) · OWASP Agentic Top 10 (2026)*
<!--
RISK SCORING LOGIC
Risk Score = Likelihood × Impact (both on a 1-5 scale)
| Score | Priority | Action |
|-------|----------|--------|
| 20-25 | Critical | Address before deployment |
| 12-19 | High | Address in current sprint |
| 6-11 | Medium | Schedule for remediation |
| 1-5 | Low | Monitor, accept, or defer |
Likelihood scale (1-5):
1 — Theoretical, no known exploitation path
2 — Unlikely, requires unusual attacker access
3 — Plausible, standard attacker capability
4 — Likely, low-cost exploitation
5 — Near-certain, trivial or already exploited in wild
Impact scale (1-5):
1 — Minimal — inconvenience, no data loss, easily reversible
2 — Low — minor data exposure or disruption, limited blast radius
3 — Medium — credential leakage, significant disruption, or reputational harm
4 — High — production system compromise, mass credential theft, persistent backdoor
5 — Critical — complete system compromise, irreversible data loss, regulatory breach
CONTROL STATUS CATEGORIES
- Already mitigated — Evidence exists in the project (hook present, tool restriction in
frontmatter, CLAUDE.md scope-guard, gitignore excludes secrets).
Cite the specific file.
- Can be mitigated — A specific, actionable control exists. State exactly what to do.
- Partially mitigated — A control exists but has gaps. Describe what the gap is.
- Accepted risk — The threat is real, but the system's constraints make mitigation
impractical. Document the decision and the reasoning.
- External dependency — Mitigation requires organizational controls outside Claude Code
scope (IAM, network policy, vendor security). Note the dependency.
THREAT COUNT QUALITY GUIDANCE
5-10 well-described threats with concrete attack scenarios and specific recommendations
are more useful than 25 thin entries with generic rationale. Prioritize depth over breadth.
Group threats tightly by MAESTRO layer — avoid repeating the same threat class across layers
unless the attack vector genuinely differs.
-->