Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
threat-modeling-mcp-server — MCP-Server für strukturierte STRIDE-basierte Bedrohungsmodellierung mit automatischer Code-Validierung, Geschäftskontextanalyse und umfassender Berichterstellung in den Formaten Markdown und JSON. | Kitploit
Tools/GitHubGitHub/awslabs/threat-modeling-mcp-server
SchwachstellenanalyseCode-AnalyseCloud-SicherheitDevSecOpsBedrohungsanalyseLernen & Bildung
GitHubawslabs/threat-modeling-mcp-server

threat-modeling-mcp-server

MCP-Server für strukturierte STRIDE-basierte Bedrohungsmodellierung mit automatischer Code-Validierung, Geschäftskontextanalyse und umfassender Berichterstellung in den Formaten Markdown und JSON.

Repository anzeigen
80153vor 15 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Threat Modeling MCP Server

Ein Model Context Protocol (MCP) Server für umfassende Bedrohungsmodellierung mit automatischer Code-Validierung.

Table of Contents

  • Übersicht
  • Schnellstart-Anleitungen
  • Hauptfunktionen
  • Voraussetzungen
  • Installation
  • Ausführen mit der Kiro CLI
  • Verwaltung der Ausgabedateien
  • Kurzreferenz
  • Werkzeugübersicht
  • Methodik der Bedrohungsmodellierung
  • Annahmen in der Bedrohungsmodellierung
  • Entwicklung
  • Roadmap

Übersicht

Dieser Server stellt Werkzeuge für die Bedrohungsmodellierung bereit, darunter Analyse des Geschäftskontexts, Architekturanalyse, Analyse von Bedrohungsakteuren, Vertrauensgrenzenanalyse, Analyse des Asset-Flows, Sicherheitsüberprüfung von Code und Erstellung umfassender Berichte.

Architektur und Ansatz

Dieser MCP Server ruft das vorhandene LLM des Agents auf, anstatt einen externen API- oder Netzwerkaufruf an einen anderen Dienst zu tätigen. Es verlässt sich auf das bestehende LLM des Clients, bei dem es sich um Amazon-Q, Kiro oder Cline handeln könnte.

Dieser Threat Modeling MCP Server hat drei Hauptfunktionen:

  1. Phasen- bzw. Zustandsverwaltung und Promptsteuerung der Bedrohungsmodellierung.
  2. Prompt-Steuerung, die den Agenten dazu anleitet, einen methodischen Ansatz zur Bedrohungsmodellierung zu verfolgen, der integrierte Definitionen von Geschäftsrisiken, Gefährdungen, Bedrohungsakteuren verwendet und STRIDE in sequenzieller Reihenfolge anwendet.
  3. Datenvalidierung in jedem Zustand oder jeder Phase, die wiederum einen umsetzbaren Bedrohungsmodellbericht erzeugt.

Es enthält auch Werkzeuge, um einen endgültigen Bericht sowohl in Markdown- als auch in JSON-Exportformaten zu erstellen.

Hauptvorteile dieses Ansatzes

  • Dieses Bedrohungsmodell folgt dem standardmäßigen STRIDE-Ansatz der Bedrohungsmodellierung in Phasen, anstatt zu einer schnellen Schlussfolgerung von Assets, Grenzen und Bedrohungen zu gelangen, was zu Halluzinationen oder qualitativ minderwertigen Ergebnissen führen kann.
  • Das LLM bemüht sich, den Geschäftskontext des Projekts zu verstehen und gültige Annahmen zu treffen, die vom Benutzer gesteuert werden können.
  • Der Hauptvorteil der Verwendung dieses lokal ausgeführten Bedrohungsmodellierungs-MCP-Servers besteht darin, dass er das vorhandene LLM des Clients (Cline, Amazon-Q, Kiro) nutzt. Alle verarbeiteten oder gesendeten Daten sind auf den Client oder andere MCP-Server beschränkt, die Sie möglicherweise installiert und aufgerufen haben. Dieser Server ruft keine anderen externen APIs auf und sendet oder empfängt keine Daten über das Aufrufen des LLM des Clients hinaus oder verursacht zusätzliche Abrechnungen oder Tokens über das hinaus, was Ihr Client bereits zu verwenden konfiguriert ist.
  • Dieser Ansatz zur Bedrohungsmodellierung speichert Ihr Bedrohungsmodell im selben Repository im Verzeichnis .threatmodel, und Sie können Ihr Bedrohungsmodell weiterentwickeln, während sich Ihr Code, Design und Ihre Architektur weiterentwickeln.
  • Dieser Ansatz zur Bedrohungsmodellierung betrachtet den vorhandenen Code und aktualisiert die Bedrohungen, wenn diese bereits durch Codeebenenkontrollen gemildert wurden. Sie können die Bedrohungsmodellierung erneut ausführen, sobald Sie Ihren Code korrigiert haben, und das System sollte die Korrektur prüfen, um das Bedrohungsmodell schnell zu aktualisieren.

Quick Start Prompts and Examples on how to threat model with this MCP server

Hinweis: Bevor Sie diese Prompts verwenden, müssen Sie zuerst den Installations-Prozess abschließen, um den MCP Server einzurichten.

Start a threat model```

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

root@kitploit:~
Die Spezifikation in der Eingabeaufforderung, den Threat Modeling MCP Server zu verwenden, stellt sicher, dass der Client (Cline/Kiro/etc) die genauen Phasen und Methoden befolgt, anstatt Abkürzungen zu nehmen und Halluzinationen in den Ergebnissen einzuführen.

### Threat model für ein Unterprojekt oder den Umfang auf einen Unterordner reduzieren```
"Threat model this subfolder using the threat modeling MCP Server"

Wenn es in einem Unterordner ausgeführt wird, wird der Umfang des Bedrohungsmodells und des Codes auf diesen Unterordner beschränkt und die Ergebnisse als .threatmodel-Verzeichnis innerhalb des Unterordners gespeichert.

Ergebnis des Bedrohungsmodells speichern```

"Save the threat model report"

root@kitploit:~
### Validieren Sie die Vollständigkeit des Bedrohungsmodellierungsprozesses```
"Please complete all the phases in the threat model plan and then generate the final report."

Geben Sie ein Architekturdiagramm-Bild als Eingabe ein```

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

root@kitploit:~
### Versuch, die Bedrohungen zu beheben```
"Can you see if you can implement mitigation controls in the code based on the threats reported in the threat model"

Bedrohungsmodell basierend auf Code-Korrekturen regenerieren```

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

root@kitploit:~
### Weitere Beispiele```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"

Hauptfunktionen

  • Umfassende Bedrohungsmodellierung: Strukturierter Ansatz zur Identifizierung, Bewertung und Adressierung von Sicherheitsrisiken
  • Automatische Code-Validierung: Erkennt Code im Projektverzeichnis und validiert automatisch das Bedrohungsmodell dagegen
  • Geschäftskontextanalyse: Verstehen des Geschäftswerts und der Kritikalität des Systems
  • Architekturanalyse: Dokumentation der technischen Architektur und Datenflüsse des Systems
  • Bedrohungsakteuranalyse: Identifizieren potenzieller Gegner und Bewerten ihrer Fähigkeiten
  • Vertrauensgrenzenanalyse: Identifizieren von Vertrauenszonen und Validieren von Sicherheitskontrollen an Grenzen
  • Asset-Flussanalyse: Verfolgen kritischer Assets durch das System
  • Bedrohungsidentifikation: Systematisches Identifizieren potenzieller Bedrohungen mit der STRIDE-Methodik
  • Minderungsplanung: Entwickeln von Strategien zur Behebung identifizierter Bedrohungen
  • Annahmenverwaltung: Werkzeuge zum Hinzufügen, Auflisten, Aktualisieren und Löschen von Annahmen im Bedrohungsmodell
  • Bedrohungsgenerator: Werkzeuge zum Hinzufügen und Verwalten von Bedrohungen im Modell
  • Minderungsverwaltung: Werkzeuge zum Verwalten von Minderungen und deren Verknüpfung mit Bedrohungen
  • Leitfaden für das Bedrohungsmodell: Schritt-für-Schritt-Anleitung durch den Bedrohungsmodellierungsprozess
  • Datenmodelltypen: Werkzeuge zum Erkunden verfügbarer Datenmodelltypen und Aufzählungen

Voraussetzungen

Bevor Sie den Threat Modeling MCP Server installieren, stellen Sie sicher, dass Sie die folgenden Anforderungen erfüllen:

Installationsanforderungen

  1. Installieren Sie uvx von Astral oder der GitHub README
    • uvx ist Teil des uv-Paketmanagers
    • Installation überprüfen: uvx --version

Installation

Sobald uvx installiert und funktionsfähig ist, fügen Sie die folgende Konfiguration zu Ihrer mcp.json-Konfigurationsdatei hinzu. Abhängig davon, welchen Client-Typ Sie verwenden (kiro/cline/amazon-q), unterscheidet sich der Speicherort dieser mcp.json. Sobald Sie die Konfiguration hinzugefügt und Ihre IDE neu gestartet haben, wird der Threat Modeling MCP Server automatisch direkt aus diesem GitHub-Repository mit uvx installiert.

Hinweis: Die von diesem MCP-Server für die Bedrohungsmodellierung verwendeten Werkzeuge wurden bereits zur autoApprove-Liste hinzugefügt, um die Benutzerfreundlichkeit zu verbessern und einen nahtlosen Betrieb ohne manuelle Genehmigungsaufforderungen für jeden Werkzeugaufruf zu ermöglichen. Alle Werkzeuge sind intern im Server und tätigen keine externen API-Aufrufe. Wenn Sie jedes Werkzeug überprüfen und pro Aufruf genehmigen möchten, müssen Sie das autoApprove-Array durch Folgendes ersetzen: "autoApprove": []

Konfiguration

Fügen Sie Folgendes zu Ihrer MCP-Client-Konfiguration hinzu:

Für 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:~
**Für 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"
    }
  }
}

Für 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:~
### Ausführen mit Kiro CLI

Um den MCP-Server über `kiro-cli` mit allen automatisch genehmigten Tools auszuführen:```bash
kiro-cli chat --trust-tools="@threat-modeling-mcp-server/*"

This vertraut allen Tools des threat-modeling-mcp-server MCP servers, sodass Sie nicht aufgefordert werden, jeden Tool-Aufruf einzeln zu genehmigen.

Ausführen mit dem benutzerdefinierten Kiro CLI Agent

Dieses Repository enthält einen vorkonfigurierten Kiro CLI Agent, der eine geführte, 9-phasige Threat Modeling Experience bietet. Die Agentenkonfiguration befindet sich in .kiro/agents/threat-modeler.json.

Globale Installation (von jedem Verzeichnis aus verfügbar):```bash ./install-kiro-agent.sh

root@kitploit:~
Zum Deinstallieren: `./install-kiro-agent.sh --remove`

**Lokale Installation** (projektspezifisch):```bash
cp -r /path/to/threat-modeling-mcp-server/.kiro /path/to/your-project/.kiro

Nutzung:```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:~
**Was der Agent enthält**:
- **System-Prompt** (`.kiro/prompts/threat-modeler.md`): Detaillierte Anweisungen für die 9-Phasen-STRIDE-Methodik
- **Fähigkeiten** (`.kiro/skills/`): Referenzmaterialien pro Phase für jede der 9 Threat-Modeling-Phasen
- **Automatisch genehmigte MCP-Tools**: Alle Threat-Modeling-Tools werden ohne manuelle Genehmigungsaufforderungen ausgeführt

## Verwaltung der Ausgabedateien

Alle Ausgabedateien, die vom Threat-Modeling-Server generiert werden, werden automatisch in einem `.threatmodel`-Verzeichnis im Stammverzeichnis Ihres Projekts gespeichert. Dies umfasst:

- Exportierte Bedrohungsmodelle (JSON-Format)
- Validierungsberichte
- Analyseergebnisse

Das `.threatmodel`-Verzeichnis wird bei Bedarf automatisch erstellt.

## Kurzübersicht

### Wesentliche Tools für den Einstieg

| Tool | Zweck | Beispiel |
|------|-------|----------|
| `get_threat_modeling_plan()` | Umfassenden Plan abrufen | Hier starten für eine Übersicht |
| **`get_phase_1_guidance()`** | **Fokussierte Phase-1-Anleitung abrufen** | **Empfohlener Startpunkt** |
| `get_current_phase_status()` | Fortschritt prüfen | Abschlussstatus verfolgen |
| `set_business_context(desc)` | Systemkontext definieren | „E-Commerce-Zahlungssystem” |
| `add_component(name, type)` | Architekturkomponente hinzufügen | „API-Gateway”, „Netzwerk” |
| `add_threat(source, prereq, action, impact)` | Bedrohung identifizieren | „Angreifer”, „Netzwerkzugang”, „SQL-Injection”, „Datenpanne” |
| `add_mitigation(content)` | Sicherheitsmaßnahme hinzufügen | „Eingabevalidierung und parametrisierte Abfragen” |
| `link_mitigation_to_threat(m_id, t_id)` | Maßnahmen mit Bedrohungen verknüpfen | Maßnahmen mit spezifischen Bedrohungen verbinden |
| **`execute_code_validation_step()`** | **Phase 7.5 automatisch ausführen** | **Stellt den Abschluss der Code-Validierung sicher** |
| **`execute_final_export_step()`** | **Phase 9 automatisch ausführen** | **Generiert alle erforderlichen Dateien** |

### 🚀 Schritt-für-Schritt-Anleitung

**Empfohlener Ansatz**: Verwenden Sie phasenspezifische Anleitungstools anstelle des umfassenden Plans:

| Phase | Tool | Zweck |
|-------|------|-------|
| 1 | `get_phase_1_guidance()` | Geschäftskontextanalyse |
| 2 | `get_phase_2_guidance()` | Architekturanalyse |
| 3 | `get_phase_3_guidance()` | Bedrohungsakteursanalyse |
| 4 | `get_phase_4_guidance()` | Vertrauensgrenzenanalyse |
| 5 | `get_phase_5_guidance()` | Asset-Fluss-Analyse |
| 6 | `get_phase_6_guidance()` | Bedrohungsidentifikation |
| 7 | `get_phase_7_guidance()` | Maßnahmenplanung |
| 7.5 | `execute_code_validation_step()` | Code-Validierung (Auto) |
| 8 | `get_phase_8_guidance()` | Restrisikoanalyse |
| 9 | `execute_final_export_step()` | Finaler Export (Auto) |

## Übersicht der Tools

Der Threat Modeling MCP Server bietet **100+ Tools**, die in die folgenden Kategorien unterteilt sind:

| Kategorie | Tools | Beschreibung |
|-----------|-------|--------------|
| **Threat Modeling Plan** | 1 Tool | Umfassende Threat-Modeling-Pläne generieren |
| **Annahmenverwaltung** | 5 Tools | Annahmen hinzufügen, auflisten, abrufen, aktualisieren und löschen |
| **Geschäftskontextanalyse** | 13 Tools | Geschäftskontext und -anforderungen analysieren |
| **Architekturanalyse** | 13 Tools | Systemarchitektur dokumentieren und analysieren |
| **Bedrohungsakteursanalyse** | 10 Tools | Potenzielle Bedrohungsakteure identifizieren und analysieren |
| **Vertrauensgrenzenanalyse** | 18 Tools | Vertrauenszonen, -grenzen und -übergänge analysieren |
| **Vertrauensgrenzenerkennung** | 1 Tool | KI-gestützte Erkennung von Vertrauensgrenzen |
| **Asset-Fluss-Analyse** | 12 Tools | Asset-Flüsse durch das System verfolgen und analysieren |
| **Bedrohungsgenerierung** | 4 Tools | Bedrohungen hinzufügen, auflisten, abrufen und löschen |
| **Maßnahmenverwaltung** | 7 Tools | Maßnahmen verwalten und mit Bedrohungen verknüpfen |
| **Threat Model Guide** | 3 Tools | Schritt-für-Schritt-Anleitung durch den Prozess |
| **Datenmodelltypen** | 2 Tools | Verfügbare Datenmodelltypen erkunden |
| **Codesicherheitsvalidierung** | 3 Tools | Sicherheitsmaßnahmen im Code validieren |
| **Threat Model Validierung** | 2 Tools | Bedrohungsmodelle am Code validieren |
| **Schritt-Orchestrator** | 12 Tools | Phasenspezifische Anleitung und Schrittausführung |

## Threat-Modeling-Methodik

### STRIDE-Framework

Der Server verwendet die STRIDE-Methodik zur systematischen Bedrohungsidentifikation:

| Kategorie | Beschreibung | Beispiele für Bedrohungen |
|-----------|--------------|---------------------------|
| **Spoofing** | Sich als jemand oder etwas anderes ausgeben | Authentifizierungsumgehung, Identitätsdiebstahl |
| **Tampering** | Ändern von Daten oder Code | Datenkorruption, Code-Injection |
| **Repudiation** | Behaupten, eine Aktion nicht ausgeführt zu haben | Log-Manipulation, Ausfall der Nichtabstreitbarkeit |
| **Information Disclosure** | Preisgabe von Informationen an Unbefugte | Datenlecks, Datenschutzverletzungen |
| **Denial of Service** | Verweigerung oder Beeinträchtigung des Dienstes | Ressourcenerschöpfung, Verfügbarkeitsangriffe |
| **Elevation of Privilege** | Erlangen von Fähigkeiten ohne Autorisierung | Privilegieneskalation, unbefugter Zugriff |

### Threat-Modeling-Prozess

Der umfassende Threat-Modeling-Prozess umfasst die folgenden Phasen:

1. **Geschäftskontextanalyse**: Verstehen des Geschäftswerts und der Kritikalität des Systems
2. **Architekturanalyse**: Dokumentieren der technischen Architektur des Systems
3. **Bedrohungsakteursanalyse**: Identifizieren potenzieller Gegner und ihrer Fähigkeiten
4. **Vertrauensgrenzenanalyse**: Identifizieren von Vertrauenszonen und Grenzübergängen
5. **Asset-Fluss-Analyse**: Verfolgen kritischer Assets durch das System
6. **Bedrohungsidentifikation**: Systematisches Identifizieren potenzieller Bedrohungen mit STRIDE
7. **Maßnahmenplanung**: Entwickeln von Strategien zur Bewältigung identifizierter Bedrohungen
8. **Code-Validierung**: Validieren von Bedrohungen gegen bestehende Sicherheitsmaßnahmen
9. **Restrisikoanalyse**: Bewerten verbleibender Risiken nach Maßnahmen

Jede Phase umfasst spezifische Ziele, Aktivitäten und Ausgaben, um den Threat-Modeling-Prozess zu leiten.

### Bedrohungsschweregrade

- **Kritisch**: Sofortiges Handeln erforderlich, Systemkompromittierung wahrscheinlich
- **Hoch**: Erhebliches Risiko, sollte schnell behoben werden
- **Mittel**: Mäßiges Risiko, im normalen Entwicklungszyklus behandeln
- **Niedrig**: Geringes Risiko, behandeln, wenn es passt
- **Info**: Informationsfund, kein sofortiges Handeln erforderlich

### Maßnahmentypen

- **Präventiv**: Maßnahmen, die das Eintreten von Bedrohungen verhindern
- **Detektiv**: Maßnahmen, die erkennen, wenn Bedrohungen eintreten
- **Korrektiv**: Maßnahmen, die auf Bedrohungen reagieren und sie korrigieren
- **Kompensierend**: Alternative Maßnahmen, wenn primäre Maßnahmen nicht umsetzbar sind

## Annahmen im Threat Modeling

Annahmen sind Aussagen, die wir ohne weitere Validierung als wahr akzeptieren. Sie helfen, das Bedrohungsmodell abzugrenzen, indem sie Grenzen und Einschränkungen festlegen. Häufige Beispiele sind:

- „Alle Netzwerkverbindungen im VPC werden während der Übertragung verschlüsselt”
- „AWS-KMS-Schlüssel können nicht durch Brute-Force ermittelt werden”
- „Staatliche Bedrohungsakteure sind für dieses System nicht relevant”

Durch die Dokumentation von Annahmen können wir:
- Sinnlose Bedrohungen vermeiden
- Unnötige Maßnahmen vermeiden
- Uns auf relevante Sicherheitsbedenken konzentrieren
- Den Umfang und die Grenzen des Bedrohungsmodells klar dokumentieren

## Entwicklung

### Mitwirken

Um zu diesem Projekt beizutragen:

1. Klonen Sie das Repository
2. Installieren Sie die Entwicklungsabhängigkeiten mit `uv pip install -e .`
3. Führen Sie den Server lokal mit `python run_server.py` aus
4. Führen Sie Tests mit `python -m pytest` aus

## Sicherheit

Siehe [CONTRIBUTING](https://github.com/awslabs/threat-modeling-mcp-server/blob/main/CONTRIBUTING.md#security-issue-notifications) für weitere Informationen.

## Lizenz

Dieses Projekt ist unter der Apache-2.0-Lizenz lizenziert. Siehe die Datei [LICENSE](https://github.com/awslabs/threat-modeling-mcp-server/blob/main/LICENSE) für Details.
Tool herunterladen