Skip to content
palashgoyalatworkPublic

About

AI-inspired phishing and scam risk detection tool built with Python and Streamlit.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

🛡️ Sentinel

Phishing & Scam Risk Detection

Sentinel is a lightweight cybersecurity analysis tool built with Python and Streamlit that identifies common warning signs associated with phishing messages, scam attempts, and suspicious URLs.

It provides a risk score, threat classification, detected indicators, and security recommendations to help users recognize potentially risky content.


✨ Features

📩 Message Scanner

Analyze suspicious emails, SMS messages, DMs, or other text-based communications.

Sentinel checks for:

  • Suspicious phishing and scam phrases
  • Urgency and pressure tactics
  • OTP and password requests
  • Credential requests
  • Financial information requests
  • Account-related threats
  • Suspicious external links
  • Multiple combined risk indicators

🔗 URL Scanner

Analyze URLs for common structural warning signs.

Sentinel checks for:

  • IP-based URLs
  • HTTP instead of HTTPS
  • Suspicious keywords
  • Credential and account-related terms
  • URL shorteners
  • Suspicious domain structures
  • Excessive subdomains
  • Unusually long URLs

📊 Security Dashboard

Track scan activity with:

  • Total scans
  • Dangerous results
  • Suspicious results
  • Low-risk results
  • Risk scores
  • Scan type
  • Scan time
  • Recent scan history

📸 Screenshots

📩 Message Scanner

Sentinel Message Scanner

🔴 Detailed Threat Analysis

Sentinel Threat Analysis

🔗 URL Scanner

Sentinel URL Scanner

📊 Security Dashboard

Sentinel Dashboard

ℹ️ About Sentinel

Sentinel About


🧠 Risk Assessment

Sentinel produces a heuristic risk score from 0 to 100.

Score Classification
0–39 🟢 Low Risk
40–69 🟠 Suspicious
70–100 🔴 Dangerous

The score is based on multiple detected indicators rather than a single keyword.

Note: A risk score is an automated assessment and does not guarantee that a message or website is malicious or legitimate.


⚙️ How It Works

Message Analysis

Message
   ↓
Text Normalization
   ↓
Keyword & Pattern Detection
   ↓
Urgency Analysis
   ↓
Credential / Financial Request Detection
   ↓
Combination Signal Analysis
   ↓
Risk Scoring
   ↓
Threat Classification
   ↓
Security Recommendation

URL Analysis

URL
 ↓
URL Parsing
 ↓
Domain Analysis
 ↓
Protocol Inspection
 ↓
IP / Structural Checks
 ↓
Suspicious Keyword Detection
 ↓
Risk Scoring
 ↓
Threat Classification

🛠️ Tech Stack

  • Python
  • Streamlit
  • Regular Expressions
  • URL Parsing
  • Rule-Based Risk Analysis

📁 Project Structure

Sentinel/
│
├── assets/
│   └── screenshots/
│       ├── sentinel-message.jpeg
│       ├── sentinel-result.jpeg
│       ├── sentinel-url-scanner.jpeg
│       ├── sentinel-dashboard.jpeg
│       └── sentinel-about.jpeg
│
├── app.py
├── detector.py
├── url_scanner.py
├── utils.py
├── requirements.txt
├── README.md
└── .gitignore

🚀 Installation

1. Clone the repository

git clone https://github.com/palashgoyalatwork/Sentinel.git

2. Enter the project directory

cd Sentinel

3. Install dependencies

pip install -r requirements.txt

4. Run Sentinel

python -m streamlit run app.py

The application will open in your browser.


🧪 Example

Suspicious Message

URGENT SECURITY ALERT!

Your bank account has been suspended due to unusual activity.
Your account will be permanently closed within 24 hours.

Click here immediately to verify your identity and send
your OTP, password, and bank details.

Sentinel identifies multiple indicators including:

  • Account suspension threat
  • Urgency
  • OTP request
  • Password request
  • Financial information request
  • Suspicious phishing language

Result:

🔴 Dangerous — 100/100


🔗 Example URL

http://192.168.1.100/login/verify-account

Potential indicators include:

  • IP address instead of a domain
  • HTTP connection
  • Account-related keywords
  • Credential-related keywords

Result:

🟠 Suspicious


🛡️ Security Disclaimer

Sentinel is an educational cybersecurity project.

A low-risk result does not guarantee that a message or website is legitimate, and a suspicious result does not independently prove malicious intent.

Always verify unexpected requests through official channels.

Never provide passwords, OTPs, payment information, or other sensitive information based solely on an automated assessment.


🔮 Future Improvements

Potential future versions could include:

  • Machine-learning based classification
  • Email header analysis
  • Domain reputation checks
  • Threat intelligence integration
  • Explainable AI-based risk scoring
  • Browser extension support
  • Persistent database-backed scan history
  • Advanced URL reputation analysis

👨‍💻 Author

Palash Goyal

Built as a portfolio cybersecurity project using Python and Streamlit.


📌 Project Status

Sentinel v1.0 — Functional Release

  • 📩 Message Scanner — ✅
  • 🔗 URL Scanner — ✅
  • 🛡️ Risk Assessment — ✅
  • 📊 Security Dashboard — ✅
  • 🕒 Scan History — ✅
  • 🎨 Streamlit UI — ✅
  • 📸 Documentation Screenshots — ✅

⭐ If you find the project interesting, consider giving the repository a star.

About

AI-inspired phishing and scam risk detection tool built with Python and Streamlit.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages