Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
threat-modeling-mcp-server — Serveur MCP pour la modélisation de menaces structurée basée sur STRIDE avec validation automatique du code, analyse du contexte métier et génération de rapports complets aux formats Markdown et JSON. | Kitploit
Outils/GitHubGitHub/awslabs/threat-modeling-mcp-server
Analyse des VulnérabilitésAnalyse de CodeSécurité CloudDevSecOpsRenseignement sur les MenacesApprentissage et Éducation
GitHubawslabs/threat-modeling-mcp-server

threat-modeling-mcp-server

Serveur MCP pour la modélisation de menaces structurée basée sur STRIDE avec validation automatique du code, analyse du contexte métier et génération de rapports complets aux formats Markdown et JSON.

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt
8015il y a 2 joursVérifié par Kitploit

Serveur MCP de Modélisation des Menaces

Un serveur Model Context Protocol (MCP) pour une modélisation complète des menaces avec validation automatique du code.

Table des matières

  • Aperçu
  • Prompts de démarrage rapide
  • Fonctionnalités clés
  • Prérequis
  • Installation
  • Exécution avec Kiro CLI
  • Gestion des fichiers de sortie
  • Référence rapide
  • Aperçu des outils
  • Méthodologie de modélisation des menaces
  • Hypothèses dans la modélisation des menaces
  • Développement
  • Feuille de route

Aperçu

Ce serveur fournit des outils pour la modélisation des menaces, y compris l'analyse du contexte métier, l'analyse de l'architecture, l'analyse des acteurs de menace, l'analyse des limites de confiance, l'analyse des flux d'actifs, la validation de la sécurité du code et la génération de rapports complets.

Architecture et approche

Ce serveur MCP fait appel au LLM de l'agent existant plutôt que d'effectuer un appel API externe ou réseau vers un service différent. Il repose sur le LLM du client existant, qui pourrait être Amazon-Q, Kiro ou Cline.

Ce serveur MCP de modélisation des menaces a trois fonctionnalités principales :

  1. Gestion des phases ou états de modélisation des menaces et contrôle des invites.
  2. Orientation des invites, qui contrôle l'agent pour suivre une approche méthodique de la modélisation des menaces en utilisant des définitions intégrées des risques métier, des expositions, des acteurs de menace et en utilisant STRIDE dans un ordre séquentiel.
  3. Validation des données à chaque état ou phase, ce qui produit un rapport de modélisation des menaces exploitable.

Il dispose également d'outils pour générer un rapport final dans des formats exportables Markdown et JSON.

Principaux avantages de cette approche

  • Ce modèle de menaces suit l'approche standard STRIDE de modélisation des menaces par phases plutôt qu'une conclusion rapide des actifs, des limites et des menaces, ce qui peut entraîner des hallucinations ou une sortie de faible qualité.
  • Il y a un effort du LLM pour comprendre le contexte métier du projet et faire des hypothèses valides qui peuvent être contrôlées par l'utilisateur.
  • Le principal avantage d'utiliser ce serveur MCP de modélisation des menaces exécuté localement est qu'il exploite le LLM existant du client (Cline, Amazon-Q, Kiro). Toutes les données traitées ou envoyées sont limitées au client ou à d'autres serveurs MCP que vous avez installés et invoqués. Ce serveur n'appelle aucune autre API externe ni n'envoie ou reçoit de données au-delà de l'appel du LLM du client, ni de facturation ou de jetons supplémentaires au-delà de ce que votre client est déjà configuré pour utiliser.
  • Cette approche de modélisation des menaces stocke votre modèle de menaces dans le même référentiel que le répertoire .threatmodel et vous pouvez faire évoluer votre modèle de menaces à mesure que votre code, votre conception et votre architecture évoluent.
  • Cette approche de modèle de menaces examine le code s'il est présent et met à jour les menaces si elles sont déjà atténuées par les contrôles au niveau du code. Vous pouvez réexécuter le modèle de menaces une fois que vous avez corrigé votre code et il devrait examiner la correction pour mettre à jour rapidement le modèle de menaces.

Prompts de démarrage rapide et exemples sur la façon de modéliser les menaces avec ce serveur MCP

Remarque : Avant d'utiliser ces invites, vous devez d'abord terminer le processus d'Installation pour configurer le serveur MCP.

Démarrer un modèle de menaces```

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

root@kitploit:~
Être spécifique dans l'invite pour utiliser le serveur MCP de modélisation des menaces garantira que le client (Cline/Kiro/etc) suivra les phases et la méthodologie exactes plutôt que de prendre des raccourcis et d'introduire des hallucinations dans les résultats.

### Modéliser les menaces d'un sous-projet ou réduire la portée à un sous-dossier```
"Threat model this subfolder using the threat modeling MCP Server"

Exécuter l'outil sur un sous-dossier limitera la portée du modèle de menace et du code à ce sous-dossier et enregistrera les résultats sous forme d'un répertoire .threatmodel dans ce sous-dossier.

Enregistrer le résultat du modèle de menace```

"Save the threat model report"

root@kitploit:~
### Valider l'exhaustivité du processus de modélisation des menaces```
"Please complete all the phases in the threat model plan and then generate the final report."

Fournir une image de diagramme d'architecture en entrée```

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

root@kitploit:~
### Tenter de remédier aux menaces```
"Can you see if you can implement mitigation controls in the code based on the threats reported in the threat model"

Régénérer le modèle de menace en fonction des corrections de code```

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

root@kitploit:~
### Plus d'exemples```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"

Fonctionnalités principales

  • Modélisation complète des menaces : Approche structurée pour identifier, évaluer et traiter les risques de sécurité
  • Validation automatique du code : Détecte le code dans le répertoire du projet et valide automatiquement le modèle de menaces par rapport à celui-ci
  • Analyse du contexte métier : Comprendre la valeur métier et la criticité du système
  • Analyse de l'architecture : Documenter l'architecture technique du système et les flux de données
  • Analyse des acteurs de menaces : Identifier les adversaires potentiels et évaluer leurs capacités
  • Analyse des frontières de confiance : Identifier les zones de confiance et valider les contrôles de sécurité aux frontières
  • Analyse des flux d'actifs : Suivre les actifs critiques à travers le système
  • Identification des menaces : Identifier systématiquement les menaces potentielles à l'aide de la méthodologie STRIDE
  • Planification des mesures d'atténuation : Développer des stratégies pour traiter les menaces identifiées
  • Gestion des hypothèses : Outils pour ajouter, lister, mettre à jour et supprimer des hypothèses dans le modèle de menaces
  • Générateur de menaces : Outils pour ajouter et gérer les menaces dans le modèle
  • Gestion des mesures d'atténuation : Outils pour gérer les mesures d'atténuation et les lier aux menaces
  • Guide du modèle de menaces : Accompagnement pas à pas tout au long du processus de modélisation des menaces
  • Types de modèles de données : Outils pour explorer les types de modèles de données disponibles et les énumérations

Prérequis

Avant d'installer le serveur MCP de modélisation des menaces, assurez-vous de disposer des éléments suivants :

Prérequis d'installation

  1. Installez uvx à partir d'Astral ou du README GitHub
    • uvx fait partie du gestionnaire de paquets uv
    • Vérifiez l'installation : uvx --version

Installation

Une fois que vous avez installé uvx et vérifié qu'il fonctionne, ajoutez la configuration ci-dessous à votre fichier de configuration mcp.json. Selon le type de client que vous utilisez (kiro/cline/amazon-q), l'emplacement de ce fichier mcp.json sera différent. Une fois la configuration ajoutée et votre IDE redémarré, le serveur MCP de modélisation des menaces sera automatiquement installé directement depuis ce dépôt GitHub à l'aide de uvx.

Remarque : Les outils utilisés par ce serveur MCP pour la modélisation des menaces sont déjà ajoutés à autoApprove pour faciliter l'expérience utilisateur, ce qui permet un fonctionnement fluide sans invites d'approbation manuelle pour chaque appel d'outil. Tous les outils sont internes au serveur et n'effectuent pas d'appels API externes. Si vous souhaitez examiner chaque outil et l'approuver par invocation, vous devez remplacer le tableau autoApprove par ceci : "autoApprove": []

Configuration

Ajoutez ce qui suit à la configuration de votre client MCP :

Pour 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:~
**Pour 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"
    }
  }
}

Pour 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:~
### Exécution avec Kiro CLI

Pour exécuter le serveur MCP via `kiro-cli` avec tous les outils auto-approuvés :```bash
kiro-cli chat --trust-tools="@threat-modeling-mcp-server/*"

Cela fait confiance à tous les outils du serveur MCP threat-modeling-mcp-server, vous ne serez donc pas invité à approuver chaque appel d'outil individuellement.

Exécution avec l'agent Kiro CLI personnalisé

Ce dépôt inclut un agent Kiro CLI préconfiguré qui offre une expérience de modélisation des menaces guidée en 9 phases. La configuration de l'agent se trouve dans .kiro/agents/threat-modeler.json.

Installation globale (disponible depuis n'importe quel répertoire) :```bash ./install-kiro-agent.sh

root@kitploit:~
Pour désinstaller : `./install-kiro-agent.sh --remove`

**Installation locale** (spécifique au projet) :```bash
cp -r /path/to/threat-modeling-mcp-server/.kiro /path/to/your-project/.kiro

Utilisation :```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:~
**Ce que l'agent inclut** :
- **Prompt système** (`.kiro/prompts/threat-modeler.md`): Instructions détaillées pour la méthodologie STRIDE en 9 phases
- **Compétences** (`.kiro/skills/`): Documents de référence par phase pour chacune des 9 phases de modélisation des menaces
- **Outils MCP auto-approuvés** : Tous les outils de modélisation des menaces s'exécutent sans demande d'approbation manuelle

## Gestion des fichiers de sortie

Tous les fichiers de sortie générés par le serveur de modélisation des menaces sont automatiquement enregistrés dans un répertoire `.threatmodel` à la racine de votre projet. Cela inclut :

- Modèles de menaces exportés (format JSON)
- Rapports de validation
- Résultats d'analyse

Le répertoire `.threatmodel` est créé automatiquement si nécessaire.

## Référence rapide

### Outils essentiels pour commencer

| Outil | Objectif | Exemple |
|-------|----------|---------|
| `get_threat_modeling_plan()` | Obtenir un plan complet | Commencez ici pour une vue d'ensemble |
| **`get_phase_1_guidance()`** | **Obtenir des conseils ciblés pour la phase 1** | **Point de départ recommandé** |
| `get_current_phase_status()` | Vérifier la progression | Suivre l'état d'avancement |
| `set_business_context(desc)` | Définir le contexte système | "Système de paiement e-commerce" |
| `add_component(name, type)` | Ajouter un composant d'architecture | "API Gateway", "Réseau" |
| `add_threat(source, prereq, action, impact)` | Identifier une menace | "Attaquant", "accès réseau", "injection SQL", "violation de données" |
| `add_mitigation(content)` | Ajouter un contrôle de sécurité | "Validation des entrées et requêtes paramétrées" |
| `link_mitigation_to_threat(m_id, t_id)` | Lier les contrôles aux menaces | Connecter les mesures d'atténuation aux menaces spécifiques |
| **`execute_code_validation_step()`** | **Exécuter automatiquement la phase 7.5** | **Garantit l'achèvement de la validation du code** |
| **`execute_final_export_step()`** | **Exécuter automatiquement la phase 9** | **Génère tous les fichiers requis** |

### 🚀 Conseils étape par étape

**Approche recommandée** : Utilisez les outils de conseils spécifiques à chaque phase plutôt que le plan complet :

| Phase | Outil | Objectif |
|-------|-------|----------|
| 1 | `get_phase_1_guidance()` | Analyse du contexte métier |
| 2 | `get_phase_2_guidance()` | Analyse de l'architecture |
| 3 | `get_phase_3_guidance()` | Analyse des acteurs de menace |
| 4 | `get_phase_4_guidance()` | Analyse des limites de confiance |
| 5 | `get_phase_5_guidance()` | Analyse des flux d'actifs |
| 6 | `get_phase_6_guidance()` | Identification des menaces |
| 7 | `get_phase_7_guidance()` | Planification des mesures d'atténuation |
| 7.5 | `execute_code_validation_step()` | Validation du code (Auto) |
| 8 | `get_phase_8_guidance()` | Analyse des risques résiduels |
| 9 | `execute_final_export_step()` | Export final (Auto) |

## Aperçu des outils

Le serveur Threat Modeling MCP fournit **plus de 100 outils** organisés dans les catégories suivantes :

| Catégorie | Outils | Description |
|-----------|--------|-------------|
| **Plan de modélisation des menaces** | 1 outil | Générer des plans complets de modélisation des menaces |
| **Gestion des hypothèses** | 5 outils | Ajouter, lister, obtenir, mettre à jour et supprimer des hypothèses |
| **Analyse du contexte métier** | 13 outils | Analyser le contexte métier et les exigences |
| **Analyse de l'architecture** | 13 outils | Documenter et analyser l'architecture système |
| **Analyse des acteurs de menace** | 10 outils | Identifier et analyser les acteurs de menace potentiels |
| **Analyse des limites de confiance** | 18 outils | Analyser les zones de confiance, les limites et les points de passage |
| **Détection des limites de confiance** | 1 outil | Détection des limites de confiance par IA |
| **Analyse des flux d'actifs** | 12 outils | Suivre et analyser les flux d'actifs dans le système |
| **Génération de menaces** | 4 outils | Ajouter, lister, obtenir et supprimer des menaces |
| **Gestion des mesures d'atténuation** | 7 outils | Gérer les mesures d'atténuation et les lier aux menaces |
| **Guide de modélisation des menaces** | 3 outils | Conseils étape par étape tout au long du processus |
| **Types de modèles de données** | 2 outils | Explorer les types de modèles de données disponibles |
| **Validation de la sécurité du code** | 3 outils | Valider les contrôles de sécurité dans le code |
| **Validation du modèle de menaces** | 2 outils | Valider les modèles de menaces par rapport au code |
| **Orchestrateur d'étapes** | 12 outils | Conseils spécifiques à chaque phase et exécution des étapes |

## Méthodologie de modélisation des menaces

### Cadre STRIDE

Le serveur utilise la méthodologie STRIDE pour une identification systématique des menaces :

| Catégorie | Description | Exemples de menaces |
|-----------|-------------|---------------------|
| **Usurpation d'identité** | Usurper l'identité de quelqu'un ou de quelque chose d'autre | Contournement d'authentification, vol d'identité |
| **Altération** | Modifier des données ou du code | Corruption de données, injection de code |
| **Répudiation** | Prétendre ne pas avoir effectué une action | Altération des journaux, échecs de non-répudiation |
| **Divulgation d'informations** | Exposer des informations à des utilisateurs non autorisés | Fuites de données, violations de la vie privée |
| **Déni de service** | Refuser ou dégrader le service | Épuisement des ressources, attaques sur la disponibilité |
| **Élévation de privilège** | Obtenir des capacités sans autorisation | Escalade de privilèges, accès non autorisé |

### Processus de modélisation des menaces

Le processus complet de modélisation des menaces comprend ces phases :

1. **Analyse du contexte métier** : Comprendre la valeur métier et la criticité du système
2. **Analyse de l'architecture** : Documenter l'architecture technique du système
3. **Analyse des acteurs de menace** : Identifier les adversaires potentiels et leurs capacités
4. **Analyse des limites de confiance** : Identifier les zones de confiance et les passages de limites
5. **Analyse des flux d'actifs** : Suivre les actifs critiques à travers le système
6. **Identification des menaces** : Identifier systématiquement les menaces potentielles en utilisant STRIDE
7. **Planification des mesures d'atténuation** : Développer des stratégies pour faire face aux menaces identifiées
8. **Validation du code** : Valider les menaces par rapport aux contrôles de sécurité existants
9. **Analyse des risques résiduels** : Évaluer les risques restants après les mesures d'atténuation

Chaque phase comprend des objectifs, des activités et des résultats spécifiques pour guider le processus de modélisation des menaces.

### Niveaux de gravité des menaces

- **Critique** : Action immédiate requise, compromission probable du système
- **Élevé** : Risque significatif, doit être traité rapidement
- **Moyen** : Risque modéré, à traiter dans le cycle de développement normal
- **Faible** : Risque mineur, à traiter quand cela convient
- **Info** : Constatation informative, aucune action immédiate requise

### Types de mesures d'atténuation

- **Préventives** : Contrôles qui empêchent la survenue des menaces
- **Détectives** : Contrôles qui détectent quand des menaces surviennent
- **Correctives** : Contrôles qui répondent et corrigent les menaces
- **Compensatoires** : Contrôles alternatifs lorsque les contrôles principaux ne sont pas réalisables

## Hypothèses dans la modélisation des menaces

Les hypothèses sont des énoncés que nous acceptons comme vrais sans nécessiter de validation supplémentaire. Elles aident à délimiter le modèle de menaces en établissant des limites et des contraintes. Des exemples courants incluent :

- "Toutes les connexions réseau dans le VPC sont chiffrées en transit"
- "Les clés AWS KMS ne peuvent pas être découvertes par force brute"
- "Les acteurs de menace étatiques ne sont pas une préoccupation pour ce système"

En documentant les hypothèses, nous pouvons :
- Éviter de générer des menaces inutiles
- Éviter de recommander des mesures d'atténuation inutiles
- Se concentrer sur les préoccupations de sécurité pertinentes
- Documenter clairement la portée et les limites du modèle de menaces

## Développement

### Contribuer

Pour contribuer à ce projet :

1. Clonez le dépôt
2. Installez les dépendances de développement avec `uv pip install -e .`
3. Exécutez le serveur localement avec `python run_server.py`
4. Exécutez les tests avec `python -m pytest`

## Sécurité

Voir [CONTRIBUTING](https://github.com/awslabs/threat-modeling-mcp-server/blob/HEAD/CONTRIBUTING.md#security-issue-notifications) pour plus d'informations.

## Licence

Ce projet est sous licence Apache-2.0. Voir le fichier [LICENCE](https://github.com/awslabs/threat-modeling-mcp-server/blob/HEAD/LICENCE) pour plus de détails.
Télécharger l’outil