Threat Modeling MCP Server
Ein Model Context Protocol (MCP) Server für umfassende Bedrohungsmodellierung mit automatischer Code-Validierung.
Table of Contents
Ü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:
- Phasen- bzw. Zustandsverwaltung und Promptsteuerung der Bedrohungsmodellierung.
- 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.
- 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"
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"
### 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"
### 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"
### 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
- Installieren Sie
uvx von Astral oder der GitHub README
- uvx ist Teil des uv-Paketmanagers
- Installation überprüfen:
uvx --version
Installation