
stride-gpt v0.19.0
أداة نمذجة تهديدات مدعومة بالذكاء الاصطناعي تستخدم نماذج GPT من OpenAI لإنشاء نماذج تهديدات لتطبيق معين بناءً على منهجية STRIDE.
STRIDE GPT هي أداة نمذجة تهديدات مدعومة بالذكاء الاصطناعي تستخدم نماذج اللغة الكبيرة (LLMs) لإنشاء نماذج تهديد وأشجار هجوم لتطبيق معين بناءً على منهجية STRIDE. يقدم المستخدمون تفاصيل التطبيق، مثل نوع التطبيق، وطرق المصادقة، وما إذا كان التطبيق مواجهاً للإنترنت أو يعالج بيانات حساسة. ثم يُنشئ النموذج مخرجاته بناءً على المعلومات المقدمة.
جدول المحتويات
- دعم المشروع
- الميزات
- النشر في المؤسسات
- محاضرة في قمة الأمن المفتوح
- سجل التغييرات
- التثبيت
- هيكل المستودع
- الاستخدام
- مخرجات نموذجية
- أفضل ممارسات الأمان
- المساهمة
- الترخيص
دعم المشروع
إذا وجدت STRIDE GPT مفيداً، يُرجى التفكير في دعم المشروع:
- ⭐ قم بوضع نجمة على المستودع على GitHub لمساعدة المزيد من الأشخاص على اكتشاف الأداة
- ☕ اشتر لي قهوة لدعم التطوير والصيانة المستمرة
الميزات
- تحليل وكيل لقاعدة الأكواد: وجّه واجهة سطر الأوامر (CLI) إلى قاعدة أكواد واحصل على نموذج تهديد STRIDE عميق ومستقل — يخطط الوكيل ويستكشف ويجمع النتائج عبر الأنظمة الفرعية
- واجهة CLI و REPL تفاعلية: تجربة طرفية كاملة الميزات مع إكمال علامات التبويب، والسجل، والتقدم في الوقت الفعلي — لا حاجة لمتصفح
- واجهة ويب Streamlit بسيطة وسهلة الاستخدام
- يُنشئ نماذج تهديد بناءً على منهجية STRIDE
- دعم الذكاء الاصطناعي الوكيل: نمذجة تهديدات متخصصة لأنظمة الذكاء الاصطناعي الوكيل مع تكامل OWASP Top 10 للتطبيقات الوكيلة (ASI)
- دعم الذكاء الاصطناعي التوليدي: نمذجة تهديدات لتطبيقات GenAI مع تكامل OWASP LLM Top 10
- تخطيط MITRE ATT&CK و ATLAS: يتم إرفاق التهديدات بمعرفات تقنيات الخصم الموحدة (MITRE ATT&CK Enterprise للهجمات التقليدية على البنية التحتية، و ATLAS للهجمات الخاصة بـ ML / LLM) — تظهر كأعمدة في markdown، وروابط على شكل حبوب في HTML، وخصائص
mitre_attackفي SARIF - الكشف عن الأنماط المعمارية: يكشف تلقائياً عن خطوط أنابيب RAG، والأنظمة متعددة الوكلاء، وبيئات تنفيذ الأكواد، وأنظمة الأدوات، وغيرها من أوصاف التطبيقات (مستوحى من CSA MAESTRO)
- محرر رسومات draw.io مدمج: قم بإنشاء وتحرير الرسوم البيانية المعمارية مباشرةً داخل STRIDE-GPT باستخدام محرر diagrams.net المدمج — لا حاجة لأداة خارجية. يتم تحليل الرسوم البيانية بصيغة XML لاستخراج المكونات والاتصالات وحدود الثقة، مما يوفر سياقاً أكثر ثراءً بكثير لتوليد نموذج التهديد من تحليل الصور وحده. سير عمل تحميل الصور الحالي لم يتغير. بشكل افتراضي، يتم تحميل المحرر من
embed.diagrams.netالمستضاف؛ بالنسبة للنشر الذاتي أو في البيئات المعزولة، قم بتوجيهه إلى draw.io الخاص بك عبر متغير البيئةSTRIDE_GPT_DRAWIO_URL - متعدد الوسائط: استخدم الرسوم البيانية المعمارية، والمخططات الانسيابية، وما إلى ذلك كمدخلات لنمذجة التهديدات عبر جميع النماذج التي تدعم الرؤية
- رسومات تدفق البيانات (DFD): قم بإنشاء DFDs من وصف تطبيقك (أو قم بتحليل صورة DFD مرفوعة)، وقم بتحرير مصدر Mermaid مباشرةً، وأعد تغذية الرسم البياني المؤكد إلى مطالبات نموذج التهديد وشجرة الهجوم باعتباره النموذج النظامي الرسمي. كما يصدر أمر
/analyzeفي CLI DFD على مستوى النظام إلى جانب نتائجه - يُنشئ أشجار هجوم لتعداد مسارات الهجوم المحتملة
- يقترح تخفيفات محتملة للتهديدات المحددة
- يدعم تقييم مخاطر DREAD للتهديدات المحددة
- يُنشئ حالات اختبار Gherkin بناءً على التهديدات المحددة
- تحليل مستودع GitHub لنمذجة تهديدات شاملة (بما في ذلك دعم GitHub Enterprise)
- صيغ إخراج متعددة: Markdown و JSON و SARIF (يُستهلك في GitHub و GitLab و Azure DevOps و IDEs) و HTML قائمة بذاتها للمشاركة مع أصحاب المصلحة
- دعم نماذج التفكير المتقدم (سلسلة OpenAI GPT-5.4/5.5، سلسلة Anthropic Claude 4.6/4.8 مع التفكير الموسع، Google Gemini 3، سلسلة Mistral Magistral)
- دعم شامل لموفري LLM عبر LiteLLM: OpenAI و Anthropic و Google AI و Mistral و Groq و DeepSeek، بالإضافة إلى الاستضافة المحلية عبر خادم LM Studio
- لا يتم تخزين أي بيانات؛ لا يتم حفظ تفاصيل التطبيق
- متاح كصورة حاوية Docker لنشر سهل
- دعم متغيرات البيئة للتكوين الآمن
النشر في المؤسسات
هل ترغب في تخصيص STRIDE-GPT لمؤسستك؟ اطلع على دليل التشغيل الشامل لدينا لتعلم كيفية:
- 🎯 حقن ضوابط ومعايير الأمان التنظيمية
- 📋 تخصيص نماذج التهديدات وفقاً لمتطلبات الامتثال لديك
- 🔧 عمل Fork ونشر STRIDE-GPT داخلياً
- 📊 الحصول على نماذج تهديد قابلة للتنفيذ وواعية بالسياق خاصة ببيئتك
يتضمن الدليل إرشادات خطوة بخطوة، وأمثلة على الأكواد، وأنماط نشر للمؤسسات التي تتطلع إلى توسيع نطاق نمذجة التهديدات المدعومة بالذكاء الاصطناعي عبر فرقها.
محاضرة في قمة الأمن المفتوح
في يناير 2024، ألقيت محاضرة حول STRIDE GPT في قمة الأمن المفتوح. خلال المحاضرة، ناقشت بداية المشروع، ووظائفه الأساسية، والتحديثات الأخيرة، وبعض الخطط المستقبلية. يمكنك مشاهدة العرض التقديمي الكامل أدناه:
هذا الفيديو مصدر ممتاز لأي شخص مهتم بفهم كيفية عمل STRIDE GPT وكيف يمكن استخدامه لتحسين نمذجة التهديدات.
سجل التغييرات
الإصدار 0.19 (الأحدث)
- علامة
--version(#161): الآنstride-gpt --versionيطبع الإصدار المثبت ويخرج، وتظهر لافتة TUI التفاعلية الإصدار قيد التشغيل حتى تتمكن من تأكيد ما لديك في لمحة. - توحيد إدارة التبعيات على uv (إغلاق #155): أصبح
uv.lockالآن مصدر الحقيقة الوحيد لكل تبعية. تم إيقاف ملفاتrequirements.txtالمكررة؛ تقوم صورة Docker UI وسير عمل فحص الأمان بالتثبيت منuv.lockعبرuv export، بحيث لا يمكن أن ينحرف ما يتم شحنه وما يتم فحصه عن ما هو مقفل. لا تغيير لمستخدميpip install stride-gpt. - التوثيق: تمت إضافة مخرجات markdown لنموذج تهديد عينة (#151) وورقة غش للـ REPL التفاعلي (#163) إلى ملف README.
الإصدار 0.18
- محرر رسومات draw.io مدمج (#132, #138): الآن علامة تبويب نموذج التهديد في Streamlit تدمج محرر diagrams.net بحيث يمكنك رسم مخطط معماري داخل التطبيق؛ عند الحفظ، يتم تحليل XML الرسم البياني (المكونات والاتصالات وحدود الثقة) وإدراجه في مطالبة نموذج التهديد. تم توحيد تحليل GitHub، وتحميل الصور، ومحرر الرسوم البيانية، ومنشئ إرشادي بمساعدة الذكاء الاصطناعي في قسم واحد بعلامات تبويب "صف تطبيقك" فوق لوحة وصف واحدة، بحيث لا تزاحم المدخلات الاختيارية حقل الوصف الرئيسي. الآن يقوم المنشئ الإرشادي باستدعاء النموذج المحدد لصياغة وصف واقتراح تفاصيل أمان مفقودة ذات صلة، ليحل محل القالب الثابت السابق وفحوصات التغطية. بالنسبة للنشر الذاتي أو المعزول، يمكن تكوين مضيف المحرر عبر
STRIDE_GPT_DRAWIO_URL(الافتراضي هوembed.diagrams.net)، ويتم نطاق أصلpostMessageالخاص بـ iframe إليه، ويتم تحليل XML الرسم البياني غير الموثوق باستخدامdefusedxml. - دعم موفر DeepSeek (إغلاق #133): أصبح DeepSeek الآن موفر نموذج من الدرجة الأولى في كل من معالج الإعداد CLI وواجهة Streamlit، حيث يقدم
deepseek-v4-proوdeepseek-v4-flash. يتم توجيه المكالمات عبر تكاملdeepseek/الأصلي لـ LiteLLM (نقطة نهاية مستضافة، لا حاجة لعنوان URL أساسي مخصص)؛ قم بتعيين مفتاحك عبرDEEPSEEK_API_KEY. - دعم رسومات تدفق البيانات (DFD) (إغلاق #56): علامة تبويب "Data Flow Diagram" جديدة في واجهة Streamlit تُنشئ DFDs من وصف التطبيق، وتحلل صور DFD المرفوعة عبر النماذج القادرة على الرؤية، وتعرض لوحة مصدر Mermaid قابلة للتحرير مع معاينة حية. يؤدي تحديد "Use this DFD for the threat model" إلى تخزين الرسم البياني المؤكد في حالة الجلسة وإدراجه في مطالبات نموذج التهديد وشجرة الهجوم اللاحقة كنموذج نظامي رسمي — وبذلك يتم إغلاق حلقة الوصف → DFD → المراجعة → نموذج التهديد المحسّن التي يطلبها التقرير. كما يُنتج وكيل
/analyzeفي CLI DFD على مستوى النظام بعد التجميع، يتم عرضه ككتلة Mermaid في تقرير markdown، ويُحمل في حقلdata_flow_diagramفي JSON، ويظهر في عرض HTML عبر وقت تشغيل Mermaid محمل من CDN. تم تغليف إنشاء DFD بحيث لا يؤدي الرسم البياني السيئ أبداً إلى فشل تقرير جيد. - معالجة أنيقة لأخطاء تحليل مستودعات GitHub (إغلاق #92): الآن تلتقط واجهة Streamlit إخفاقات GitHub API أثناء تحليل المستودع بدلاً من عرض تتبع مكدس خام، مع رسائل قابلة للتنفيذ لـ 404 (بما في ذلك نطاق PAT الدقيق، الذي يؤدي إلى 404 حتى مع المستودعات العامة)، و 401، و 403/حد المعدل، وأخطاء الشبكة. يتم تطبيع عناوين URL للمستودع (إزالة الشرطة المائلة اللاحقة
/ولاحقة.git) قبل التحليل بحيث لم يعد.../repo/و.../repo.gitيؤديان إلى 404 بشكل خاطئ. - الوسائط الوسيطة المهيكلة بجانب التقارير (إغلاق #122): عند تمرير
-o <path>لـ/analyzeأو/quick، تتم كتابة ملفات JSON شقيقة بجانب التقرير —<stem>.plan.json(AnalysisPlan)،<stem>.findings.json(نتائج النظام الفرعي، والتهديدات الشاملة، ورسم تدفق البيانات)، و<stem>.run.json(RunManifestيسجل النماذج، وتجزئة التكوين، والإصدار، والتوقيت، وبطاقات المرجع التي تم تحميلها فعلياً، وملخص التشغيلrun_summaryيشير إلى ما إذا كان التشغيل قد اكتمل أم أن حد المكالمة قد اقتطعه). تستبعد المانيفستات مفاتيح API ونقاط النهاية وتقوم بتحرير مسارات نظام الملفات، لذا فهي آمنة للالتزام أو الإرفاق بتذكرة. يتحكم علامة-fفي تنسيق التقرير فقط؛ الملفات الشقيقة هي دائماً JSON. - استرداد مفصول بفواصل لـ MITRE ATT&CK (إغلاق #134): عندما يُرجع نموذج العامل
MITRE_ATTACKكسلسلة مفصولة بفواصل (مثلاً"T1190, T1059, AML.T0053") بدلاً من شكل القائمة المتعارف عليه، يتم الآن استرداد معرفات التقنية بدلاً من إسقاطها. في السابق، كانت تقارير markdown/HTML تظهر عمود "MITRE ATT&CK" لكنها تترك كل خلية فارغة، وفقد تصدير SARIF المعرفات بالكامل. الآن يتم توجيه جميع العارضات (markdown، وحبوب HTML، و SARIF) وفحص رؤية العمود عبر معيار موحد، ويتم تصفية النصوص الحرة التي ليست معرفات تقنية بحيث لا يمتلئ العمود أبداً بالإيجابيات الزائفة. - 0.18.1 patch (إغلاق #159): تم إصلاح فشل مكالمات LM Studio مع
The api_key client option must be setعندما لم يكن مفتاح موفر سحابي موجوداً في البيئة. تتجه LM Studio عبر بادئةopenai/لـ LiteLLM، ويرفض OpenAI SDK بناء عميل بدون مفتاح حتى عندما يشيرapi_baseإلى المضيف المحلي، لذا يمرر CLI الآن عنصراً نائباً للموفرين الذين لا يتحققون من الهوية. وعلى صلة، لم يعد فحص البيئة كملاذ أخير للطبقة العاملة ينطبق على هؤلاء الموفرين: كانANTHROPIC_API_KEYأوOPENAI_API_KEYالمُهيأ يُرسل سابقاً إلى أي مضيف يسميهapi_base، مما أخفى هذا الخطأ ووضع مفتاحاً حقيقياً على الشبكة. إذا كنت تستخدم LM Studio ولديك مثل هذا المفتاح، فإنه لم يعد يُنقل إلى نقطة النهاية الخاصة بك.
الإصدار 0.17
- تكامل MITRE ATT&CK و ATLAS (إغلاق #36): يمكن للتهديدات الصادرة عن
/analyzeو/quickالآن حمل معرفات تقنيات الخصم الموحدة من MITRE ATT&CK Enterprise (v17.1) و MITRE ATLAS (2026.05). بطاقتا مرجع جديدتان للإفصاح التدريجي (mitre_enterprise،mitre_atlas) توجّهان الوكيل لاستخدام المعرفات والأسماء المفهرسة فقط، مما يزيل هلوسة المعرفات. يتم إعادة إنشاء البطاقات من STIX/YAML المنبع عبرscripts/refresh_mitre_cards.pyبدلاً من كتابتها من استدعاء النموذج. تظهر التقنيات كعمودMITRE ATT&CKفي جداول markdown، وحبوب قابلة للنقر بلون السماء في HTML، ومصفوفاتproperties.mitre_attackفي SARIF. - تقرير HTML مصاحب: الآن يُصدر
/analyzeو/quickتقرير HTML قابلاً للعرض في المتصفح وقائماً بذاته إلى جانب مخرجات markdown / JSON / SARIF، ومناسباً للمشاركة مع أصحاب المصلحة. - Anthropic Claude Opus 4.8: تمت إضافة دعم
claude-opus-4-8، أحدث نموذج من الدرجة الأولى لـ Anthropic، إلى جانب Opus 4.7 الحالي. يمكن اختيار أي منهما كنموذج معماري أو عامل. - توحيد صورة واجهة المستخدم: تمت إزالة إعداد Docker للمساحتين الاسميتين (
mrwadams/stridegpt-ui)؛ أصبحت واجهة Streamlit تعيش الآن فيmrwadams/stridegptفقط. يجب على مستخدمي CLI استخدامpip install stride-gptبدلاً من سحب حاوية. - نظافة التبعيات: تم إسقاط حزمة
mistralaiغير المستخدمة (يتم تدفق الوصول إلى Mistral بالفعل عبر LiteLLM). تم تحديث قاعدةpython:3.12-slimلصورة UI وإسقاطcurl، مما أزال 21 تنبيهاً عن ثغرات CVE ذات مستوى متوسط/عالي عبر PRs #113–#115. - تنظيف جودة الكود: تم إزالة تنبيهات CodeQL الملاحظة (واردات غير مستخدمة،
exceptعارية، كود ميت) (#116).
الإصدار 0.16
- CLI مستقل: أول إصدار لـ STRIDE-GPT كأداة CLI مع
pip install stride-gpt، منفصلة عن واجهة Streamlit القديمة. أمران رئيسيان:/analyze(تحليل وكيل مستقل لقاعدة الأكواد مع مخطط، وحلقات وكيل لكل نظام فرعي باستخدام الأدوات، ومرحلة تجميع شاملة) و/quick(نموذج تهديد من طلقة واحدة من وصف تطبيق مكتوب). - بطاقات مرجعية للإفصاح التدريجي: بطاقات
genai(OWASP LLM Top 10)، وagentic(OWASP ASI Top 10)، وinsider_threatتصف نفسها عبر تمهيد YAML؛ يكتشفها الوكيل عبرlist_referencesويسحب النصوص عبرload_reference. - توجيه نموذج من مستويين: تقسيم نموذج معماري + عامل لتحليل فعال من حيث التكلفة، مع حجز نماذج من الدرجة الأولى للتخطيط والتجميع.
- REPL تفاعلي: تجربة طرفية كاملة الميزات مع إكمال علامات التبويب، والسجل، والتقدم في الوقت الفعلي، وشريط الحالة.
- إخراج متعدد الصيغ: Markdown و JSON و SARIF (يُستهلك في GitHub و GitLab و Azure DevOps و IDEs).
- 0.16.1 patch: تم رفع مستوى مسجل LiteLLM إلى ERROR في
stride_gpt/__init__.pyبحيث لا تظهر تحذيرات التحميل المسبق لـ Bedrock / SageMaker على التثبيتات الجديدة التي تفتقر إلىbotocore.
انقر لعرض ملاحظات الإصدار للإصدارات السابقة (0.15 وما قبلها).
الإصدار 0.15
-
دعم تطبيقات الذكاء الاصطناعي الوكيل: تمت إضافة دعم شامل لنمذجة تهديدات أنظمة الذكاء الاصطناعي الوكيل مع تكامل OWASP Top 10 للتطبيقات الوكيلة (ASI01-ASI10). ما عليك سوى اختيار "Agentic AI application" ووصف نظامك - يكتشف النموذج اللغوي الكبير تلقائياً الأنماط المعمارية ويطبق فئات التهديدات ذات الصلة. يتم تعيين كل خطر ASI إلى فئة STRIDE المناسبة لتحليل تهديدات متسق.
-
دعم تطبيقات الذكاء الاصطناعي التوليدي: تمت إضافة دعم لنمذجة تهديدات تطبيقات GenAI مع تكامل OWASP LLM Top 10 (LLM01-LLM10). اختر "Generative AI application" ووصف نظامك لتلقي تحليل تهديدات مخصص خاص بـ LLM. تتضمن تطبيقات الذكاء الاصطناعي الوكيل كلاً من فئات مخاطر LLM و ASI لتغطية شاملة.
-
الكشف عن النماذج المعمارية المستوحى من MAESTRO: تحليل تهديدات وكيل محسّن مع الكشف التلقائي عن النماذج المعمارية من أوصاف التطبيقات، مستوحى من إطار عمل Cloud Security Alliance MAESTRO. الآن يحدد النموذج اللغوي الكبير وطبق تهديدات خاصة بالنمط لـ:
- أنظمة RAG / الاسترجاع: تسميم مخزن المتجهات، التلاعب بالتضمينات، تسرب عبر المستأجرين
- الأنظمة متعددة الوكلاء: انتحال هوية الوكيل، التلاعب بالرسائل بين الوكلاء، الاختراقات المتتالية
- بيئات تنفيذ الأكواد: الهروب من الصندوق الرملي، الخروج من الحاوية، إنشاء أكواد ضارة
- أنظمة الأدوات / MCP: موفرو أدوات زائفة، هجمات سلسلة التوريد، ثغرات الوكيل المربك
- الذاكرة المستمرة: تسميم الذاكرة، التسرب عبر الجلسات، التلاعب بالحالة
- العمليات المستقلة: استمرار الوكيل الخبيث، تجاوز الإشراف البشري، حلقات جامحة
-
تحليل التهديدات عبر الطبقات: تتضمن نماذج التهديد الآن سلاسل هجوم عبر المكونات توضح كيف يمكن للاختراق في طبقة معمارية واحدة تمكين الهجمات على الطبقات الأخرى (مثلاً، تسميم RAG ← اختطاف هدف الوكيل ← إساءة استخدام الأداة ← تسرب البيانات).
-
اقتراحات تحسين محسّنة: بالنسبة للتطبيقات الوكيلة، تطلب اقتراحات التحسين الآن تفاصيل معمارية محددة مثل إطار عمل الوكيل، وبروتوكولات الاتصال بين الوكلاء، وآليات الصندوق الرملي، وتطبيقات قاطع الدائرة.
-
تحديثات نماذج OpenAI: التحديث إلى سلسلة نماذج GPT-5.2 (gpt-5.2، gpt-5.2-pro، gpt-5-mini، gpt-5-nano، gpt-5، gpt-4.1). إزالة النماذج القديمة (gpt-4o، gpt-4o-mini، o3، o3-mini، o4-mini).
-
نماذج Anthropic Claude 4.5: التحديث إلى سلسلة Claude 4.5 (claude-sonnet-4-5، claude-haiku-4-5، claude-opus-4-5). إضافة خانة اختيار "Enable Extended Thinking" لقدرات تفكير محسّنة على أي نموذج Claude. زيادة الحد الأقصى للرموز المميزة إلى 32k (قياسي) و 48k (وضع التفكير).
-
معاينة Google Gemini 3: إضافة نماذج معاينة Gemini 3 (gemini-3-pro-preview، gemini-3-flash-preview) إلى جانب نماذج Gemini 2.5. دعم وضع التفكير الموسع لنماذج Gemini 3.
-
تحديثات نماذج Mistral: التحديث إلى أحدث نماذج Mistral ذات الإصدارات بما في ذلك Mistral Large 3 و Medium 3.1 و Small 3.2 و Ministral 3 (8B/14B) و Magistral 1.2 (Medium/Small).
-
شعار مشروع جديد: علامة تجارية محدثة مع تصميم درع + شبكة عصبية أنظف وأبسط.
-
إصلاح خطأ: تم إصلاح مشكلة اختفاء مخرجات نموذج التهديد بعد النقر على زر التنزيل.
الإصدار 0.14.1
- بنية تحتية للأمان: تمت إضافة فحص أمان آلي شامل وتصلب بما في ذلك:
- سير عمل GitHub Actions لـ Bandit (أمان Python)، و CodeQL (كشف الثغرات)، و pip-audit (فحص التبعيات)، و Safety (ثغرات الحزم)، و Gitleaks (كشف الأسرار)، و Trivy (فحص صور Docker)
- SECURITY.md مع عملية الإبلاغ عن الثغرات (SLA اعتراف خلال 48 ساعة) وأفضل ممارسات الأمان
- تكوين Docker محسّن مع تصلب أمني، وحدود الموارد، و docker-compose.yml جاهز للإنتاج
- تكوين Dependabot للتحديثات الأسبوعية الآلية للتبعيات
- إرشادات إدارة الأسرار الجاهزة للإنتاج (أسرار Docker Swarm، مديري الأسرار السحابية)
- دليل تشغيل المؤسسات: تمت إضافة دليل شامل لتخصيص STRIDE-GPT مع السياق التنظيمي بما في ذلك ضوابط الأمان، ومتطلبات الامتثال، وحزم التكنولوجيا المعتمدة، وأنماط النشر للاستخدام المؤسسي.
الإصدار 0.14### الإصدار 0.11
- دعم خادم LM Studio: تمت إضافة دعم لاستخدام خادم LM Studio كمزوّد نماذج، مما يسمح للمستخدمين بتشغيل نماذج اللغات الكبيرة (LLMs) المحلية الخاصة بهم باستخدام نقاط نهاية API متوافقة مع OpenAI.
- دعم أشجار الهجوم لـ Google Gemini: تمت إضافة دعم لتوليد أشجار الهجوم باستخدام نماذج Google Gemini، مما يوسع الخيارات المتاحة للمستخدمين.
- دعم نماذج جديدة: تمت إضافة دعم لنماذج التفكير (o1 و o3-mini من OpenAI، و DeepSeek R1 عبر Groq API) ونموذج Google Gemini 2.0 Flash المُصدر حديثًا للاستدلال الأسرع.
- تحسين توليد أشجار الهجوم: تم تحسين توليد أشجار الهجوم من خلال تحليل JSON قوي وتحويل مخططات Mermaid، مما يجعل المخرجات أكثر موثوقية وجاذبية بصرية.
- اكتشاف النماذج الديناميكي: تمت إضافة اكتشاف تلقائي للنماذج لخادم LM Studio، مما يسمح للمستخدمين بالاختيار من بين النماذج المتاحة في مثيلاتهم المحلية.
- تحسين توليد نموذج التهديد: تم تحسين التوجيهات والمطالبات لتوليد نموذج التهديد للحصول على نتائج أكثر شمولاً وقابلة للتنفيذ.
- دعم المخرجات المنظمة: تم تحسين معالجة مخرجات JSON عبر جميع مزوّدي النماذج لضمان توليد موثوق لنموذج التهديد وتقييم DREAD.
- تحسينات واجهة المستخدم: تم تحديث واجهة المستخدم لاستيعاب تكوينات النماذج الجديدة وتحسين رسائل التحذير لقيود LLM المحلية.
الإصدار 0.10
- تحليل مستودعات GitHub: يدعم STRIDE GPT الآن التحليل التلقائي لمستودعات GitHub. يمكن للمستخدمين تقديم رابط مستودع GitHub، وسيقوم الأداة بتحليل ملف README والملفات الرئيسية لتوليد نموذج تهديد أكثر شمولاً.
- دعم متغيرات البيئة: تمت إضافة دعم لتحميل مفاتيح API والتكوينات الأخرى من متغيرات البيئة، مما يحسن الأمان وسهولة النشر.
- تحسين معالجة الأخطاء: تم تحسين آليات معالجة الأخطاء وإعادة المحاولة لاستدعاءات API لتحسين الموثوقية.
- تحسينات واجهة المستخدم: تم تحديث واجهة المستخدم لاستيعاب الميزات الجديدة وتحسين تجربة المستخدم بشكل عام.
الإصدار 0.9
أبرز ما في الإصدار:
- Mistral Client v1.0: يستخدم STRIDE GPT الآن الإصدار 1.0 من عميل Mistral، والذي يحل التغييرات الجذرية التي تم تقديمها في أحدث إصدار من Mistral API. يضمن ذلك استمرار مستخدمي STRIDE GPT في استخدام Mistral API لمهام نمذجة التهديد.
الإصدار 0.8.1
أضاف هذا الإصدار دعم النماذج التالية:
-
GPT4o mini: قمت بإضافة دعم لنموذج GPT4o mini الذي أصدرته OpenAI مؤخرًا. GPT4o mini هو نموذج صغير فعال من حيث التكلفة لا يزال يوفر استجابات عالية الجودة لمهام نمذجة التهديد.
-
Gemini 1.5 Pro (مستقر): يمكن للمستخدمين الآن الاختيار بين الإصدارين المستقر أو التجريبي من نموذج Gemini 1.5 Pro.
الإصدار 0.8
أبرز ما في الإصدار:
- تقييم مخاطر DREAD: يدعم STRIDE GPT الآن تقييم مخاطر DREAD، مما يسمح للمستخدمين بتعيين درجات المخاطر للتهديدات المحددة استنادًا إلى نموذج DREAD. توفر هذه الميزة تقييمًا أكثر شمولاً للتهديدات وتساعد في تحديد أولويات جهود التخفيف.
- حالات اختبار Gherkin: يمكن للمستخدمين الآن توليد حالات اختبار Gherkin استنادًا إلى التهديدات المحددة. تساعد هذه الميزة في سد الفجوة بين نمذجة التهديد والاختبار، مما يضمن دمج اعتبارات الأمان في عملية الاختبار.
- تحسينات واجهة المستخدم: قمت بتحديث واجهة المستخدم لتسهيل التنقل والتفاعل مع التطبيق وميزاته.
الإصدار 0.7
أبرز ما في الإصدار:
- نمذجة التهديد متعددة الوسائط: يدعم STRIDE GPT الآن نمذجة التهديد متعددة الوسائط باستخدام نماذج GPT-4o و GPT-4-Turbo من OpenAI. يمكن للمستخدمين تقديم صورة لمخطط بنية أو مخطط انسيابي أو أي تمثيلات بصرية أخرى لتطبيقهم لتعزيز عملية نمذجة التهديد.
- دمج Google AI: قمت بإضافة دعم لـ Gemini 1.5 Pro عبر Google AI API. يُرجى ملاحظة أن Gemini لا يولد مخرجات JSON بشكل ثابت، لذا قد تحتاج إلى إعادة محاولة بعض الطلبات. بالإضافة إلى ذلك، لا يمكن توليد أشجار الهجوم باستخدام نماذج Google AI بسبب قيود الأمان من Google.
- إعادة هيكلة قاعدة الكود: قمت بإعادة هيكلة بعض أجزاء قاعدة الكود لتحسين قابلية الصيانة والقراءة. يجب أن يسهل هذا إضافة ميزات وتحسينات جديدة في الإصدارات المستقبلية.
- إصلاحات الأخطاء: إصلاحات طفيفة للأخطاء وتحسينات في معالجة الأخطاء.
الإصدار 0.6
أبرز ما في الإصدار:
- دمج Mistral API: يمكن للمستخدمين الآن اختيار استخدام نماذج اللغات الكبيرة (LLMs) المقدمة من Mistral AI لتوليد نماذج التهديد وأشجار الهجوم واقتراحات التخفيف. يوفر هذا بديلاً لنماذج GPT من OpenAI، مما يوفر مرونة واختيارًا أكبر للمستخدمين.
- تحسين المطالبات: مع استخدام المزيد من الأشخاص لـ STRIDE GPT في العمل، قمت بتحديث قوالب مطالبات نموذج التهديد لتشجيع نماذج اللغات الكبيرة على توليد مخرجات أكثر شمولاً. يجب أن يرى المستخدمون الآن تهديدات متعددة تم تحديدها داخل كل فئة من فئات STRIDE.
- خريطة الطريق العامة: لقد أنشأت خريطة طريق عامة لتوفير رؤية حول الميزات والتحسينات القادمة.
- تحسينات واجهة المستخدم: لقد أجريت بعض التحديثات الطفيفة على واجهة المستخدم لاستيعاب دمج Mistral API الجديد وتحسين تجربة المستخدم بشكل عام.
الإصدار 0.5
أبرز ما في الإصدار:
- حاوية Docker: لتسهيل نشر STRIDE GPT على السحابات العامة والخاصة، الأداة متاحة الآن كصورة حاوية Docker على Docker Hub.
الإصدار 0.4
أبرز ما في الإصدار:
- دمج نماذج GPT الجديدة: يدعم التطبيق الآن أحدث نماذج "gpt-4-1106-preview" و "gpt-3.5-turbo-1106"، مما يوفر إمكانيات متقدمة واستجابات أكثر دقة لنمذجة التهديد وتوليد أشجار الهجوم.
- استدعاءات مباشرة لـ OpenAI API: يقوم STRIDE GPT الآن بإجراء استدعاءات مباشرة لـ OpenAI API للاستفادة من وضع JSON الذي تم تقديمه مؤخرًا. يجب أن يقلل هذا بشكل كبير من احتمالية حدوث أخطاء في بناء الجملة عند توليد نماذج التهديد.
- تحسين توليد شجرة الهجوم: تم إصلاح عملية توليد أشجار الهجوم لتكون أكثر موثوقية، مما يقلل من أخطاء بناء الجملة عند توليد مخططات Mermaid ويحسن الجودة الإجمالية للتصورات.
- شعار ونظام ألوان جديدين: نظام ألوان محدث وشعار جديد (تم إنشاؤه بواسطة DALL·E 3).
- استمرار إصلاحات الأخطاء وتحسينات الأداء: لقد أجريت عددًا صغيرًا من التحديثات الإضافية لمعالجة الأخطاء الحالية وتحسين التطبيق للحصول على أداء أفضل، مما يضمن تجربة مستخدم أكثر سلاسة وكفاءة.
الإصدار 0.3
أبرز ما في الإصدار:
- تخفيف التهديدات: يمكن لـ STRIDE GPT الآن اقتراح تخفيفات محتملة للتهديدات المحددة في مرحلة نمذجة التهديد. يساعد هذا المستخدمين على تطوير استراتيجيات لمنع أو تقليل تأثير التهديدات المحددة.
- مخرجات قابلة للتنزيل: يمكن للمستخدمين الآن تنزيل نموذج التهديد، وشجرة الهجوم، والتخفيفات المُنشأة كملفات Markdown مباشرة من التطبيق. وهذا يسهل مشاركة وتوثيق المخرجات المُنشأة.
- تحسين واجهة المستخدم: لقد قمت بتحسين واجهة المستخدم بشكل أكبر لتوفير تجربة مستخدم أكثر سلاسة وبديهية. تم تحسين تخطيط التطبيق لتحسين readability وسهولة الاستخدام.
- تحديث نماذج GPT: يدعم STRIDE GPT الآن أحدث إصدارات 0613 من نماذج GPT-3.5-turbo و GPT-4. توفر هذه النماذج المحدثة أداءً محسنًا وتحكمًا أكبر في المخرجات المُنشأة.
- إصلاحات الأخطاء وتحسينات الأداء: لقد تناولت العديد من الأخطاء وأجريت تحسينات في الأداء لضمان تطبيق أكثر استقرارًا واستجابة.
الإصدار 0.2
أبرز ما في الإصدار:
- توليد شجرة الهجوم: بالإضافة إلى توليد نماذج التهديد، يمكن لـ STRIDE GPT الآن توليد أشجار الهجوم لتطبيقاتك بناءً على التفاصيل المقدمة. يساعد هذا المستخدمين على فهم مسارات الهجوم المحتملة لتطبيقاتهم بشكل أفضل.
- تصور شجرة الهجوم: هذه ميزة تجريبية تسمح للمستخدمين بتصور شجرة الهجوم المُنشأة مباشرة في التطبيق باستخدام Mermaid.js. يوفر هذا تجربة أكثر تفاعلية داخل واجهة STRIDE GPT.
- دعم نموذج GPT-4: يدعم STRIDE GPT الآن استخدام نموذج GPT-4 من OpenAI، بشرط أن يكون لدى المستخدم إمكانية الوصول إلى GPT-4 API. يسمح ذلك للمستخدمين بالاستفادة من أحدث التطورات في تقنية GPT لتوليد نماذج تهديد وأشجار هجوم أكثر دقة وشمولاً.
- تحسين التخطيط والتنظيم: لقد قمت بإعادة هيكلة تخطيط التطبيق لتسهيل التنقل والاستخدام. يتم الآن تنظيم الأقسام الرئيسية، مثل نموذج التهديد وشجرة الهجوم، في أقسام قابلة للطي للحصول على تجربة مستخدم أكثر نظافة وبديهية.
الإصدار 0.1
الإصدار الأولي من التطبيق.
التثبيت
الخيار 1: pip (واجهة سطر الأوامر فقط)```bash
pip install stride-gpt
هذا يقوم بتثبيت الأمر `stride-gpt`. أصبحت واجهة سطر الأوامر وواجهة الويب Streamlit منتجين منفصلين الآن — `pip install stride-gpt` يمنحك واجهة سطر الأوامر الخفيفة دون أي أثر لـ Streamlit. لتشغيل واجهة الويب من المصدر، راجع الخيار 2 أدناه.
### الخيار 2: من المصدر
1. استنساخ المستودع:
```bash
git clone https://github.com/mrwadams/stride-gpt.git
cd stride-gpt
```
2. التثبيت باستخدام [uv](https://docs.astral.sh/uv/) (موصى به — `uv.lock` هو المصدر الوحيد الموثوق للاعتماديات): ```bash
# CLI plus the Streamlit web UI deps
uv sync
أو قم بتثبيت CLI فقط باستخدام pip: ```bash pip install -e .
3. (اختياري) إعداد متغيرات البيئة: ```bash
cp .env.example .env
قم بتحرير ملف .env لإضافة مفاتيح API الخاصة بك — أو قم بتكوينها لاحقًا عن طريق تشغيل stride-gpt واستخدام أمر /config في REPL التفاعلي، أو عبر واجهة Streamlit.
الخيار 3: Docker (واجهة ويب)
تأتي واجهة ويب Streamlit كصورة Docker:```bash docker pull mrwadams/stridegpt:latest
بالنسبة للواجهة السطرية (CLI)، استخدم `pip install stride-gpt` — لا توجد صورة منفصلة للواجهة السطرية. إذا كنت بحاجة إلى واجهة سطرية معزولة (sandboxed)، فقم ببناء واحدة خاصة بك من صورة أساسية بسيطة للبايثون.
## تخطيط المستودع
تم تنظيم STRIDE-GPT كمستودع أحادي صغير (monorepo): مكتبة بايثون مشتركة واحدة، وتطبيق أو أكثر يستهلكها.```
stride-gpt/
├── stride_gpt/ # shared library + Python CLI (core, agent loop, prompts, schemas, models)
├── apps/
│ └── web/ # Streamlit web UI
├── tests/ # pytest suite
└── pyproject.toml # single project file; web UI deps live in the `web` dependency-group
دليل apps/ هو المكان المخصص للواجهات الأمامية الإضافية القابلة للنشر — على سبيل المثال، سيكون مستقبل CLI لـ Node/TypeScript بجانب apps/web/. يبقى CLI الخاص بـ Python في stride_gpt/cli.py لأنه مرتبط بإحكام بالمكتبة المشتركة.
الاستخدام
CLI
تحليل قاعدة الشفرة الوكيل — يقوم الوكيل بشكل مستقل باستكشاف قاعدة الشفرة، ويخطط لتحليله، وينتج نموذج تهديد STRIDE:```bash
Analyze the current directory
stride-gpt analyze .
Specify a model and auto-approve the analysis plan
stride-gpt analyze ./my-app --worker-model anthropic/claude-sonnet-4-6 -y
Export as JSON, SARIF, or browser-viewable HTML
stride-gpt analyze . -o report.json -f json # also writes report.html alongside stride-gpt analyze . -o report.sarif -f sarif stride-gpt analyze . -o report.html -f html
> يحفظ كل تحليل تلقائيًا ملف JSON مصاحب وملف HTML في `~/.stride-gpt/reports/analyze/`، بحيث يكون العرض القابل للمشاهدة عبر المتصفح على بُعد نقرة واحدة حتى عند التشغيل بدون `-o`.
> **ملاحظة حول التكلفة:** التحليل الوكيلي شامل — يقوم الوكيل بإجراء العديد من استدعاءات LLM ويقرأ العديد من الملفات أثناء الاستكشاف. يتناسب استخدام الرموز والتكلفة مع حجم قاعدة البيانات ونموذجك المختار، وقد يكون تشغيل كامل على مستودع كبير باستخدام نموذج حدودي مكلفًا. قم بتعيين حدود الإنفاق في لوحة تحكم المزود قبل التشغيل، وفكر في استخدام نماذج أسرع/أرخص للتشغيلات الأولى.
**وضع التشغيل الفردي السريع** — إنشاء نموذج تهديد من وصف نصي (مثل واجهة Streamlit، ولكن في الطرفية):```bash
# Read description from a file
stride-gpt quick -i app-description.txt
# Pipe from stdin
echo "A web API that processes payments..." | stride-gpt quick
REPL تفاعلي — إطلاق جلسة تفاعلية مع الإكمال التلقائي والسجل:```bash stride-gpt
داخل REPL، اكتب `/help` لرؤية الأوامر والعلامات المتاحة. يظهر الإصدار أسفل الشعار النصي ASCII عند بدء التشغيل. راجع [ورقة الغش التفاعلية لـ REPL](#interactive-repl-cheat-sheet) أدناه للحصول على المرجع الكامل للأوامر والاختصارات.
#### ورقة الغش التفاعلية لـ REPL
قم بتشغيل REPL باستخدام `stride-gpt` (بدون وسائط)، ثم استخدم هذه الأوامر والاختصارات.
**الأوامر** — اكتب أمرًا بشرطة مائلة في الموجه:
| Command | What it does |
|---------|--------------|
| `/analyze [path]` | تحليل قاعدة بيانات للتهديدات STRIDE (يمكن استخدام مسار مجرد أيضًا) |
| `/quick` | نموذج تهديد سريع من وصف نصي |
| `/reports` | عرض تقارير التحليل السابقة (`/reports <n>` لعرض تقرير معين) |
| `/config` | عرض أو تغيير الإعدادات (النموذج، المزود، مفاتيح API) |
| `/help` | عرض الأوامر المتاحة والعلامات والأمثلة |
| `/quit` | الخروج (الأسماء البديلة: `/exit`, `/q`) |
الأوامر `/analyze` و `/quick` و `/reports` تقبل العلامات: `-o`/`--output <path>` و `-f`/`--format <markdown\|json\|sarif\|html>` و `-y`/`--yes` و `-i`/`--input <path>` (لـ `/quick`). اكتب `/help` للحصول على القائمة الكاملة.
**اختصارات لوحة المفاتيح:**
| Key | Action |
|-----|--------|
| `Tab` | إكمال الأوامر بشرطة مائلة ومسارات الملفات |
| `↑` / `↓` | التمرير في تاريخ الأوامر |
| `→` / `End` | قبول الاقتراح التاريخي المعروض بالرمادي |
| `Ctrl+L` | مسح الشاشة وسجل التمرير |
| `Ctrl+C` / `Ctrl+D` | الخروج من REPL |
**تحقق من الإصدار المثبت:**```bash
stride-gpt --version # prints e.g. "stride-gpt 0.19.0" and exits
العلامات الشائعة:
| العلامة | الوصف |
|---|---|
--version | اطبع النسخة المثبتة (stride-gpt <version>) واخرج |
-o, --output | احفظ التقرير في ملف |
-f, --format | صيغة الإخراج: markdown (افتراضي)، json, sarif, html |
-i, --input | اقرأ وصف التطبيق من ملف (quick فقط) |
-y, --yes | أوافق تلقائيًا على خطة التحليل (analyze فقط) |
--worker-model | نموذج الطبقة الافتراضية الذي يتعامل مع الجزء الأكبر من الاستدعاءات (مثل anthropic/claude-sonnet-4-6). يستخدم الإعداد المحفوظ إذا تم حذفه. |
--architect-model | نموذج أقوى للتخطيط/التجميع (مثل openai/gpt-5.4). يستخدم الإعداد المحفوظ إذا تم حذفه. |
--no-architect | تخطي طبقة المهندس المعماري لهذه الجولة؛ يتولى العامل كل استدعاء. |
--app-type | تجاوز نوع التطبيق الذي اكتشفه المخطط (analyze فقط): auto (افتراضي), web, genai, agentic. |
--max-llm-calls | حد أقصى لإجمالي استدعاءات LLM عبر كلا الطبقتين (analyze فقط؛ 0 = غير محدود). |
--max-tool-calls | حد أقصى لعدد مرات تنفيذ الأدوات (analyze فقط؛ 0 = غير محدود). |
كل طبقة تقبل أيضًا --worker-api-key / --worker-api-base / --worker-max-tokens (وما يعادلها من --architect-*). قم بتشغيل stride-gpt analyze --help أو stride-gpt quick --help للحصول على القائمة الكاملة.
الوسائط الهيكلية — عندما يتم استخدام -o <path>، تتم كتابة ثلاثة ملفات JSON تابعة بجانب التقرير بحيث يمكن تدقيق التشغيل أو استخدامها بواسطة الأدوات اللاحقة:
| الملف | المحتويات |
|---|---|
<stem>.plan.json | AnalysisPlan الذي أنتجه المهندس المعماري — الأنظمة الفرعية، مجالات التركيز، نوع التطبيق المكتشف (للتحليل فقط). |
<stem>.findings.json | قائمة SubsystemFinding لكل نظام فرعي، التهديدات الشاملة، ومخطط تدفق البيانات على مستوى النظام (للتحليل فقط). |
<stem>.run.json | RunManifest — النماذج، تجزئة المطالبة + التكوين، المراجع التي قام الوكيل بتحميلها فعليًا، git SHA، الإصدار، التوقيت. يتم إصداره لكل من analyze و quick. |
علامة الصيغة (-f) تتحكم فقط في أداة التقرير؛ التابعات تكون دائمًا بصيغة JSON. مسارات الملفات في البيان والنتائج يتم تحريرها (./… عندما تكون تحت دليل العمل، ~/… عندما تكون تحت $HOME) بحيث يكون البيان آمنًا للمشاركة. الأرشفة التلقائية في ~/.stride-gpt/reports/{analyze,quick}/ لا تتأثر — التابعات تُصدر فقط عند تمرير -o.
عرض التقارير السابقة:```bash stride-gpt reports # List recent reports stride-gpt reports 1 # View report #1 stride-gpt reports 1 -o r.json -f json # Export a report
### واجهة Streamlit Web UI
واجهة الويب هي تطبيق منفصل عن واجهة سطر الأوامر (CLI). يمكن تشغيلها باستخدام:```bash
streamlit run apps/web/main.py
افتح عنوان URL المقدم في متصفحك واتبع الخطوات التي تظهر على الشاشة.
Docker```bash
docker run -p 8501:8501 --env-file .env mrwadams/stridegpt
## نموذج المخرجات
كل تشغيل لـ `stride-gpt analyze` و `stride-gpt quick` يُصدر تقرير ماركداون افتراضيًا (مع توفر JSON و SARIF وعرض HTML مستقل عبر `-f`). يقوم الماركداون بتجميع التهديدات حسب النظام الفرعي في جداول STRIDE، ويُضيف قسمًا شاملًا للتهديدات التي تمتد عبر المكونات، ويختتم بملخص التشغيل. الأعمدة الاختيارية (OWASP LLM/ASI، Insider Category، MITRE ATT&CK) تظهر فقط عندما يحتوي التشغيل على بيانات لها.
فيما يلي الماركداون من تشغيل على واجهة برمجة تطبيقات مدفوعات خيالية، حتى تتمكن من رؤية شكل المخرجات قبل تشغيل الأداة. إنه تقديم حقيقي من محرك التقارير، وليس نموذجًا وهميًا.
<details>
<summary>نموذج ماركداون لنموذج التهديدات (انقر للتوسيع)</summary>````markdown
# STRIDE Threat Model: acme-payments-api
> Generated by STRIDE-GPT on 2026-07-16T09:42:00Z
## Overview
A Python FastAPI service that accepts card payments, stores customer profiles in PostgreSQL, and calls a third-party payment processor. Authentication is handled by JWT bearer tokens issued by an internal auth service; the API is internet-facing behind an API gateway.
## Data Flow Diagram
```mermaid
flowchart LR
Client[Client App] -->|HTTPS + JWT| Gateway[API Gateway]
Gateway --> API[Payments API]
API -->|SQL| DB[(PostgreSQL)]
API -->|HTTPS| Processor[Payment Processor]
Authentication & Authorization
Files Analyzed
app/auth/jwt.pyapp/auth/dependencies.py
Threats
| Threat Type | Scenario | Potential Impact | MITRE ATT&CK |
|---|---|---|---|
| Spoofing | An attacker forges a JWT using a weak or leaked signing secret to impersonate another customer. | Full account takeover and unauthorized access to stored payment methods. | T1550.001 (Application Access Token) |
| Elevation of Privilege | A standard user calls an admin-only refund endpoint that only checks authentication, not role. | Unauthorized refunds and financial loss. | T1068 (Exploitation for Privilege Escalation) |
Recommendations
- Enforce role checks on every privileged route via a shared dependency, not per-handler logic.
- Rotate and store the JWT signing secret in a managed secrets store rather than an env file.
Payments & Data Storage
Files Analyzed
app/payments/routes.pyapp/db/models.py
Threats
| Threat Type | Scenario | Potential Impact | MITRE ATT&CK |
|---|---|---|---|
| Information Disclosure | Full card numbers are logged in request debug logs when a payment fails. | PCI-DSS violation and exposure of cardholder data to anyone with log access. | T1552.001 (Credentials In Files) |
| Tampering | The payment amount is taken from a client-supplied field and not re-validated server-side against the order. | A user pays less than the order total by editing the request body. |
Recommendations
- Redact PANs before logging and route logs through a PCI-scoped sink.
- Derive the charge amount from the server-side order record, never the request body.
Cross-Cutting Threats
| Threat Type | Scenario | Potential Impact | MITRE ATT&CK | Affected Subsystems |
|---|---|---|---|---|
| Denial of Service | No rate limiting on the payment endpoint lets an attacker exhaust the processor quota and DB connections. | Legitimate payments fail during the attack; possible processor throttling. | T1499 (Endpoint Denial of Service) | Authentication & Authorization, Payments & Data Storage |
Summary
- Total threats identified: 5
- Subsystems analyzed: 2
- Cross-cutting threats: 1
- LLM calls: 34
- Tool calls: 58
- Architect model: OpenAI API/gpt-5.4
- Worker model: Anthropic API/claude-sonnet-4-6
</details>
`stride-gpt quick` ينتج نفس شكل الجدول من وصف مكتوب، مع دمجها في نظام فرعي واحد من **Application** بدلاً من النتائج لكل نظام فرعي.
## أفضل ممارسات الأمان
تم تصميم STRIDE GPT للنشر المحلي لمستخدم واحد. عند استخدام الأداة:
### حماية مفاتيح API الخاصة بك
**مفاتيح API الخاصة بك هي بيانات اعتماد حساسة يمكن أن تتسبب في رسوم على حسابك.**
✅ **افعل:**
- أدخل مفاتيح API من خلال واجهة المستخدم (تبقى في جلسة المتصفح الخاصة بك)
- استخدم ملف .env للراحة على جهازك الشخصي
- حدد حدود الإنفاق في لوحة تحكم موفر LLM الخاص بك
- راجع استخدامك لـ API والتكاليف بانتظام
- امسح الجلسة عند الاستخدام على أجهزة مشتركة
❌ **لا تفعل:**
- لا تقم بإضافة ملفات .env إلى التحكم في الإصدار (موجود بالفعل في .gitignore)
- لا تشارك لقطات شاشة تحتوي على مفاتيح API مرئية
- لا تقم بتشغيل STRIDE GPT على أنظمة غير موثوقة أو مخترقة
- لا تشارك مفاتيح API الخاصة بك مع الآخرين
- لا تتجاهل رسوم API غير المتوقعة
### اعتبارات خصوصية البيانات
عند إنشاء نماذج التهديد، يرسل STRIDE GPT البيانات إلى موفر LLM الذي تختاره:
- تفاصيل التطبيق (النوع، طرق المصادقة، البنية المعمارية)
- أوصاف بنية النظام
- مخططات/صور البنية المرفوعة
- نماذج التهديد والتخفيفات التي تم إنشاؤها
**ما يعنيه هذا:**
- قد تقوم OpenAI وAnthropic وGoogle وما إلى ذلك بتسجيل هذه البيانات وفقًا لسياسات الخصوصية الخاصة بها
- ضع في اعتبارك استخدام تفاصيل عامة/خيالية للنظام في العروض التوضيحية
- راجع سياسات الاحتفاظ بالبيانات والخصوصية لدى موفر LLM الخاص بك
- بالنسبة للأنظمة الحساسة، فكر في:
- استخدام النماذج المحلية (LM Studio)
- استخدام موفرين بضمانات خصوصية أكثر صرامة
- تنقية أوصاف النظام قبل الإدخال
### للنشر ضمن فريق/مؤسسة
إذا كنت تقوم بنشر STRIDE GPT لعدة مستخدمين (ليس حالة الاستخدام الافتراضية):
- أضف المصادقة/التفويض (غير مدرجة افتراضيًا)
- استخدم خدمة إدارة الأسرار لمفاتيح API
- انشر خلف VPN أو شبكة داخلية
- راجع مستند [SECURITY.md](https://github.com/mrwadams/stride-gpt/blob/master/SECURITY.md) للحصول على اعتبارات إضافية
- ضع في اعتبارك متطلبات موقع البيانات والامتثال
- قم بتطبيق ضوابط الوصول المناسبة لنماذج التهديد المنشأة
### أمان التبعيات
نحن نحافظ على التبعيات ونراقب الثغرات الأمنية:
- يتم تحديث التبعيات بانتظام عبر Dependabot
- يتم إجراء فحص أمني آلي في كل التزام
- يتم تتبع الاستشارات الأمنية في علامة تبويب الأمان في GitHub
- قم بتشغيل `pip-audit` للتحقق من الثغرات الأمنية المعروفة محليًا
راجع [SECURITY.md](https://github.com/mrwadams/stride-gpt/blob/master/SECURITY.md) للحصول على معلومات أمنية شاملة بما في ذلك الفحص الأمني الآلي والإبلاغ عن الثغرات الأمنية وممارسات التطوير الآمنة.
### الإبلاغ عن مشكلات الأمان
وجدت مشكلة أمنية؟ يُرجى الإبلاغ عنها بمسؤولية:
- قم بإنشاء استشارة أمنية عبر [الإبلاغ الخاص عن الثغرات الأمنية](https://github.com/mrwadams/stride-gpt/security/advisories/new) في GitHub
- لا تنشر المشكلات الأمنية علنًا
- سنؤكد الاستلام خلال 48 ساعة
- سيتم إعطاء الأولوية للإصلاحات وإصدارها بسرعة
## المساهمة
طلبات السحب مرحب بها. بالنسبة للتغييرات الكبيرة، يُرجى فتح قضية أولاً لمناقشة ما ترغب في تغييره.
## الترخيص
[MIT](https://choosealicense.com/licenses/mit/)
