threat-modelinglisted
Install: claude install-skill millerlai/threat-modeling-master
# Threat Modeling Report Skill
此 skill 用於產生專業的 Threat Modeling Report。透過分析專案實際的程式碼、設定檔、依賴關係與架構,填寫本 skill 附帶的 `threat_modeling_report_template.md` 範本,產出一份結構化、可稽核的威脅建模報告。
此 skill 同目錄下的 `threat_modeling_report_template.md` 為**唯一權威範本**,所有章節結構、欄位定義、方法論(STRIDE / DREAD / MITRE ATT&CK / Attack Tree)皆以該檔為準。執行時請先讀取該範本。
---
## 模式判斷
進入 skill 後,先依使用者輸入判斷執行模式。若無法判斷,主動詢問使用者。
| 使用者意圖 | 模式 | 輸出檔案 |
|---|---|---|
| 「從頭產生威脅建模報告」「分析整個專案的安全性」「產 Threat Modeling Report」「generate a threat model for this project」 | **Full 模式** | `Threat-Modeling-Report.md` |
| 「分析最近 X 天的變更」「從 YYYY-MM-DD 到 YYYY-MM-DD 的 patch」「產 patch report」「analyze changes in the last 30 days」 | **Patch 模式** | `Threat-Modeling-Report-patch.md` |
使用者可能用任何語言提問,依意圖判斷模式,不要只比對上表的字面關鍵字。
兩個模式的輸出檔案一律寫到**專案根目錄**,不是 skill 目錄。
---
## 報告語言
進入 skill 時先決定報告語言,Full / Patch 全程一致。依以下順序判斷,前面的優先:
1. **使用者本次明確指定的語言**(如「write the report in English」「請用日文撰寫」)。
2. **Patch 模式**:若專案根目錄已有 `Threat-Modeling-Report.md`,patch 報告沿用該報告的語言,避免主報告與 patch 語言不一致。
3. **使用者設定的回應語言**:Claude Code 的語言設定或 CLAUDE.md 中指定的回應語言。
4. **使用者提問的語言**:以句子主體判斷,不以夾雜的技術名詞判斷(例如「幫我產生 threat model」是中文)。
5. 以上都無法判斷時,使用繁體中文(範本語言)。
**合併例外**:合併進主報告的內容一律使用主報告的語言,不適用上述順序(包括第 1 條)。若 patch 報告用了其他語言,寫入主報告前先翻譯。
範本以繁體中文撰寫。報告語言不是繁體中文時:
- **翻譯**:章節標題、表格欄位名稱、固定用語,以及本檔寫死的中文預設值(如機密等級「內部」→ `Internal`、`{{待填}}` → `TBD`)。章節編號、結構與順序不變。
- **不翻譯**:威脅與控制等編號(`THR-001`、`CTRL-01`、`DF-01`、`TB-01`…)、STRIDE / DREAD 代號、表格中的 MITRE ATT&CK Tactic / Technique ID 與官方名稱(章節標題仍要翻譯)、檔案路徑、程式碼片段、commit hash,以及輸出檔名(Patch