
IA के साथ वेब API पर sql/xss हमलों का पता लगाना
यह परियोजना मशीन लर्निंग का उपयोग करके API अनुरोधों/पैरामीटरों में SQL और XSS इंजेक्शन का पता लगाने का लक्ष्य रखती है।
यह परियोजना मशीन लर्निंग तकनीकों का उपयोग करके API अनुरोधों और पैरामीटरों में SQL और XSS इंजेक्शन का पता लगाने का लक्ष्य रखती है।
इसका उद्देश्य एक सरल पाइपलाइन बनाना है जो:
benign, sql_injection या xss के रूप में वर्गीकृत करने में सक्षम मॉडल प्रशिक्षित करती है,डेटासेट तैयार करें
फ़ोल्डर data/ में फ़ाइल generated_payloads.csv में Kaggle जैसी बाहरी स्रोतों से या स्थानीय रूप से उत्पन्न लेबल वाले API अनुरोधों (, , ) के उदाहरण हैं।
sql_injectionxssbenignडेटासेट की सफाई और विभाजन
python scripts/clean_and_split.py
स्क्रिप्ट:
डुप्लिकेट और खाली पंक्तियों को हटाती है,
टेक्स्ट को साफ करती है (रिक्त स्थान, नई पंक्तियाँ, टैब),
लेबल को सामान्य करती है,
और यह उत्पन्न करती है:
data/combined.csv: साफ किया गया पूर्ण डेटासेट,
data/train.csv: प्रशिक्षण डेटा (80%),
data/test.csv: परीक्षण डेटा (20%)।
python scripts/train_model.py
मॉडल एक ML पाइपलाइन का उपयोग करता है:
TF-IDF वेक्टराइज़र (TfidfVectorizer): टेक्स्ट अनुरोधों को संख्यात्मक वैक्टर में बदलता है, संदिग्ध शब्दों या प्रतीकों के महत्व को कैप्चर करता है।
लॉजिस्टिक रिग्रेशन (LogisticRegression): पर्यवेक्षित क्लासिफायर जो TF-IDF वैक्टर को sql_injection, xss या benign वर्गों से जोड़ना सीखता है।
प्रशिक्षण के बाद, मॉडल को models फ़ोल्डर में सहेजा जाता है, फिर इसका उपयोग नए अनुरोध के वर्ग की भविष्यवाणी करने के लिए किया जा सकता है।
pytest -v -s tests/test_pipeline.py
परीक्षण जाँचता है कि:
मॉडल लोड करने योग्य है,
यह कई सरल उदाहरणों की सही भविष्यवाणी करता है,
कोई पाइपलाइन त्रुटि नहीं होती है।
pip3 install -r requirements.txt
लाइब्रेरीज़
pandas
scikit-learn
joblib
pytest