Skip to content

Latest commit

ย 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

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