A machine learning-powered system to classify cyber security alerts using structured metadata and BERT-based text embeddings.
This project provides an end-to-end pipeline:
API/ ├── config/ # Label mappings ├── models/ # Model + prediction logic ├── schema/ # Input/output schemas ├── app.py # FastAPI app streamlit_ui.py # UI for testing requirements.txt
pip install -r requirements.txt
cd API uvicorn API.app:app --reload
streamlit run streamlit_ui.py
GET /health
POST /predict
{ "Category": "Email Sec", "Impact": "High", "Priority": "Urgent", "Type": "Incident", "Created_time": "2024-01-01T00:00:00", "Due_by_Time": "2024-01-02T00:00:00", "Sub_category": "Spam", "Status": "Suspicious email detected and reported" }
{ "predicted_category": "True Positive", "confidence": 0.87, "class_probabilities": { "Benign": 0.05, "False Positive": 0.08, "Report": 0.10, "True Positive": 0.87, "Wireless": 0.02 } }
MIT License
18 commits
Jupyter Notebook
84.7%
Python
14.7%
A machine learning-powered system to classify cyber security alerts using structured metadata and BERT-based text embeddings.
This project provides an end-to-end pipeline:
API/ ├── config/ # Label mappings ├── models/ # Model + prediction logic ├── schema/ # Input/output schemas ├── app.py # FastAPI app streamlit_ui.py # UI for testing requirements.txt
pip install -r requirements.txt
cd API uvicorn API.app:app --reload
streamlit run streamlit_ui.py
GET /health
POST /predict
{ "Category": "Email Sec", "Impact": "High", "Priority": "Urgent", "Type": "Incident", "Created_time": "2024-01-01T00:00:00", "Due_by_Time": "2024-01-02T00:00:00", "Sub_category": "Spam", "Status": "Suspicious email detected and reported" }
{ "predicted_category": "True Positive", "confidence": 0.87, "class_probabilities": { "Benign": 0.05, "False Positive": 0.08, "Report": 0.10, "True Positive": 0.87, "Wireless": 0.02 } }
MIT License
18 commits
Jupyter Notebook
84.7%
Python
14.7%