
أداة نمذجة التهديدات مفتوحة المصدر من OWASP
OWASP Threat Dragon هو تطبيق مجاني ومفتوح المصدر ومتعدد المنصات لنمذجة التهديدات. يُستخدم لرسم مخططات نمذجة التهديدات وسرد التهديدات لعناصر المخطط. مايك غودوين أنشأ Threat Dragon كمشروع مجتمعي مفتوح المصدر يوفر طريقة بديهية وسهلة الوصول لنمذجة التهديدات.
صُمم Threat Dragon ليكون في متناول أنواع مختلفة من الفرق، مع التركيز على المرونة والبساطة. يتمتع المشروع بوضع إنتاج OWASP ويتبع قيم ومبادئ بيان نمذجة التهديدات.
هذا البرنامج برنامج حر: يمكنك إعادة توزيعه و/أو تعديله بموجب شروط رخصة Apache 2.0.
يمكنك الوصول إلى أحدث إصدار من Threat Dragon على الموقع التجريبي والرجوع إلى صفحات التوثيق.
ومن الجدير أيضًا مشاهدة الفيديو الذي توفره سلسلة OWASP Spotlight.
تحتوي منطقة إصدارات GitHub على Threat Dragon من الإصدار 1.3 إلى أحدث الإصدارات 2.x. الإصدارات السابقة مأخوذة من المستودع الأصلي لمايك غودوين.
هناك نظرة عامة جيدة حول نمذجة التهديدات وتقييم المخاطر من OWASP، وهذا يوسع نطاق ما يهدف إليه مشروع Threat Dragon:
مايك غودوين هو مؤسس ومنشئ هذا المشروع، وقد تم ترحيل هذا المستودع من الأصلي لمايك غودوين والذي يحتوي على المشكلات وطلبات السحب من أكتوبر 2015 حتى يونيو 2020.
Threat Dragon هو تطبيق ويب في المقام الأول. يمكن لتطبيق الويب تخزين ملفات نموذج التهديد على نظام الملفات المحلي؛ بالإضافة إلى ذلك، يمكن تكوين الوصول إلى:
تخزن إصدارات سطح المكتب من Threat Dragon ملفات نموذج التهديد على نظام الملفات المحلي ولا تصل إلى المستودعات الخارجية. يمكنك تنزيل برامج التثبيت لأنظمة Windows وMacOS وLinux.
المساعدة متاحة للمستخدمين النهائيين لكل من الإصدار 2.x الأحدث والإصدار 1.x السابق.
كُتب Threat Dragon في الأصل باستخدام AngularJS الإصدار 1.x، لكن هذا الإصدار من Angular وصل إلى نهاية دعمه. هذا يعني أن إصدارات 1.x من Threat Dragon لم تعد مدعومة بنشاط، وأن إصدارات 2.x أعيدت كتابتها لاستخدام Vue.js.
لمزيد من المعلومات حول بناء/تشغيل الإصدار 1.x، يرجى الاطلاع على فرع legacy-v1.x.
ثبّت git وnode.js الذي يتضمن مدير حزم العقدة npm
استنسخ المستودع باستخدام: git clone https://github.com/owasp/threat-dragon.git
يؤدي هذا إلى تنزيل الكود في دليل threat-dragon، ويكون كود التطبيق في مجلدين فرعيين:
واحد للتطبيق الخلفي (td.server) وواحد للواجهة الأمامية (td.vue).
ثبّت من الدليل العلوي للمشروع باستخدام: npm install
يتطلب متغير تطبيق الويب من Threat Dragon بعض متغيرات البيئة؛ اتبع التوثيق حول كيفية تعيين هذه المتغيرات.
إذا كان الوصول إلى المستودعات الخارجية مطلوبًا، مثل Bitbucket / GitHub / GitLab، فأنت بحاجة إلى الانتقال إلى حساب المستودع الخاص بك وتسجيل التطبيق. توجد أدلة خطوة بخطوة حول كيفية القيام بذلك لكل من Bitbucket وGitHub و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قد يكون الوسم الأحدث (وهو الافتراضي) نسخة تطويرية
لذا استخدم وسم 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 ثم شغّل من الدليل العلوي للمشروع:
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/.
طلبات السحب، وطلبات الميزات، وتقارير الأخطاء، والملاحظات من أي نوع مرحب بها جدًا، يرجى الرجوع إلى صفحة المساهمين.
هناك بعض ملاحظات المطورين للمساعدة في البدء مع هذا المشروع. نحاول إبقاء تغطية الاختبارات عالية نسبيًا، لذا يرجى تضمين اختبارات في طلبات السحب الخاصة بك.
أسهل طريقة للتواصل مع مجتمع Threat Dragon هي إرسال بريد إلكتروني إلى مجموعة OWASP على Google. تعد قناة OWASP على Slack #project-threat-dragon مصدرًا جيدًا للمعلومات، على الرغم من أنك قد تحتاج إلى الاشتراك أولاً.
يمكنك متابعة Threat Dragon على Bluesky.
إذا وجدت ثغرة أمنية في هذا المشروع، فيرجى إخبارنا في أقرب وقت ممكن وسنقوم بإصلاحها كأولوية. لإفصاح آمن، يرجى الاطلاع على سياسة الأمان.
Threat Dragon: جعل نمذجة التهديدات أقل تهديدًا