
نموذج أولي لكشف التهديدات الداخلية يعتمد على Streamlit ويستخدم XGBoost و Isolation Forest لتحليل بيانات نشاط الموظفين، وإنشاء ملخصات المخاطر، وتقديم تفسيرات لكل موظف بناءً على SHAP.
ThreatDetect هو نموذج أولي للكشف عن التهديدات الداخلية مبني على Streamlit يقوم بتحليل بيانات نشاط الموظفين ويحدد السلوك الذي قد يكون خطيرًا. يستخدم مصنف XGBoost مدربًا مع كاشف الشذوذ Isolation Forest لإنتاج ملخصات مخاطر على مستوى المؤسسة ورؤى قابلة للتفسير على مستوى الموظف.
يمكن تشغيل التطبيق محليًا باستخدام Streamlit. تم نشر عرض توضيحي مسبقًا على:
streamlit_app.py — تطبيق Streamlit الرئيسيrequirements.txt — تبعيات حزمة PythonAI_Model_Code/insider_threat_model.pkl — مسار الاستدلال المحفوظ وقطع النموذج المدربAI_Model_Code/insider_threat_clean_dataset.csv — مجموعة بيانات عينة مرفقة لتحليل EDAAI_Model_Code/cos720_ai_model_FINAL.ipynb — دفتر تطوير النموذجassets/app_styling.css — تنسيق واجهة مخصص لتطبيق Streamlitunit testing/ — ملفات اختبار لإعداد الميزات ومنطق التفسيرdocs/TECHNICAL_DOCUMENTATION.md — الوثائق التقنية للمشروعstreamlitpandasnumpyscikit-learnmatplotlibseabornplotlyxgboostshapقم بتثبيت جميع التبعيات باستخدام:
pip install -r requirements.txt
git clone https://github.com/jazbengu/ThreatDetect.git
cd ThreatDetect
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
ابدأ التطبيق باستخدام:
streamlit run streamlit_app.py
ثم افتح عنوان URL المحلي الموضح في الطرفية (عادةً http://localhost:8501).
Run Threat Detection لحساب احتمالات المخاطر لكل سجل.AI_Model_Code/insider_threat_clean_dataset.csv.البحث التنظيمي عبر CSV هو سير العمل الرئيسي للكشف عن التهديدات بالجملة.البحث الفردي يظهر في الشريط الجانبي ولكنه غير مطبق حاليًا في منطق التطبيق.تحليل البيانات الاستكشافي متاح لاستكشاف مجموعة البيانات وفحوصات الشذوذ السريعة.AI_Model_Code/insider_threat_model.pkl يحتوي على حزمة نموذج مسلسلة تحتوي على:
xgb_model: مصنف XGBoost مدربiso_forest: كاشف الشذوذ Isolation Forest مدربscaler: StandardScaler للمدخلات الرقميةlabel_encoders: مشفّرات للميزات الفئويةfeature_columns: قائمة الميزات المرتبةcat_cols, num_cols, bin_cols: تجميعات الميزاتbest_threshold: عتبة التصنيف المستخدمة لقرارات المخاطرshap_explainer: مفسر SHAP لقابلية التفسيريتم تحميل ملف النموذج بواسطة streamlit_app.py ويُستخدم لمعالجة المدخلات مسبقًا، وحساب احتمالات المخاطر، وتوليد التفسيرات.
يتضمن المستودع اختبارات تحت unit testing/.
قم بتشغيل مجموعة الاختبار باستخدام:
pytest "unit testing/"
تم تكوين هذا المستودع للتحسين والاختبار. قد تشمل التحسينات المستقبلية توسيع تغطية الميزات وإعادة تدريب النموذج ببيانات تهديدات داخلية إضافية.