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.
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
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
Track scan activity with:
- Total scans
- Dangerous results
- Suspicious results
- Low-risk results
- Risk scores
- Scan type
- Scan time
- Recent scan history
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.
Message
โ
Text Normalization
โ
Keyword & Pattern Detection
โ
Urgency Analysis
โ
Credential / Financial Request Detection
โ
Combination Signal Analysis
โ
Risk Scoring
โ
Threat Classification
โ
Security Recommendation
URL
โ
URL Parsing
โ
Domain Analysis
โ
Protocol Inspection
โ
IP / Structural Checks
โ
Suspicious Keyword Detection
โ
Risk Scoring
โ
Threat Classification
- Python
- Streamlit
- Regular Expressions
- URL Parsing
- Rule-Based Risk Analysis
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
git clone https://github.com/palashgoyalatwork/Sentinel.gitcd Sentinelpip install -r requirements.txtpython -m streamlit run app.pyThe application will open in your browser.
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
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
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.
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
Palash Goyal
Built as a portfolio cybersecurity project using Python and Streamlit.
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.




