GitHub RadarBlue team tool
Open-source email analytics platform to identify spam, phishing, and malicious content. Primary language: Python. 17 stars.
Project links:Open GitHub projectBack to radar
Open-source email threat analysis platform for identifying spam, phishing, and malicious content with precision.
EMLyzer analyzes suspicious emails by uploading .eml or .msg files, or pasting the raw source directly. In seconds, it delivers a complete report with explainable risk score, header analysis, body content assessment, URL evaluation, attachment inspection, and reputation service checks.
[!TIP]
💡 No API keys required to get started. Integrations with external services (AbuseIPDB, VirusTotal, etc.) are optional and configurable later.
---
| 📄 Document | 📝 Purpose | | ------------------------------------------- | ------------------------------------- | | 📋 REQUIREMENTS.md | System requirements and prerequisites | | 🚀 INSTALLATION.md | Step-by-step installation guide | | ⚙️ CONFIGURATION.md | Environment setup and API keys | | 📖 USAGE.md | How to use the application | | 📡 API.md | REST API reference for developers |
---
git clone https://github.com/overwrite00/EMLyzer.git
cd EMLyzer
chmod +x start.sh
./start.shThen open http://localhost:8000
⏱️ First run downloads and installs dependencies (~2-5 minutes). Subsequent runs start in seconds.
---
Email (.eml / .msg / plain text)
│
▼
┌─────────────────────────────────────────────┐
│ 📧 Header Analysis → SPF/DKIM/DMARC, │
│ identity mismatch, │
│ SMTP routing │
│ │
│ 📝 Body Analysis → phishing patterns, │
│ obfuscated links, │
│ hidden HTML, NLP │
│ │
│ 🔗 URL Analysis → direct IPs, │
│ shorteners, │
│ Punycode, domain │
│ age (WHOIS) │
│ │
│ 📎 Attachment Analysis → hashes, VBA │
│ macros, JS in PDF │
│ │
│ 🌐 Reputation Checks → AbuseIPDB, │
│ VirusTotal, │
│ OpenPhish, PhishTank
│ Shodan, URLhaus... │
└─────────────────────────────────────────────┘
│
▼
📊 Risk Score 0–100 + 📄 Editable .docx Report---
---
v0.15.1 — 🐛 Bugfix release: Campaign detection now includes visible HTML text (Silvercrest and other campaigns correctly detected), NLP score consistency fixed (both backend and frontend use standard mathematical rounding), removed duplicate emoji, cleaned debug logging. All 119 tests passing ✅, production-ready.
📖 See full version history → CHANGELOG.md
---
[!IMPORTANT]
✅ For complete requirements, see REQUIREMENTS.md
---
Follow INSTALLATION.md for step-by-step instructions.
Set up optional reputation services in CONFIGURATION.md.
Learn the interface in USAGE.md.
Explore the API in API.md.
---
| Layer | Technology | Notes | | ------------ | ------------------------------------------- | -------------------------------- | | Backend | Python 3.13, FastAPI, SQLAlchemy async | REST API + email analysis engine | | Frontend | React 19, Vite 8, no external UI libs | Responsive web dashboard | | Database | SQLite (local) | No external DB required | | Analysis | scikit-learn NLP, dnspython, beautifulsoup4 | Phishing detection + URL parsing | | Reports | python-docx | Editable Word documents |
---
✅ 119 automated tests — all passing, zero technical debt
Run locally:
./run_tests.sh # Linux/macOS
run_tests.bat # Windows---
---
Contributions are welcome! Please:
git checkout -b feature/your-feature)develop branch[!NOTE]
📖 All PRs should target the `develop` branch, not main.---
Distributed under the MIT License. See LICENSE for details.
---
---
Developed by Graziano Mariella
Distributed with MIT License · View License
---
Last updated: 2026-06-07 ← [Contributing](./CONTRIBUTING.md) | [Docs →](./docs/)