AayanSuleri/ScamVerifier
๐ก๏ธ Scam-Signal Verifier
A comprehensive web application that helps users identify potentially fraudulent messages, emails, and advertisements. Perfect for protecting students, elderly individuals, and anyone who wants to stay safe from online scams.
๐ Features
Multi-Agent Analysis System
- Claim Extractor: Parses messages for URLs, phone numbers, emails, and financial amounts
- Pattern Verifier: Analyzes content against known scam patterns and suspicious keywords
- Risk Calculator: Provides a comprehensive risk score (0-100) with clear classification
- Human-Friendly Explainer: Generates actionable recommendations and reporting templates
Detection Capabilities
- Phishing Emails: Bank, PayPal, Amazon verification scams
- Job Offer Scams: Work-from-home and "easy money" schemes
- Investment Fraud: Cryptocurrency and get-rich-quick schemes
- Lottery/Prize Scams: Fake winnings and inheritance claims
- Urgency Tactics: High-pressure language and artificial deadlines
- Suspicious Domains: Known malicious and shortened URLs
User Experience
- Clean, modern interface with gradient design
- Real-time risk assessment with color-coded results
- Pre-loaded example scams for testing
- One-click report template generation
- Mobile-responsive design
๐ Quick Start
Local Development
# Clone the repository
git clone <repository-url>
cd scam-signal-verifier
# Install dependencies
pip install -r requirements.txt
# Run the application
python app.pyDocker Deployment
# Build the image
docker build -t scam-verifier .
# Run the container
docker run -p 7860:7860 scam-verifierHugging Face Spaces
This app is optimized for Hugging Face Spaces deployment:
- Upload all files to your Spaces repository
- Set the Space to use Python/Gradio environment
- The app will automatically start on port 7860
๐ฏ How It Works
1. Message Analysis
The system extracts key information from suspicious messages:
- URLs and domain reputation
- Contact information (phone, email)
- Financial references and amounts
- Suspicious keywords and phrases
- Urgency indicators and pressure tactics
2. Risk Assessment
Multi-factor scoring algorithm considers:
- Keyword Score (0-40 points): Suspicious language patterns
- Urgency Score (0-25 points): High-pressure tactics
- Domain Risk (0-20 points): Suspicious or shortened URLs
- Contact Risk (0-10 points): Multiple contact methods
- Financial Risk (0-15 points): Money-related content
3. Classification System
- ๐ด HIGH RISK (80-100): Obvious scam, avoid completely
- ๐ก MEDIUM RISK (50-79): Suspicious, verify independently
- ๐ข LOW RISK (25-49): Minor concerns, stay cautious
- โ MINIMAL RISK (0-24): Appears legitimate
๐ Example Results
High-Risk Phishing Email
Risk Score: 95/100 - HIGH RISK
Red Flags:
๐จ Contains 6 suspicious keywords/phrases
๐จ Uses high-pressure urgency tactics
๐จ Uses suspicious domain: secure-bank-verify.net
๐จ Mentions money/financial transactions
Recommendations:
๐ซ Do NOT click any links or provide personal information
๐ง Report this message as spam/phishing
๐ก๏ธ Block the sender immediately๐ก๏ธ Safety Features
- No External API Calls: All analysis happens locally for privacy
- Educational Focus: Teaches users to recognize scam patterns
- Report Generation: Creates templates for reporting to authorities
- Multiple Examples: Pre-loaded scenarios for learning
๐ง Technical Stack
- Backend: Python Flask with modular analysis engine
- Frontend: Responsive HTML/CSS/JavaScript
- Deployment: Docker + Gunicorn for production
- Security: No data persistence, privacy-focused design
๐ฑ Mobile Support
The interface is fully responsive and works seamlessly on:
- Desktop browsers
- Mobile phones
- Tablets
- Touch devices
๐ค Contributing
This is an educational tool designed to help people stay safe online. Feel free to:
- Report bugs or issues
- Suggest new scam patterns to detect
- Improve the UI/UX design
- Add new analysis features
๐ License
Open source educational project. Use responsibly to help others stay safe from online scams.
โ ๏ธ Disclaimer
This tool is for educational purposes and general guidance. It should not be the sole method for determining if something is a scam. Always use your best judgment and consult with relevant authorities when needed.
Stay Safe Online! ๐ก๏ธ
