
detección de ataques sql/xss en API web con IA
Este proyecto tiene como objetivo detectar inyecciones SQL y XSS en consultas/parámetros de API utilizando machine learning.
Este proyecto tiene como objetivo detectar inyecciones SQL y XSS en consultas y parámetros de API utilizando técnicas de Machine Learning.
El objetivo es crear un pipeline simple que permita:
benign, sql_injection o xss,Preparar el dataset
El archivo generated_payloads.csv en la carpeta data/ contiene ejemplos de consultas de API etiquetadas (sql_injection, xss, benign) provenientes de fuentes externas como Kaggle o generadas localmente.
Limpieza y división del dataset
python scripts/clean_and_split.py
El script:
y genera:
data/combined.csv: dataset completo limpio,data/train.csv: datos de entrenamiento (80%),data/test.csv: datos de prueba (20%).python scripts/train_model.py
El modelo utiliza un pipeline ML:
TF-IDF Vectorizer (TfidfVectorizer): transforma las consultas de texto en vectores numéricos, capturando la importancia de palabras o símbolos sospechosos.
Logistic Regression (LogisticRegression): clasificador supervisado que aprende a asociar los vectores TF-IDF con las clases sql_injection, xss o benign.
Después del entrenamiento, el modelo se guarda en la carpeta models, y luego se puede utilizar para predecir la clase de una nueva consulta.
pytest -v -s tests/test_pipeline.py
La prueba verifica que:
pip3 install -r requirements.txt
Librerías