
خادم MCP لنمذجة التهديدات القائمة على STRIDE المنظمة مع التحقق التلقائي من الكود، وتحليل السياق التجاري، وتوليد تقارير شاملة بتنسيقي Markdown وJSON.
خادم بروتوكول سياق النموذج (MCP) لنمذجة التهديدات الشاملة مع التحقق الموجّه من الكود.
يوفر هذا الخادم أدوات لنمذجة التهديدات، بما في ذلك تحليل سياق الأعمال، وتحليل البنية المعمارية، وتحليل الجهات الفاعلة المهددة، وتحليل حدود الثقة، وتحليل تدفق الأصول، والتحقق من أمان الكود، وإنشاء تقارير شاملة.
يستدعي خادم MCP هذا نموذج اللغة الكبير (LLM) الخاص بالوكيل الموجود بدلاً من إجراء استدعاء API خارجي أو اتصال شبكي بخدمة مختلفة. وهو يعتمد على نموذج اللغة الكبير الخاص بالعميل الموجود والذي قد يكون Amazon-Q أو Kiro أو Cline.
يحتوي خادم MCP لنمذجة التهديدات هذا على ثلاث وظائف رئيسية:
كما يحتوي على أدوات لإنشاء تقرير نهائي بصيغتي Markdown وJSON القابلتين للتصدير.
.threatmodel، لكن هذه اللقطات لا يتم تحميلها تلقائياً في جلسة لاحقة.ملاحظة: قبل استخدام هذه المطالبات، يجب عليك أولاً إكمال عملية التثبيت لإعداد خادم MCP.
"Threat model this project using the threat modeling MCP Server"
التحديد في المطالبة باستخدام خادم MCP لنمذجة التهديدات سيضمن أن العميل (Cline/Kiro/إلخ) سيتبع المراحل والمنهجية الدقيقة بدلاً من اتباع مسار مختصر وإدخال الهلوسة في النتائج.
"Threat model this subfolder using the threat modeling MCP Server"
تشغيله على مجلد فرعي يحد من نطاق التحليل المقصود. لحفظ الصادرات هناك، اطلب مسار إخراج داخل ذلك المجلد الفرعي؛ لا يتم استنتاج موقع التصدير تلقائياً من نطاق التحليل.
"Save the threat model report"
"Please complete all the phases in the threat model plan and then generate the final report."
"Threat model this project using the threat model MCP server and consider this architecture_image.png attached for this review"
"Can you see if you can implement mitigation controls in the code based on the threats reported in the threat model"
"Can you updated the threat model based on the code fixes which mitigated the reported threats"
# 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.tc.json"
قبل تثبيت خادم MCP لنمذجة التهديدات، تأكد من توفر المتطلبات التالية:
uvx من Astral أو من GitHub README
uvx --versionبمجرد تثبيت uvx والتحقق من عمله، أضف التكوين أدناه إلى ملف التكوين mcp.json الخاص بك. اعتماداً على نوع العميل الذي تستخدمه (kiro/cline/amazon-q) سيكون موقع mcp.json هذا مختلفاً. بمجرد إضافة التكوين وإعادة تشغيل IDE الخاص بك، سيتم تثبيت خادم MCP لنمذجة التهديدات تلقائياً مباشرة من مستودع GitHub هذا باستخدام uvx.
ملاحظة: الأدوات المستخدمة من قبل خادم mcp هذا لنمذجة التهديدات مضافة بالفعل إلى
autoApproveلسهولة تجربة المستخدم مما يتيح التشغيل السلس دون مطالبات الموافقة اليدوية لكل استدعاء أداة. جميع الأدوات داخلية للخادم ولا تجري استدعاءات API خارجية. إذا كنت تريد مراجعة كل أداة والموافقة عليها لكل استدعاء، فأنت بحاجة إلى استبدال مصفوفة autoApprove بهذا:"autoApprove": []
أضف ما يلي إلى تكوين عميل MCP الخاص بك:
لـ Amazon Q (~/.aws/amazonq/mcp.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": ["manage_workflow","export_threat_model","manage_system_context","manage_assumptions","manage_architecture","manage_threat_actors","manage_trust_boundaries","manage_asset_flows","manage_threats","inspect_data_models","manage_code_validation"]
}
}
}
لـ VSCode Cline:
{
"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": ["manage_workflow","export_threat_model","manage_system_context","manage_assumptions","manage_architecture","manage_threat_actors","manage_trust_boundaries","manage_asset_flows","manage_threats","inspect_data_models","manage_code_validation"],
"timeout": 60,
"type": "stdio"
}
}
}