Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
threat-modeling-mcp-server — Server MCP per modellazione delle minacce strutturata basata su STRIDE con validazione automatica del codice, analisi del contesto aziendale e generazione di report completi in formato Markdown e JSON. | Kitploit
Strumenti/GitHubGitHub/awslabs/threat-modeling-mcp-server
Analisi delle VulnerabilitàAnalisi del CodiceSicurezza CloudDevSecOpsThreat IntelligenceApprendimento e Formazione
GitHubawslabs/threat-modeling-mcp-server

threat-modeling-mcp-server

Server MCP per modellazione delle minacce strutturata basata su STRIDE con validazione automatica del codice, analisi del contesto aziendale e generazione di report completi in formato Markdown e JSON.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
801516h 7m faRevisionato da Kitploit

Server MCP per Threat Modeling

Un server Model Context Protocol (MCP) per un'analisi completa delle minacce con validazione automatica del codice.

Indice

  • Panoramica
  • Prompt di Avvio Rapido ed esempi su come effettuare il threat modeling con questo server MCP
  • Caratteristiche Principali
  • Prerequisiti
  • Installazione
  • Esecuzione con Kiro CLI
  • Gestione dei File di Output
  • Riferimento Rapido
  • Panoramica degli Strumenti
  • Metodologia di Threat Modeling
  • Assunzioni nel Threat Modeling
  • Sviluppo
  • Roadmap

Panoramica

Questo server fornisce strumenti per il threat modeling, inclusi analisi del contesto aziendale, analisi dell'architettura, analisi degli attori delle minacce, analisi dei confini di fiducia, analisi dei flussi di asset, validazione della sicurezza del codice e generazione di report completi.

Architettura e Approccio

Questo server MCP chiama il LLM dell'agente esistente invece di effettuare una chiamata API esterna o di rete verso un servizio diverso. Si basa sul LLM del client esistente, che potrebbe essere Amazon-Q, Kiro o Cline.

Questo server MCP per Threat Modeling ha tre funzionalità principali:

  1. Gestione della fase o dello stato del threat modeling e controllo dei prompt.
  2. Orientamento dei prompt, che controlla l'agente per seguire un approccio metodico al threat modeling utilizzando definizioni incorporate di rischi aziendali, esposizioni, attori delle minacce e l'uso di STRIDE in ordine sequenziale.
  3. Validazione dei dati in ogni stato o fase, che a sua volta produce un report di threat modeling actionable.

Dispone inoltre di strumenti per generare un report finale in formati Markdown e JSON esportabili.

Vantaggi Principali di questo Approccio

  • Questo threat model segue l'approccio STRIDE standard per il threat modeling in fasi, anziché una rapida conclusione di asset, confini e minacce che può portare a allucinazioni o output di bassa qualità.
  • C'è uno sforzo da parte del LLM di comprendere il contesto aziendale del progetto e formulare assunzioni valide che possono essere controllate dall'utente.
  • Il principale vantaggio nell'utilizzare questo server MCP per threat modeling in esecuzione locale è che sfrutta il LLM esistente del client (Cline, Amazon-Q, Kiro). Qualsiasi dato elaborato o inviato è limitato al client o ad altri server MCP che potresti aver installato e invocato. Questo server non effettua chiamate ad altre API esterne né invia o riceve dati al di là della chiamata al LLM del client, né addebiti aggiuntivi o token oltre a quanto già configurato per il tuo client.
  • Questo approccio al threat modeling memorizza il tuo threat model nella stessa repository nella directory .threatmodel e puoi far evolvere il tuo threat model man mano che il tuo codice, design e architettura si evolvono.
  • Questo approccio al threat model esamina il codice, se presente, e aggiorna le minacce se sono già mitigati nei controlli a livello di codice. Puoi rieseguire il threat model una volta che hai corretto il codice e dovrebbe esaminare la correzione per aggiornare rapidamente il threat model.

Prompt di Avvio Rapido ed esempi su come effettuare il threat modeling con questo server MCP

Nota: Prima di utilizzare questi prompt, è necessario completare il processo di Installazione per configurare il server MCP.

Avviare un threat model```

"Threat model this project using the threat modeling MCP Server"

root@kitploit:~
Essere specifici nel prompt per utilizzare il threat modeling MCP Server garantirà che il client (Cline/Kiro/etc) segua le fasi e la metodologia esatte, piuttosto che prendere scorciatoie e introdurre allucinazioni nei risultati.

### Modellare le minacce di un sottoprogetto o ridurre l'ambito a una sottocartella```
"Threat model this subfolder using the threat modeling MCP Server"

Eseguirlo su una sottocartella limiterà l'ambito del modello di minaccia e del codice a quella sottocartella e salverà i risultati come directory .threatmodel all'interno della sottocartella.

Salva il risultato del modello di minaccia```

"Save the threat model report"

root@kitploit:~
### Verifica la completezza del processo di threat modeling```
"Please complete all the phases in the threat model plan and then generate the final report."

Fornisci un'immagine del diagramma dell'architettura come input```

"Threat model this project using the threat model MCP server and consider this architecture_image.png attached for this review"

root@kitploit:~
### Tentativo di correggere le minacce```
"Can you see if you can implement mitigation controls in the code based on the threats reported in the threat model"

Rigenera il modello delle minacce basato sulle correzioni del codice```

"Can you updated the threat model based on the code fixes which mitigated the reported threats"

root@kitploit:~
### Altri esempi```bash
# Set up context
"Set business context for an e-commerce payment system"

# Add architecture
"Add a web server component using AWS EC2"
"Add a database component using AWS RDS"

# Identify threats
"Add a threat where an attacker with network access performs SQL injection"

# Add mitigations
"Add a mitigation for input validation"

# Export results
"Export the threat model to my_model.json"

Key Features

  • Modellazione delle minacce completa: Approccio strutturato per identificare, valutare e affrontare i rischi di sicurezza
  • Validazione automatica del codice: Rileva il codice nella directory del progetto e valida automaticamente il modello delle minacce rispetto ad esso
  • Analisi del contesto aziendale: Comprendere il valore aziendale e la criticità del sistema
  • Analisi dell'architettura: Documentare l'architettura tecnica del sistema e i flussi di dati
  • Analisi degli attori delle minacce: Identificare potenziali avversari e valutare le loro capacità
  • Analisi dei confini di fiducia: Identificare le zone di fiducia e validare i controlli di sicurezza ai confini
  • Analisi del flusso di asset: Tracciare gli asset critici attraverso il sistema
  • Identificazione delle minacce: Identificare sistematicamente potenziali minacce utilizzando la metodologia STRIDE
  • Pianificazione delle mitigazioni: Sviluppare strategie per affrontare le minacce identificate
  • Gestione delle assunzioni: Strumenti per aggiungere, elencare, aggiornare ed eliminare assunzioni nel modello delle minacce
  • Generatore di minacce: Strumenti per aggiungere e gestire le minacce nel modello
  • Gestione delle mitigazioni: Strumenti per gestire le mitigazioni e collegarle alle minacce
  • Guida al modello delle minacce: Guida passo-passo attraverso il processo di modellazione delle minacce
  • Tipi di modelli di dati: Strumenti per esplorare i tipi di modelli di dati disponibili e le enumerazioni

Prerequisiti

Prima di installare il Threat Modeling MCP Server, assicurati di soddisfare i seguenti requisiti:

Requisiti di installazione

  1. Installa uvx da Astral o dal README di GitHub
    • uvx fa parte del gestore pacchetti uv
    • Verifica l'installazione: uvx --version

Installazione

Una volta installato e verificato il funzionamento di uvx, aggiungi la configurazione seguente al tuo file di configurazione mcp.json. A seconda del tipo di client che stai utilizzando (kiro/cline/amazon-q), la posizione di questo mcp.json sarà diversa. Dopo aver aggiunto la configurazione e riavviato il tuo IDE, il Threat Modeling MCP Server verrà installato automaticamente direttamente da questo repository GitHub utilizzando uvx.

Nota: Gli strumenti utilizzati da questo server MCP per la modellazione delle minacce sono già stati aggiunti a autoApprove per facilità d'uso, consentendo un funzionamento senza interruzioni senza richieste di approvazione manuale per ogni chiamata di strumento. Tutti gli strumenti sono interni al server e non effettuano chiamate API esterne. Se desideri rivedere ciascuno degli strumenti e approvarli singolarmente, sostituisci l'array autoApprove con questo: "autoApprove": []

Configurazione

Aggiungi quanto segue alla configurazione del tuo client MCP:

Per Amazon Q (~/.aws/amazonq/mcp.json):```json { "mcpServers": { "threat-modeling-mcp-server": { "command": "uvx", "args": [ "--from", "git+https://github.com/awslabs/threat-modeling-mcp-server.git", "threat-modeling-mcp-server" ], "env": { "FASTMCP_LOG_LEVEL": "ERROR" }, "disabled": false, "autoApprove": ["add_asset","add_assumption","add_component","add_component_to_zone","add_conn_to_crossing","add_connection","add_crossing_point","add_data_store","add_flow","add_mitigation","add_threat","add_threat_actor","add_trust_boundary","add_trust_zone","advance_phase","analyze_threat_actors","clear_architecture","clear_asset_flows","clear_business_context","clear_threat_actors","clear_trust_boundaries","delete_asset","delete_assumption","delete_component","delete_connection","delete_crossing_point","delete_data_store","delete_flow","delete_mitigation","delete_threat","delete_threat_actor","delete_trust_boundary","delete_trust_zone","execute_code_validation_step","execute_final_export_step","export_comprehensive_threat_model","export_threat_model_with_remediation_status","follow_threat_modeling_plan","generate_remediation_report","get_architecture_analysis_plan","get_asset","get_asset_flow_analysis_plan","get_assumption","get_business_context","get_business_context_analysis_plan","get_business_context_features","get_crossing_point","get_current_phase_status","get_data_model_types","get_flow","get_mitigation","get_phase_1_guidance","get_phase_2_guidance","get_phase_3_guidance","get_phase_4_guidance","get_phase_5_guidance","get_phase_6_guidance","get_phase_7_5_guidance","get_phase_7_guidance","get_phase_8_guidance","get_phase_9_guidance","get_threat","get_threat_actor","get_threat_model_progress","get_threat_modeling_plan","get_trust_boundary","get_trust_boundary_analysis_plan","get_trust_boundary_detection_plan","get_trust_zone","link_mitigation_to_threat","list_assets","list_assumptions","list_components","list_connections","list_crossing_points","list_data_models","list_data_stores","list_flows","list_mitigations","list_threat_actors","list_threats","list_trust_boundaries","list_trust_zones","remove_component_from_zone","remove_conn_from_crossing","reset_asset_flows","reset_threat_actors","set_business_context","set_threat_actor_priority","set_threat_actor_relevance","unlink_mitigation_from_threat","update_asset","update_assumption","update_component","update_connection","update_crossing_point","update_data_store","update_flow","update_mitigation","update_threat","update_threat_actor","update_trust_boundary","update_trust_zone","validate_business_context_completeness","validate_security_controls","validate_threat_model_against_code","validate_threat_remediation"] } } }

root@kitploit:~
**Per VSCode Cline**:```json
{
  "mcpServers": {
    "threat-modeling-mcp-server": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/awslabs/threat-modeling-mcp-server.git",
        "threat-modeling-mcp-server"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": ["add_asset","add_assumption","add_component","add_component_to_zone","add_conn_to_crossing","add_connection","add_crossing_point","add_data_store","add_flow","add_mitigation","add_threat","add_threat_actor","add_trust_boundary","add_trust_zone","advance_phase","analyze_threat_actors","clear_architecture","clear_asset_flows","clear_business_context","clear_threat_actors","clear_trust_boundaries","delete_asset","delete_assumption","delete_component","delete_connection","delete_crossing_point","delete_data_store","delete_flow","delete_mitigation","delete_threat","delete_threat_actor","delete_trust_boundary","delete_trust_zone","execute_code_validation_step","execute_final_export_step","export_comprehensive_threat_model","export_threat_model_with_remediation_status","follow_threat_modeling_plan","generate_remediation_report","get_architecture_analysis_plan","get_asset","get_asset_flow_analysis_plan","get_assumption","get_business_context","get_business_context_analysis_plan","get_business_context_features","get_crossing_point","get_current_phase_status","get_data_model_types","get_flow","get_mitigation","get_phase_1_guidance","get_phase_2_guidance","get_phase_3_guidance","get_phase_4_guidance","get_phase_5_guidance","get_phase_6_guidance","get_phase_7_5_guidance","get_phase_7_guidance","get_phase_8_guidance","get_phase_9_guidance","get_threat","get_threat_actor","get_threat_model_progress","get_threat_modeling_plan","get_trust_boundary","get_trust_boundary_analysis_plan","get_trust_boundary_detection_plan","get_trust_zone","link_mitigation_to_threat","list_assets","list_assumptions","list_components","list_connections","list_crossing_points","list_data_models","list_data_stores","list_flows","list_mitigations","list_threat_actors","list_threats","list_trust_boundaries","list_trust_zones","remove_component_from_zone","remove_conn_from_crossing","reset_asset_flows","reset_threat_actors","set_business_context","set_threat_actor_priority","set_threat_actor_relevance","unlink_mitigation_from_threat","update_asset","update_assumption","update_component","update_connection","update_crossing_point","update_data_store","update_flow","update_mitigation","update_threat","update_threat_actor","update_trust_boundary","update_trust_zone","validate_business_context_completeness","validate_security_controls","validate_threat_model_against_code","validate_threat_remediation"],
      "timeout": 60,
      "type": "stdio"
    }
  }
}

Per Kiro (~/.kiro/settings/mcp.json):```json { "mcpServers": { "threat-modeling-mcp-server": { "command": "uvx", "args": [ "--from", "git+https://github.com/awslabs/threat-modeling-mcp-server.git", "threat-modeling-mcp-server" ], "env": { "FASTMCP_LOG_LEVEL": "ERROR" }, "disabled": false, "autoApprove": ["add_asset","add_assumption","add_component","add_component_to_zone","add_conn_to_crossing","add_connection","add_crossing_point","add_data_store","add_flow","add_mitigation","add_threat","add_threat_actor","add_trust_boundary","add_trust_zone","advance_phase","analyze_threat_actors","clear_architecture","clear_asset_flows","clear_business_context","clear_threat_actors","clear_trust_boundaries","delete_asset","delete_assumption","delete_component","delete_connection","delete_crossing_point","delete_data_store","delete_flow","delete_mitigation","delete_threat","delete_threat_actor","delete_trust_boundary","delete_trust_zone","execute_code_validation_step","execute_final_export_step","export_comprehensive_threat_model","export_threat_model_with_remediation_status","follow_threat_modeling_plan","generate_remediation_report","get_architecture_analysis_plan","get_asset","get_asset_flow_analysis_plan","get_assumption","get_business_context","get_business_context_analysis_plan","get_business_context_features","get_crossing_point","get_current_phase_status","get_data_model_types","get_flow","get_mitigation","get_phase_1_guidance","get_phase_2_guidance","get_phase_3_guidance","get_phase_4_guidance","get_phase_5_guidance","get_phase_6_guidance","get_phase_7_5_guidance","get_phase_7_guidance","get_phase_8_guidance","get_phase_9_guidance","get_threat","get_threat_actor","get_threat_model_progress","get_threat_modeling_plan","get_trust_boundary","get_trust_boundary_analysis_plan","get_trust_boundary_detection_plan","get_trust_zone","link_mitigation_to_threat","list_assets","list_assumptions","list_components","list_connections","list_crossing_points","list_data_models","list_data_stores","list_flows","list_mitigations","list_threat_actors","list_threats","list_trust_boundaries","list_trust_zones","remove_component_from_zone","remove_conn_from_crossing","reset_asset_flows","reset_threat_actors","set_business_context","set_threat_actor_priority","set_threat_actor_relevance","unlink_mitigation_from_threat","update_asset","update_assumption","update_component","update_connection","update_crossing_point","update_data_store","update_flow","update_mitigation","update_threat","update_threat_actor","update_trust_boundary","update_trust_zone","validate_business_context_completeness","validate_security_controls","validate_threat_model_against_code","validate_threat_remediation"] } } }

root@kitploit:~
### Esecuzione con Kiro CLI

Per eseguire il server MCP tramite `kiro-cli` con tutti gli strumenti approvati automaticamente:```bash
kiro-cli chat --trust-tools="@threat-modeling-mcp-server/*"

Questa configurazione autorizza tutti gli strumenti del server MCP threat-modeling-mcp-server, quindi non ti verrà chiesto di approvare ogni singola chiamata di strumento individualmente.

Esecuzione con l'Agente Kiro CLI personalizzato

Questo repository include un agente Kiro CLI preconfigurato che offre un'esperienza di threat modeling guidata in 9 fasi. La configurazione dell'agente si trova in .kiro/agents/threat-modeler.json.

Installazione globale (disponibile da qualsiasi directory):```bash ./install-kiro-agent.sh

root@kitploit:~
Per disinstallare: `./install-kiro-agent.sh --remove`

**Installazione locale** (specifica del progetto):```bash
cp -r /path/to/threat-modeling-mcp-server/.kiro /path/to/your-project/.kiro

Utilizzo:```bash

Non-interactive: run full threat model and exit

kiro-cli chat --agent threat-modeler --no-interactive "Threat model this project"

Interactive: start a session with the agent

kiro-cli chat --agent threat-modeler

root@kitploit:~
**Cosa include l'agente**:
- **System prompt** (`.kiro/prompts/threat-modeler.md`): Istruzioni dettagliate per la metodologia STRIDE a 9 fasi
- **Skills** (`.kiro/skills/`): Materiali di riferimento per fase per ciascuna delle 9 fasi di threat modeling
- **Strumenti MCP approvati automaticamente**: Tutti gli strumenti di threat modeling vengono eseguiti senza richieste di approvazione manuale

## Gestione dei File di Output

Tutti i file di output generati dal server di threat modeling vengono automaticamente salvati in una directory `.threatmodel` nella root del tuo progetto. Questo include:

- Modelli di minaccia esportati (formato JSON)
- Report di validazione
- Risultati dell'analisi

La directory `.threatmodel` viene creata automaticamente quando necessario.

## Riferimento Rapido

### Strumenti Essenziali per Iniziare

| Strumento | Scopo | Esempio |
|-----------|-------|---------|
| `get_threat_modeling_plan()` | Ottieni un piano completo | Inizia qui per una panoramica |
| **`get_phase_1_guidance()`** | **Ottieni indicazioni mirate per la Fase 1** | **Punto di partenza consigliato** |
| `get_current_phase_status()` | Controlla lo stato di avanzamento | Traccia il completamento |
| `set_business_context(desc)` | Definisci il contesto del sistema | "Sistema di pagamento e-commerce" |
| `add_component(name, type)` | Aggiungi un componente architetturale | "API Gateway", "Rete" |
| `add_threat(source, prereq, action, impact)` | Identifica una minaccia | "Attaccante", "accesso alla rete", "SQL injection", "violazione dati" |
| `add_mitigation(content)` | Aggiungi un controllo di sicurezza | "Validazione input e query parametrizzate" |
| `link_mitigation_to_threat(m_id, t_id)` | Collega controlli alle minacce | Collega mitigazioni a minacce specifiche |
| **`execute_code_validation_step()`** | **Esegui automaticamente la Fase 7.5** | **Assicura il completamento della validazione del codice** |
| **`execute_final_export_step()`** | **Esegui automaticamente la Fase 9** | **Genera tutti i file richiesti** |

### 🚀 Guida Passo-Passo

**Approccio Consigliato**: Utilizza gli strumenti di guida specifici per fase invece del piano completo:

| Fase | Strumento | Scopo |
|------|-----------|-------|
| 1 | `get_phase_1_guidance()` | Analisi del Contesto Aziendale |
| 2 | `get_phase_2_guidance()` | Analisi dell'Architettura |
| 3 | `get_phase_3_guidance()` | Analisi degli Attaccanti |
| 4 | `get_phase_4_guidance()` | Analisi dei Confini di Fiducia |
| 5 | `get_phase_5_guidance()` | Analisi dei Flussi di Asset |
| 6 | `get_phase_6_guidance()` | Identificazione delle Minacce |
| 7 | `get_phase_7_guidance()` | Pianificazione delle Mitigazioni |
| 7.5 | `execute_code_validation_step()` | Validazione del Codice (Automatica) |
| 8 | `get_phase_8_guidance()` | Analisi del Rischio Residuo |
| 9 | `execute_final_export_step()` | Esportazione Finale (Automatica) |

## Panoramica degli Strumenti

Il Threat Modeling MCP Server fornisce **oltre 100 strumenti** organizzati nelle seguenti categorie:

| Categoria | Strumenti | Descrizione |
|-----------|-----------|-------------|
| **Piano di Threat Modeling** | 1 strumento | Genera piani completi di threat modeling |
| **Gestione delle Assunzioni** | 5 strumenti | Aggiungi, elenca, ottieni, aggiorna ed elimina assunzioni |
| **Analisi del Contesto Aziendale** | 13 strumenti | Analizza il contesto aziendale e i requisiti |
| **Analisi dell'Architettura** | 13 strumenti | Documenta e analizza l'architettura del sistema |
| **Analisi degli Attaccanti** | 10 strumenti | Identifica e analizza potenziali attaccanti |
| **Analisi dei Confini di Fiducia** | 18 strumenti | Analizza zone di fiducia, confini e punti di attraversamento |
| **Rilevamento dei Confini di Fiducia** | 1 strumento | Rilevamento dei confini di fiducia basato su IA |
| **Analisi dei Flussi di Asset** | 12 strumenti | Traccia e analizza i flussi di asset attraverso il sistema |
| **Generazione delle Minacce** | 4 strumenti | Aggiungi, elenca, ottieni ed elimina minacce |
| **Gestione delle Mitigazioni** | 7 strumenti | Gestisci mitigazioni e collegale alle minacce |
| **Guida al Threat Modeling** | 3 strumenti | Guida passo-passo attraverso il processo |
| **Tipi di Modello Dati** | 2 strumenti | Esplora i tipi di modello dati disponibili |
| **Validazione della Sicurezza del Codice** | 3 strumenti | Valida i controlli di sicurezza nel codice |
| **Validazione del Modello di Minaccia** | 2 strumenti | Valida i modelli di minaccia rispetto al codice |
| **Orchestratore di Passi** | 12 strumenti | Guida specifica per fase ed esecuzione dei passi |

## Metodologia di Threat Modeling

### Framework STRIDE

Il server utilizza la metodologia STRIDE per l'identificazione sistematica delle minacce:

| Categoria | Descrizione | Esempi di Minacce |
|-----------|-------------|-------------------|
| **Spoofing** | Impersonare qualcuno o qualcos'altro | Bypass dell'autenticazione, furto d'identità |
| **Tampering** | Modificare dati o codice | Corruzione dei dati, injection di codice |
| **Repudiation** | Negare di aver eseguito un'azione | Manomissione dei log, fallimenti di non ripudio |
| **Information Disclosure** | Esporre informazioni a utenti non autorizzati | Fughe di dati, violazioni della privacy |
| **Denial of Service** | Negare o degradare un servizio | Esaurimento delle risorse, attacchi alla disponibilità |
| **Elevation of Privilege** | Ottenere capacità senza autorizzazione | Escalation dei privilegi, accesso non autorizzato |

### Processo di Threat Modeling

Il processo completo di threat modeling include queste fasi:

1. **Analisi del Contesto Aziendale**: Comprendere il valore aziendale e la criticità del sistema
2. **Analisi dell'Architettura**: Documentare l'architettura tecnica del sistema
3. **Analisi degli Attaccanti**: Identificare potenziali avversari e le loro capacità
4. **Analisi dei Confini di Fiducia**: Identificare zone di fiducia e attraversamenti dei confini
5. **Analisi dei Flussi di Asset**: Tracciare gli asset critici attraverso il sistema
6. **Identificazione delle Minacce**: Identificare sistematicamente le potenziali minacce utilizzando STRIDE
7. **Pianificazione delle Mitigazioni**: Sviluppare strategie per affrontare le minacce identificate
8. **Validazione del Codice**: Validare le minacce rispetto ai controlli di sicurezza esistenti
9. **Analisi del Rischio Residuo**: Valutare i rischi rimanenti dopo le mitigazioni

Ogni fase include obiettivi, attività e output specifici per guidare il processo di threat modeling.

### Livelli di Gravità delle Minacce

- **Critical**: Azione immediata richiesta, probabile compromissione del sistema
- **High**: Rischio significativo, da affrontare rapidamente
- **Medium**: Rischio moderato, da affrontare nel normale ciclo di sviluppo
- **Low**: Rischio minore, da affrontare quando conveniente
- **Info**: Risultato informativo, nessuna azione immediata richiesta

### Tipi di Mitigazione

- **Preventive**: Controlli che prevengono il verificarsi delle minacce
- **Detective**: Controlli che rilevano quando si verificano le minacce
- **Corrective**: Controlli che rispondono e correggono le minacce
- **Compensating**: Controlli alternativi quando i controlli primari non sono fattibili

## Assunzioni nel Threat Modeling

Le assunzioni sono dichiarazioni che accettiamo come vere senza richiedere ulteriori validazioni. Aiutano a delimitare il modello di minaccia stabilendo confini e vincoli. Esempi comuni includono:

- "Tutte le connessioni di rete nella VPC sono crittografate in transito"
- "Le chiavi AWS KMS non possono essere scoperte per forza bruta"
- "Gli attaccanti a livello statale non sono una preoccupazione per questo sistema"

Documentando le assunzioni, possiamo:
- Evitare di generare minacce inutili
- Evitare di raccomandare mitigazioni non necessarie
- Concentrarci su problemi di sicurezza rilevanti
- Documentare chiaramente l'ambito e i limiti del modello di minaccia

## Sviluppo

### Contribuire

Per contribuire a questo progetto:

1. Clona il repository
2. Installa le dipendenze di sviluppo con `uv pip install -e .`
3. Esegui il server localmente con `python run_server.py`
4. Esegui i test con `python -m pytest`

## Sicurezza

Vedi [CONTRIBUTING](https://github.com/awslabs/threat-modeling-mcp-server/blob/HEAD/CONTRIBUTING.md#security-issue-notifications) per maggiori informazioni.

## Licenza

Questo progetto è concesso in licenza con la Licenza Apache-2.0. Vedi il file [LICENSE](https://github.com/awslabs/threat-modeling-mcp-server/blob/HEAD/LICENSE) per i dettagli.
Scarica lo strumento