
أداة نمذجة التهديدات مفتوحة المصدر من OWASP
[
][build]
[
][latest]
[
][practices]
[OWASP][owasp] [Threat Dragon][project] هو تطبيق مجاني ومفتوح المصدر ومتعدد المنصات لنمذجة التهديدات. يُستخدم لرسم مخططات نمذجة التهديدات ولإدراج التهديدات الخاصة بالعناصر الموجودة في المخطط. أنشأ Mike Goodwin تطبيق Threat Dragon كمشروع مجتمعي مفتوح المصدر يوفر طريقة بديهية وسهلة الوصول لنمذجة التهديدات.
صُمم Threat Dragon ليكون سهل الوصول لمختلف أنواع الفرق، مع التركيز على المرونة والبساطة. ويتمتع المشروع بـ[حالة مشروع إنتاجي في OWASP][project] ويتبع القيم والمبادئ الواردة في [بيان نمذجة التهديدات][manifesto].
هذا البرنامج برمجية حرة: يمكنك إعادة توزيعه و/أو تعديله بموجب شروط [رخصة Apache 2.0][license].
يمكنك الوصول إلى أحدث إصدار من Threat Dragon على [موقع العرض التوضيحي][demo] والرجوع إلى [صفحات التوثيق][docs].
من الجدير أيضًا بمشاهدة الفيديو المقدم من سلسلة OWASP Spotlight.
تحتوي [منطقة إصدارات GitHub][releases] على Threat Dragon من الإصدار 1.3 حتى أحدث الإصدارات 2.x. أما الإصدارات السابقة فهي من المستودع الأصلي لـ Mike Goodwin.
هناك نظرة عامة جيدة عن نمذجة التهديدات وتقييم المخاطر من OWASP، وهي تشرح بمزيد من التفصيل ما يهدف إليه مشروع Threat Dragon:
Mike Goodwin هو مؤسس هذا المشروع ومنشئه، وقد تم نقل هذا المستودع من المستودع الأصلي لـ Mike Goodwin الذي يحتوي على المشكلات وطلبات السحب من أكتوبر 2015 حتى يونيو 2020.
Threat Dragon هو في المقام الأول تطبيق ويب. يمكن لتطبيق الويب تخزين ملفات نموذج التهديد على نظام الملفات المحلي؛ وبالإضافة إلى ذلك يمكن تهيئة الوصول من أجل:
إصدارات سطح المكتب من Threat Dragon تخزّن ملفات نموذج التهديد على نظام الملفات المحلي ولا تصل إلى مستودعات خارجية. يمكنك تنزيل برامج التثبيت لأنظمة Windows وMacOS وLinux.
تتوفر مساعدة المستخدم النهائي لكل من أحدث [إصدار 2.x][docs] والإصدار 1.x السابق.
كُتب Threat Dragon في الأصل باستخدام AngularJS الإصدار 1.x، لكن هذا الإصدار من Angular وصل إلى نهاية عمره. وهذا يعني أن الإصدارات 1.x من Threat Dragon لم تعد تُصان بنشاط وقد أُعيدت كتابة الإصدارات 2.x لاستخدام Vue.js.
لمزيد من المعلومات حول بناء/تشغيل الإصدار 1.x، يُرجى الاطلاع على فرع legacy-v1.x.
قم بتثبيت git و [node.js][node] الذي يتضمن مدير حزم node وهو npm
استنسخ المستودع باستخدام: git clone https://github.com/owasp/threat-dragon.git
يؤدي هذا إلى تنزيل الشيفرة في دليل threat-dragon، وتوجد شيفرة التطبيق في مجلدين فرعيين،
واحد لتطبيق الواجهة الخلفية (td.server) وواحد للواجهة الأمامية (td.vue).
قم بالتثبيت من الدليل الأعلى للمشروع باستخدام: npm install
يتطلب متغير تطبيق الويب الخاص بـ Threat Dragon بعض متغيرات البيئة؛ اتبع [التوثيق][config] حول كيفية تعيين هذه المتغيرات.
إذا كان الوصول إلى المستودعات الخارجية مطلوبًا، مثل Bitbucket / GitHub / GitLab، فستحتاج إلى الانتقال إلى حساب المستودع الخاص بك وتسجيل التطبيق. توجد أدلة خطوة بخطوة حول كيفية القيام بذلك لـ [Bitbucket][bitbucket] و[GitHub][github] و[GitLab][gitlab].
عند التشغيل على Windows، وأثناء التطوير، يمكن تشغيل الواجهة الأمامية والواجهة الخلفية للخادم
بشكل منفصل في وضع "المراقبة" باستخدام الأوامر: npm run dev:server و npm run dev:vue.
بدلاً من ذلك، إذا كنت تعمل على Linux أو MacOS، فابدأ كلاً من خادم الواجهة الخلفية وتطبيق الواجهة الأمامية
من الدليل الأعلى باستخدام: npm start.
مع تشغيل كل من الواجهة الأمامية والخلفية، يمكنك الوصول عبر متصفح على http://localhost:8080/
إذا كنت تستخدم npm start، فأوقف كلاً من خادم الواجهة الخلفية وتطبيق الواجهة الأمامية
من الدليل الأعلى باستخدام الأمر npm stop. وإلا فاخرج من كل من الخادم وواجهة vue الأمامية.
يحتفظ Threat Dragon بصور docker ضمن منطقة منظمة OWASP على Dockerhub.
يتم وسم كل إصدار بـ v{major}.{minor}.{patch}، مثل v2.2.0:
docker pull owasp/threat-dragon:v2.2.0قد تكون العلامة latest (وهي الافتراضية) نسخة تطويرية
لذا استخدم علامة stable، التي ستكون دائمًا أحدث إصدار رسمي:
docker pull threatdragon/owasp-threat-dragon:stabledocker run -it --rm -p 8080:3000 -v $(pwd)/.env:/app/.env threatdragon/owasp-threat-dragon:v2.2.0docker run -it --rm -p 8080:3000 -v %CD%/.env:/app/.env threatdragon/owasp-threat-dragon:v2.2.0بافتراض أنك تستخدم منفذ http 8080 وتصل إلى Threat Dragon على http://localhost:8080/.
لتشغيل Threat Dragon في حاوية docker تم بناؤها محليًا، قم أولاً بتكوين [بيئتك باستخدام dotenv][config] وشغّل من الدليل الأعلى للمشروع:
docker build -t owasp-threat-dragon:dev .docker run -it --rm -p 8080:3000 -v $(pwd)/.env:/app/.env owasp-threat-dragon:devdocker run -it --rm -p 8080:3000 -v %CD%/.env:/app/.env owasp-threat-dragon:devباستخدام منفذ http 8080 والوصول إلى Threat Dragon على http://localhost:8080/.
[][contributors]
طلبات السحب وطلبات الميزات وتقارير الأخطاء وأي نوع من الملاحظات مرحب بها للغاية، يرجى الرجوع إلى صفحة المساهمين.
توجد بعض [ملاحظات المطورين][notes] للمساعدة في البدء مع هذا المشروع. نحاول الحفاظ على تغطية الاختبارات مرتفعة نسبيًا لذا أدرج الاختبارات في طلبات السحب الخاصة بك.
أسهل طريقة للتواصل مع مجتمع Threat Dragon هي عبر البريد الإلكتروني إلى مجموعة OWASP على Google. قناة OWASP على Slack [#project-threat-dragon][td-slack] مصدر جيد للمعلومات، وإن كان قد [يلزمك الاشتراك][subscribe] أولاً.
يمكنك متابعة Threat Dragon على [Bluesky][bluesky].
إذا وجدت ثغرة أمنية في هذا المشروع، فيرجى إبلاغنا في أقرب وقت ممكن وسنقوم بإصلاحها على سبيل الأولوية. للإفصاح الآمن، يرجى الاطلاع على سياسة الأمان.
Threat Dragon: جعل نمذجة التهديدات أقل تهديدًا