Servidor MCP de Modelado de Amenazas
Un servidor de Protocolo de Contexto de Modelo (MCP) para modelado de amenazas integral con validación automática de código.
Tabla de Contenidos
Resumen
Este servidor proporciona herramientas para modelado de amenazas, incluyendo análisis de contexto de negocio, análisis de arquitectura, análisis de actores de amenaza, análisis de límites de confianza, análisis de flujo de activos, validación de seguridad de código y generación de informes completos.
Arquitectura y Enfoque
Este Servidor MCP llama al LLM del agente existente en lugar de realizar una llamada API externa o de red a un servicio diferente. Depende del LLM del cliente existente, que podría ser Amazon-Q, Kiro o Cline.
Este Servidor MCP de Modelado de Amenazas tiene tres funcionalidades principales:
- Gestión del estado o fase de modelado de amenazas y control de instrucciones.
- Dirección de instrucciones, que controla al agente para seguir un enfoque metódico de modelado de amenazas utilizando definiciones integradas de riesgos de negocio, exposiciones, actores de amenaza y aplicar STRIDE en orden secuencial.
- Validación de datos en cada estado o fase, que a su vez produce un informe de modelado de amenazas procesable.
También tiene herramientas para generar un informe final en formatos Markdown y JSON exportables.
Principales Ventajas de este Enfoque
- Este modelo de amenazas sigue el enfoque STRIDE estándar para modelado de amenazas en fases, en lugar de una conclusión rápida de activos, límites y amenazas que puede llevar a alucinaciones o resultados de baja calidad.
- Existe un esfuerzo por parte del LLM para comprender el contexto de negocio del proyecto y hacer supuestos válidos que el usuario puede controlar.
- La principal ventaja de usar este servidor MCP de modelado de amenazas que se ejecuta localmente es que aprovecha el LLM existente del cliente (Cline, Amazon-Q, Kiro). Cualquier dato que se procese o envíe se limita al cliente u otros servidores MCP que haya instalado e invocado. Este servidor no realiza llamadas a otras API externas ni envía o recibe datos más allá de llamar al LLM del cliente, ni facturación adicional o tokens aparte de los que su cliente ya está configurado para usar.
- Este enfoque de modelado de amenazas almacena su modelo de amenazas en el mismo repositorio en el directorio
.threatmodel y puede evolucionar su modelo de amenazas a medida que su código, diseño y arquitectura evolucionan.
- Este enfoque de modelo de amenazas examina el código si está presente y actualiza las amenazas si ya están mitigadas mediante controles a nivel de código. Puede volver a ejecutar el modelo de amenazas una vez que corrija su código y debería examinar la corrección para actualizar rápidamente el modelo de amenazas.
Comandos de Inicio Rápido y Ejemplos de cómo modelar amenazas con este servidor MCP
Nota: Antes de usar estos comandos, primero debe completar el proceso de Instalación para configurar el servidor MCP.
Iniciar un modelo de amenazas```
"Threat model this project using the threat modeling MCP Server"
Ser específico en el prompt para usar el servidor MCP de modelado de amenazas asegurará que el cliente (Cline/Kiro/etc) siga las fases y metodología exactas, en lugar de tomar atajos e introducir alucinaciones en los resultados.
### Modela las amenazas de un subproyecto o reduce el alcance a una subcarpeta```
"Threat model this subfolder using the threat modeling MCP Server"
Ejecutarlo en una subcarpeta limitará el alcance del modelo de amenazas y el código a esa subcarpeta y guardará los resultados como un directorio .threatmodel dentro de la subcarpeta.
Guardar el resultado del modelo de amenazas```
"Save the threat model report"
### Validar la completitud del proceso de modelado de amenazas```
"Please complete all the phases in the threat model plan and then generate the final report."
Alimentar una imagen de diagrama de arquitectura como entrada```
"Threat model this project using the threat model MCP server and consider this architecture_image.png attached for this review"
### Intentar remediar las amenazas```
"Can you see if you can implement mitigation controls in the code based on the threats reported in the threat model"
Regenerar modelo de amenazas basado en correcciones de código```
"Can you updated the threat model based on the code fixes which mitigated the reported threats"
### Más ejemplos```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"
Características principales
- Modelado de amenazas integral: Enfoque estructurado para identificar, evaluar y abordar riesgos de seguridad
- Validación automática de código: Detecta código en el directorio del proyecto y valida automáticamente el modelo de amenazas contra él
- Análisis del contexto del negocio: Comprender el valor empresarial y la criticidad del sistema
- Análisis de arquitectura: Documentar la arquitectura técnica del sistema y los flujos de datos
- Análisis de actores de amenazas: Identificar posibles adversarios y evaluar sus capacidades
- Análisis de límites de confianza: Identificar zonas de confianza y validar controles de seguridad en los límites
- Análisis de flujo de activos: Rastrear activos críticos a través del sistema
- Identificación de amenazas: Identificar sistemáticamente posibles amenazas utilizando la metodología STRIDE
- Planificación de mitigaciones: Desarrollar estrategias para abordar las amenazas identificadas
- Gestión de suposiciones: Herramientas para agregar, listar, actualizar y eliminar suposiciones en el modelo de amenazas
- Generador de amenazas: Herramientas para agregar y gestionar amenazas en el modelo
- Gestión de mitigaciones: Herramientas para gestionar mitigaciones y vincularlas a amenazas
- Guía del modelo de amenazas: Orientación paso a paso a través del proceso de modelado de amenazas
- Tipos de modelos de datos: Herramientas para explorar los tipos de modelos de datos y enumeraciones disponibles
Requisitos previos
Antes de instalar el Servidor MCP de Modelado de Amenazas, asegúrese de cumplir con los siguientes requisitos:
Requisitos de instalación
- Instale
uvx desde Astral o el README de GitHub
- uvx es parte del administrador de paquetes uv
- Verifique la instalación:
uvx --version
Instalación
Una vez que tenga uvx instalado y verificado que funciona, agregue la siguiente configuración a su archivo de configuración mcp.json. Dependiendo del tipo de cliente que esté utilizando (kiro/cline/amazon-q), la ubicación de este mcp.json será diferente. Una vez que agregue la configuración y reinicie su IDE, el Servidor MCP de Modelado de Amenazas se instalará automáticamente directamente desde este repositorio de GitHub usando uvx.