How saqibsattar03/masterproject works
This repository is a SQL-injection detection project with two workflows: a Flask endpoint that classifies submitted queries using a saved hybrid model, and an offline workflow that prepares labeled data, trains CNN/LSTM/hybrid models, and evaluates their performance. The graph also shows the saved model and preprocessing artifacts shared with inference. API behavior is visible in app.py; offline relationships are based on the sampled source and README. The README describes simulated blocking, not an implemented firewall integration.
Main entry points: main.py Training Orchestrator · preprocessing.py Dataset Preparation · app.py Detection API · visualizations.py Result Visualizations
Components 15
Live Detection
- Detection API
app.py - Query Preprocessing
app.py - Hybrid Inference
app.py - Detection Result
app.py
Model Training
- Training Orchestrator
src/main.py - Dataset Preparation
src/preprocessing.py - Model Architectures
src/train_model.py - Model Training
src/train_model.py
Evaluation
- Metrics Evaluation
src/results/visualizations.py - Result Visualizations
src/results/visualizations.py
Data and Artifacts
- SQLi Dataset
data/raw/sql_injection_dataset.csv - Saved Tokenizer
models/tokenizer.pkl - Sequence Config
config.json - Trained Models
models
Other components
- API Client
Connections 20
- API Client → Detection API: POST query
README.md - Detection API → Query Preprocessing: preprocesses query
app.py - Query Preprocessing → Saved Tokenizer: tokenizes with
app.py - Query Preprocessing → Sequence Config: reads length
app.py - Detection API → Hybrid Inference: dispatches prediction
app.py - Hybrid Inference → Trained Models: loads hybrid model
app.py - Hybrid Inference → Query Preprocessing: predicts on padded input
app.py - Detection API → Detection Result: returns verdict
app.py - Detection Result → API Client: sends JSON
app.py - Training Orchestrator → Dataset Preparation: loads prepared data
src/main.py - Dataset Preparation → SQLi Dataset: reads CSV
src/preprocessing.py - Dataset Preparation → Saved Tokenizer: saves tokenizer
src/preprocessing.py - Dataset Preparation → Sequence Config: writes max length
src/preprocessing.py - Dataset Preparation → Result Visualizations: plots label distributions
src/preprocessing.py - Training Orchestrator → Model Architectures: builds CNN LSTM hybrid
src/main.py - Training Orchestrator → Model Training: trains each model
src/main.py - Model Training → Trained Models: saves trained models
src/train_model.py - Training Orchestrator → Metrics Evaluation: evaluates predictions
src/main.py - Training Orchestrator → Result Visualizations: plots comparisons and curves
src/main.py - Metrics Evaluation → Result Visualizations: returns prediction metrics
src/results/visualizations.py