
منصة مصرفية ضعيفة عمدًا لممارسة اختبار أمان تطبيقات الويب وواجهات برمجة التطبيقات (API) والذكاء الاصطناعي/نماذج اللغة الكبيرة (LLM)، ومراجعة أمان الكود، وتكامل DevSecOps من خلال مختبرات عملية واقعية.
تطبيق ويب قابل للاختراق عن قصد لممارسة اختبار أمان التطبيقات للويب وواجهات برمجة التطبيقات (APIs) ونماذج اللغة الكبيرة (LLMs)، ومراجعة الكود الأمنية، وتنفيذ الأمان في خطوط CI/CD.
⚠️ تحذير: هذا التطبيق قابل للاختراق عن قصد ويجب استخدامه للأغراض التعليمية فقط في بيئات معزولة.

هذا المشروع هو تطبيق مصرفي بسيط يحتوي على ثغرات أمنية متعددة مدمجة. صُمم لمساعدة مهندسي الأمن والمطورين والمتدربين ومحللي ضمان الجودة (QA) وممارسي DevSecOps على التعرّف على:
USD, GBP, NGN, JPY, EUR, QAR, BTC, ETH)
المصادقة والتفويض
أمان البيانات
ثغرات المعاملات
عمليات الملفات
إدارة الجلسات
عيوب جانب العميل وجانب الخادم
ثغرات البطاقات الافتراضية
ثغرات دفع الفواتير
ثغرات واجهة برمجة تطبيقات دفع التجار
ثغرات دعم العملاء بالذكاء الاصطناعي
ثغرات GraphQL
/graphqlgit clone https://github.com/Commando-X/vuln-bank.git
cd vuln-bank
docker-compose up -d --build
سيكون التطبيق متاحًا على http://localhost:5000
يتضمن إعداد Docker بعض الضمانات التشغيلية حتى يتمكن التطبيق من التعافي دون تدخل يدوي عبر SSH:
web و db خيار restart: unless-stopped، لذا يعيد Docker تشغيلهما تلقائيًا إذا توقفت العملية.db فحصًا صحيًا، وتنتظر web جاهزية Postgres قبل البدء.web خادم تطوير Flask مع debug=True (عن قصد — للحفاظ على سيناريوهات التدريب التي تستهدف مصحح أخطاء Werkzeug).web نقطة GET /healthz حتى تتمكن الحاوية من الإبلاغ عما إذا كان التطبيق وقاعدة البيانات قابلين للاستخدام فعليًا.يحافظ ذلك على سلوك التطبيق القابل للاختراق عن قصد مع جعل دورة حياة الحاوية أكثر مرونة.
يمكنك التحقق من إعدادات التشغيل المحلية دون تشغيل حاويات حقيقية:
python3 -m unittest discover -s tests -v
يتحقق هذا من سلوك نقطة نهاية /healthz ويتحقق من أن start.sh ينتظر قاعدة البيانات ثم يشغّل تطبيق Flask.
إذا لم تكن تبعيات تطبيق Flask مثبتة في بيئة Python الحالية لديك، فسيتم تخطي اختبار مسار /healthz وسيستمر اختبار سكربت بدء التشغيل في العمل.
git clone https://github.com/Commando-X/vuln-bank.git
cd vuln-bank
docker build -t vuln-bank .
docker run -p 5000:5000 vuln-bank
git clone https://github.com/Commando-X/vuln-bank.git
cd vuln-bank
# On Windows
python -m venv venv
venv\Scripts\activate
# On Linux/Mac
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# On Windows
mkdir static\uploads
# On Linux/Mac
mkdir -p static/uploads
تعديل ملف .env:
تشغيل التطبيق:
# On Windows
python app.py
# On Linux/Mac
python3 app.py
يتم تضمين ملف .env عن قصد في هذا المستودع لتسهيل الإعداد للأغراض التعليمية. في تطبيق حقيقي، يجب ألا تضع ملفات .env أبدًا في نظام التحكم بالإصدارات.