
एक Streamlit-आधारित आंतरिक खतरा पहचान प्रोटोटाइप जो कर्मचारी गतिविधि डेटा का विश्लेषण करने, जोखिम सारांश उत्पन्न करने और SHAP-आधारित प्रति कर्मचारी स्पष्टीकरण प्रदान करने के लिए XGBoost और Isolation Forest का उपयोग करता है।
ThreatDetect एक Streamlit-आधारित आंतरिक खतरा पहचान प्रोटोटाइप है जो कर्मचारी गतिविधि डेटा का विश्लेषण करता है और संभावित जोखिमपूर्ण व्यवहार को चिह्नित करता है। यह एक प्रशिक्षित XGBoost क्लासिफायर के साथ Isolation Forest एनोमली डिटेक्टर का उपयोग करके संगठन-स्तरीय जोखिम सारांश और समझने योग्य कर्मचारी-स्तरीय अंतर्दृष्टि उत्पन्न करता है।
ऐप को Streamlit का उपयोग करके स्थानीय रूप से चलाया जा सकता है। एक तैनात डेमो पहले इस पर प्रकाशित किया गया था:
streamlit_app.py — मुख्य Streamlit एप्लिकेशनrequirements.txt — Python पैकेज निर्भरताएँAI_Model_Code/insider_threat_model.pkl — सहेजा गया अनुमान पाइपलाइन और प्रशिक्षित मॉडल आर्टिफैक्टAI_Model_Code/insider_threat_clean_dataset.csv — EDA के लिए बंडल किया गया नमूना डेटासेटAI_Model_Code/cos720_ai_model_FINAL.ipynb — मॉडल विकास नोटबुकassets/app_styling.css — Streamlit ऐप के लिए कस्टम UI स्टाइलिंगunit 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: संख्यात्मक इनपुट के लिए StandardScalerlabel_encoders: श्रेणीबद्ध सुविधाओं के लिए एनकोडरfeature_columns: क्रमबद्ध फीचर सूचीcat_cols, num_cols, bin_cols: फीचर समूहbest_threshold: जोखिम निर्णयों के लिए उपयोग किया जाने वाला वर्गीकरण थ्रेशोल्डshap_explainer: व्याख्यात्मकता के लिए SHAP व्याख्याकारमॉडल फ़ाइल streamlit_app.py द्वारा लोड की जाती है और इसका उपयोग इनपुट को प्रीप्रोसेस करने, जोखिम संभावनाओं की गणना करने और व्याख्याएँ उत्पन्न करने के लिए किया जाता है।
रिपॉजिटरी में unit testing/ के अंतर्गत परीक्षण शामिल हैं।
टेस्ट सूट को इसके साथ चलाएँ:
pytest "unit testing/"
यह रिपॉजिटरी संवर्द्धन और परीक्षण के लिए कॉन्फ़िगर की गई है। भविष्य के सुधारों में फीचर कवरेज का विस्तार और अतिरिक्त आंतरिक खतरा डेटा के साथ मॉडल को पुनः प्रशिक्षित करना शामिल हो सकता है।