A comprehensive cybersecurity education and phishing simulation platform designed to help organizations train employees and protect against cyber threats.
Features β’ Quick Start β’ Documentation β’ Architecture
- Overview
- Features
- Architecture
- Quick Start
- Workflow
- API Documentation
- Troubleshooting
- Contributing
- License
TRACE (Threat Recognition And Cybersecurity Education) is a full-stack cybersecurity platform that combines:
- π Real-time Phishing Detection - Advanced analysis engine with NLP, URL reputation checking, and attachment scanning
- π Employee Training - Interactive phishing simulations and awareness programs
- π Analytics Dashboard - Comprehensive insights into organizational security posture
- π¨ SOS Alert System - Emergency reporting and response mechanism
- π€ AI-Powered Analysis - Machine learning-based threat detection and explanation
- β Multi-layered Analysis - Combines NLP, URL reputation, punycode detection, and attachment scanning
- β Realistic Simulations - Create convincing phishing campaigns for employee training
- β Comprehensive Analytics - Track clicks, devices, departments, and individual performance
- β Educational Focus - Learn from threats with detailed explanations and awareness content
- β Easy Integration - RESTful API and browser extension support
- NLP Content Analysis - Detects phishing intent using natural language processing
- URL Reputation Checking - Real-time domain and URL threat intelligence
- Punycode/Homograph Detection - Identifies deceptive domain names (e.g.,
microsft.com) - Sender Analysis - Detects email spoofing and suspicious sender patterns
- Attachment Scanning - Analyzes file attachments for malware indicators
- Threat Scoring - Comprehensive risk assessment with detailed breakdown
- Email Simulations - Send realistic phishing emails to employees
- SMS Simulations - Test employee awareness via SMS phishing
- QR Code Simulations - Generate QR codes with tracking links
- Custom Templates - Pre-built templates (banking, tech support, invoices, etc.)
- Real-time Tracking - Monitor who clicks, when, and from which device
- Department Analytics - Group results by department for targeted training
- Company Management - Multi-company support with authentication
- Employee Database - Add, manage, and track employees
- Department Grouping - Organize employees by department and industry
- Performance Tracking - Individual and team security awareness metrics
- Click Tracking - Real-time monitoring of simulation clicks
- Device Information - Track device type, OS, and browser
- Geographic Data - IP address tracking and analysis
- Time-based Analytics - Click patterns and trends over time
- Department Reports - Compare security awareness across departments
- Visualizations - Charts and graphs for easy data interpretation
- Educational Content - Interactive learning modules
- Phishing Types - Comprehensive guide to different phishing techniques
- Best Practices - Security tips and best practices
- Phishing Genome - Visual representation of phishing attack patterns
- Real-time Explanations - AI-powered threat explanations
- Emergency Reporting - Quick threat reporting mechanism
- Real-time Alerts - Immediate notification system
- Threat Response - Rapid response to security incidents
- QR Scanner - Scan and analyze QR codes for threats
- Link Verification - Check embedded URLs before redirect
- Real-time Detection - Instant threat identification
- Multi-channel Support - Email, SMS, and QR code analysis
- Sandbox Environment - Safe attachment analysis
- Blacklist Integration - Real-time threat intelligence
- Machine Learning - Adaptive threat detection
- Browser Extension - Real-time email verification (optional)
- RESTful API - Complete API for integration
- Database Storage - SQLite for data persistence
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β TRACE Platform β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β Frontend β β Backend β β Extension β β
β β (React) ββββββ€ (Node.js) ββββββ€ (Browser) β β
β β Port:5173 β β Port:5001 β β (Optional) β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β β β
β β β β
β βΌ βΌ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Analysis Engine β β
β ββββββββββββ¬βββββββββββ¬βββββββββββ¬βββββββββββββββββββ€ β
β β NLP β URL β Sender β Attachment β β
β β Analysis β Reputationβ Analysis β Scanning β β
β ββββββββββββ΄βββββββββββ΄βββββββββββ΄βββββββββββββββββββ β
β β β
β βΌ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Database (SQLite) β β
β β - Campaigns - Recipients - Analytics - Users β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Pages: Home, Analyze, Simulation, Dashboard, Awareness, Login
- Components: Analysis UI, Simulation Manager, Analytics Dashboard, QR Scanner
- State Management: React Context API
- Styling: Tailwind CSS, Framer Motion for animations
- 3D Visualizations: React Three Fiber
- API Routes: RESTful endpoints for all operations
- Analysis Modules: NLP, URL checking, sender analysis, attachment scanning
- Database: SQLite with better-sqlite3
- Services: Email (SMTP), SMS, QR code generation, threat intelligence
- Middleware: Authentication, error handling, logging
- NLP Module: Phishing intent detection using lexicons
- URL Module: Domain reputation, blacklist checking, punycode detection
- Sender Module: Email spoofing detection, header analysis
- Attachment Module: File type analysis, sandbox integration
- Scoring System: Weighted threat scoring algorithm
- Node.js (v18 or higher)
- npm or yarn
- Git
1. User submits email for analysis
β
2. Backend receives request
β
3. Analysis Engine processes:
βββ Sender Analysis (headers, spoofing)
βββ URL Reputation (domain, blacklists)
βββ Punycode Detection (homographs)
βββ NLP Analysis (content intent)
βββ Attachment Scanning (file analysis)
β
4. Calculate threat score
β
5. Generate detailed report
β
6. Return results to frontend
β
7. Display analysis with explanations
1. Admin creates simulation campaign
β
2. Select recipients and template
β
3. Generate unique tracking tokens
β
4. Send emails/SMS/QR codes
β
5. Employee receives simulation
β
6. Employee clicks link
β
7. Track click event:
βββ Record timestamp
βββ Capture device info
βββ Log IP address
βββ Store in database
β
8. Show phishing awareness page
β
9. Update analytics dashboard
β
10. Generate reports
Input: Email data
β
βββββββββββββββββββββββββββββββββββββββ
β Analysis Pipeline β
βββββββββββββββββββββββββββββββββββββββ€
β 1. Parse email headers β
β 2. Extract URLs and attachments β
β 3. Analyze sender information β
β 4. Check URL reputation β
β 5. Detect punycode/homographs β
β 6. Process content with NLP β
β 7. Scan attachments β
β 8. Calculate threat scores β
β 9. Generate evidence and flags β
βββββββββββββββββββββββββββββββββββββββ
β
Output: Threat analysis report
POST /api/analyze- Analyze phishing emailPOST /api/analysis/explain- Get AI explanation of threat
POST /api/simulation/send- Send phishing simulationGET /api/simulation/phished- Get phished recipientsGET /api/simulation/phished/all- Get all phished detailsGET /api/simulation/phished/by-department- Get department statisticsGET /t/:token- Track click (public endpoint)
GET /api/dashboard/stats- Get dashboard statisticsGET /api/dashboard/analytics- Get analytics data
POST /api/auth/login- LoginPOST /api/auth/register- Register companyGET /api/auth/me- Get current user
GET /api/awareness/content- Get awareness content
// Analyze email
POST /api/analyze
Content-Type: application/json
{
"subject": "Urgent: Verify your account",
"body": "Click here to verify your account...",
"fromHeader": "noreply@example.com",
"urls": ["https://example.com/verify"],
"attachments": []
}{
"success": true,
"threatScore": 85,
"analysis": {
"sender": { "score": 70, "flags": ["suspicious_domain"] },
"url": { "score": 90, "flags": ["shortener_domain"] },
"nlp": { "score": 85, "flags": ["urgency", "authority"] },
"punycode": { "score": 0, "flags": [] },
"attachment": { "score": 0, "flags": [] }
},
"explanation": "This email exhibits multiple phishing indicators..."
}- Check if port 5001 is already in use
- Verify Node.js version (v18+)
- Check
.envfile configuration
- Verify SMTP credentials in
.env - Check firewall settings
- Ensure SMTP port is open (587 for TLS)
- Verify
TRACE_PUBLIC_URLin.env - Check if server is running
- Ensure firewall allows port 5001
- Verify employees are on same network (for local IP)
- Check database file permissions
- Verify database path in
.env - Ensure SQLite is properly installed
- Check API endpoint connectivity
- Verify analysis modules are loaded
- Check console for error messages
- Check TROUBLESHOOTING.md for detailed solutions
- Review NETWORK_ACCESS.md for network setup
- Check SMS_SETUP.md for SMS configuration
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow existing code style
- Add tests for new features
- Update documentation
- Ensure all tests pass
- Follow semantic versioning
This project is licensed under the MIT License - see the LICENSE file for details.
- Open Source Community - For amazing tools and libraries
- Security Researchers - For threat intelligence and insights
- Contributors - For improvements and bug fixes
For support, email lavish.dev.work@gmail.com or open an issue on GitHub.
- Advanced ML models for threat detection
- Real-time collaboration features
- Mobile app for iOS and Android
- Integration with SIEM systems
- Advanced reporting and exports
- Multi-language support
- Custom threat intelligence feeds
- Automated response workflows
Made with β€οΈ by the TRACE Team