mirror of
https://github.com/github/awesome-copilot.git
synced 2026-04-13 11:45:56 +00:00
* Add threat-model-analyst skill: STRIDE-A threat modeling for repositories Add a comprehensive threat model analysis skill that performs security audits using STRIDE-A (STRIDE + Abuse) threat modeling, Zero Trust principles, and defense-in-depth analysis. Supports two modes: - Single analysis: full STRIDE-A threat model producing architecture overviews, DFD diagrams, prioritized findings, and executive assessments - Incremental analysis: security posture diff between baseline report and current code, producing standalone reports with embedded comparison Includes bundled reference assets: - Orchestrator workflows (full and incremental) - Analysis principles and verification checklists - Output format specifications and skeleton templates - DFD diagram conventions and TMT element taxonomy * Address PR review comments from Copilot reviewer - Fix SKILL.md description: use single-quoted scalar, rename mode (2) to 'Incremental analysis' with accurate description - Replace 'Compare Mode (Deprecated)' sections with 'Comparing Commits or Reports' redirect (no deprecated language for first release) - Fix skeleton-findings.md: move Tier 1 table rows under header, add CONDITIONAL-EMPTY block after END-REPEAT (matching Tier 2/3 structure) - Fix skeleton-threatmodel.md and skeleton-architecture.md: use 4-backtick outer fences to avoid nested fence conflicts with inner mermaid fences - Fix skeleton-incremental-html.md: correct section count from 9 to 8 - Fix output-formats.md: change status 'open' to 'Open' in JSON example, move stride_category warning outside JSON fence as blockquote - Fix incremental-orchestrator.md: replace stale compare-output-formats.md reference with inline color conventions - Regenerate docs/README.skills.md with updated description * Address second round of Copilot review comments - Fix diagram-conventions.md: bidirectional flow notation now uses <--> matching orchestrator.md and DFD templates - Fix tmt-element-taxonomy.md: normalize SE.DF.SSH/LDAP/LDAPS to use SE.DF.TMCore.* prefix consistent with all other data flow IDs - Fix output-formats.md: correct TMT category example from SQLDatabase to SQL matching taxonomy, fix component type from 'datastore' to 'data_store' matching canonical enum, remove DaprSidecar from inbound_from per no-standalone-sidecar rule - Fix 5 skeleton files: clarify VERBATIM instruction to 'copy the template content below (excluding the outer code fence)' to prevent agents from wrapping output in markdown fences - Genericize product-specific names in examples: replace edgerag with myapp, BitNetManager with TaskProcessor, AzureLocalMCP with MyApp.Core, AzureLocalInfra with OnPremInfra, MilvusVectorDB with VectorDB * Address third round of Copilot review comments - Fix diagram-conventions.md: second bidirectional two-arrow pattern in Quick Reference section now uses <--> - Fix incremental-orchestrator.md: renumber HTML sections 5-9 to 4-8 matching skeleton-incremental-html.md 8-section structure - Fix output-formats.md: add incremental-comparison.html to File List as conditional output for incremental mode - Fix skeleton-inventory.md: add tmt_type, sidecars, and boundary_kind fields to match output-formats.md JSON schema example
66 lines
2.2 KiB
Markdown
66 lines
2.2 KiB
Markdown
# Skeleton: 1-threatmodel.md
|
|
|
|
> **⛔ Copy the template content below VERBATIM (excluding the outer code fence). Replace `[FILL]` placeholders. Diagram in `.md` and `.mmd` must be IDENTICAL.**
|
|
> **⛔ Data Flow Table columns: `ID | Source | Target | Protocol | Description`. DO NOT rename `Target` to `Destination`. DO NOT reorder columns.**
|
|
> **⛔ Trust Boundary Table columns: `Boundary | Description | Contains` (3 columns). DO NOT add a `Name` column or rename `Contains` to `Components Inside`.**
|
|
|
|
---
|
|
|
|
````markdown
|
|
# Threat Model
|
|
|
|
## Data Flow Diagram
|
|
|
|
```mermaid
|
|
[FILL: Copy EXACT content from 1.1-threatmodel.mmd]
|
|
```
|
|
|
|
## Element Table
|
|
|
|
| Element | Type | TMT Category | Description | Trust Boundary |
|
|
|---------|------|--------------|-------------|----------------|
|
|
[CONDITIONAL: For K8s apps with sidecars, add a `Co-located Sidecars` column after Trust Boundary]
|
|
[REPEAT: one row per element]
|
|
| [FILL] | [FILL: Process / External Interactor / Data Store] | [FILL: SE.P.TMCore.* / SE.EI.TMCore.* / SE.DS.TMCore.*] | [FILL] | [FILL] |
|
|
[END-REPEAT]
|
|
|
|
## Data Flow Table
|
|
|
|
| ID | Source | Target | Protocol | Description |
|
|
|----|--------|--------|----------|-------------|
|
|
[REPEAT: one row per data flow]
|
|
| [FILL: DF##] | [FILL] | [FILL] | [FILL] | [FILL] |
|
|
[END-REPEAT]
|
|
|
|
## Trust Boundary Table
|
|
|
|
| Boundary | Description | Contains |
|
|
|----------|-------------|----------|
|
|
[REPEAT: one row per trust boundary]
|
|
| [FILL] | [FILL] | [FILL: comma-separated component list] |
|
|
[END-REPEAT]
|
|
|
|
[CONDITIONAL: Include ONLY if summary diagram was generated (elements > 15 OR boundaries > 4)]
|
|
|
|
## Summary View
|
|
|
|
```mermaid
|
|
[FILL: Copy EXACT content from 1.2-threatmodel-summary.mmd]
|
|
```
|
|
|
|
## Summary to Detailed Mapping
|
|
|
|
| Summary Element | Contains | Summary Flows | Maps to Detailed Flows |
|
|
|-----------------|----------|---------------|------------------------|
|
|
[REPEAT]
|
|
| [FILL] | [FILL] | [FILL: SDF##] | [FILL: DF##, DF##] |
|
|
[END-REPEAT]
|
|
|
|
[END-CONDITIONAL]
|
|
````
|
|
|
|
**Fixed rules:**
|
|
- Use `DF01`, `DF02` for detailed flows; `SDF01`, `SDF02` for summary flows
|
|
- Element Type: exactly `Process`, `External Interactor`, or `Data Store`
|
|
- TMT Category: must be a specific ID from tmt-element-taxonomy.md (e.g., `SE.P.TMCore.WebSvc`)
|