Skip to content
overwrite00Public

About

Open-source email analytics platform to identify spam, phishing, and malicious content.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

29 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

400 Commits

Folders and files

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

Repository files navigation

๐Ÿ” EMLyzer

EMLyzer

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.


๐Ÿ“š Documentation Index

๐Ÿ“„ 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

โšก Quick Start

๐ŸชŸ Windows

  1. Install Python 3.13 from python.org (check "Add Python to PATH")
  2. Download and extract the project
  3. Double-click start.bat
  4. Open your browser to http://localhost:8000

๐Ÿง Linux / macOS

git clone https://github.com/overwrite00/EMLyzer.git
cd EMLyzer
chmod +x start.sh
./start.sh

Then open http://localhost:8000

โฑ๏ธ First run downloads and installs dependencies (~2-5 minutes). Subsequent runs start in seconds.


๐ŸŽฏ What It Does

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

โœจ Key Features

  • ๐Ÿ” Complete email analysis โ€” Headers, body, URLs, attachments
  • ๐Ÿง  AI-powered phishing detection โ€” Machine learning classifier (Random Forest)
  • ๐ŸŒ Multi-language support โ€” Italian ๐Ÿ‡ฎ๐Ÿ‡น and English ๐Ÿ‡ฌ๐Ÿ‡ง
  • ๐Ÿ›ก๏ธ 19 reputation services โ€” AbuseIPDB, VirusTotal, crt.sh, Shodan, and more
  • ๐Ÿ›ฐ๏ธ Threat Intelligence โ€” auto-refreshing IOC feeds, curated known-campaign patterns with backtesting, CERT-AGID bulletin board
  • ๐Ÿ“„ Editable reports โ€” Generate professional Word (.docx) documents
  • ๐ŸŽจ Modern web UI โ€” Clean, responsive interface (React 19 + Vite)
  • ๐Ÿ’พ Offline-first โ€” No cloud dependencies, local SQLite database
  • ๐Ÿ†“ Free & open-source โ€” MIT license, MIT licensed dependencies only
  • ๐Ÿš€ Fast analysis โ€” Email analyzed in seconds, not minutes
  • ๐Ÿ“ฑ Cross-platform โ€” Windows, macOS, Linux

๐Ÿ”ง Version

v0.17.3 โ€” ๐Ÿ”’ Security and correctness release: resolves the open frontend dependency advisories for Vite, source-map-js, follow-redirects and Zod; protects the URLScan diagnostic endpoint; blocks SSRF in redirect-chain analysis; anchors the bundled NLP model to a reviewed SHA-256 digest; fixes hostname extraction in reputation checks; and restores CodeQL result uploads on pull requests while pinning GitHub Actions to full commit SHAs. The suite contains 214 tests (213 pass locally and 1 optional RTFDE test is skipped).

v0.17.2 โ€” ๐Ÿ› ๏ธ Bugfix release for Outlook .msg files: recipients, SPF/DKIM/DMARC results, Message-ID, the Received chain and the other transport-header fields were silently dropped, so header scoring ran without authentication data (re-analyze older .msg analyses to recompute them); RTF-only .msg bodies (Outlook 97-2003) are now recoverable with the optional RTFDE package. Also: SQLAlchemy 2.1 with the asyncio extra, a high-severity dev-dependency advisory (brace-expansion) resolved, other dependency updates, and a repaired project-automation workflow. All 199 tests passing โœ… in CI (the one end-to-end test that needs the optional RTFDE package is skipped where it is not installed), zero regressions.

v0.17.1 โ€” ๐Ÿ› Follow-up to the Threat Intelligence release: fixed CERT-AGID bulletins not loading on first visit, added example placeholders and a collapsible mini-guide to the known-campaign form, and added a "Ri-analizza" (Re-analyze) button so an already-analyzed email can pick up a known campaign created or edited afterward. Documented the whole Threat Intelligence panel in docs/USAGE.md.

v0.17.0 โ€” ๐Ÿ›ฐ๏ธ Threat Intelligence release: automatic refresh of local IOC feeds (OpenPhish, Spamhaus, URLhaus) with a shared caching/scheduling infrastructure, a curated "Known Campaigns" system with manual CRUD, corpus backtesting, CERT-AGID bulletin board, and internal auto-learning proposals โ€” all backed by a new "Threat Intelligence" UI panel. Fixed several correctness bugs along the way (word-boundary campaign matching, dead risk_contribution weight, a spurious mega-cluster in internal clustering, JSON-less rate-limit responses) and hardened write endpoints with a local admin token; the app now binds to 127.0.0.1 by default. All 189 tests passing โœ… (1 skipped), zero regressions.

v0.16.3 โ€” ๐Ÿ“ฆ Dependency release: Updated backend (mail-parser, scikit-learn) and frontend (React, Vite, ESLint and more) dependencies, hardened the actions/checkout CI action, and reserialized the tabular phishing model with scikit-learn 1.9.1. All 124 tests passing โœ… (1 skipped), zero regressions.

v0.16.2 โ€” ๐Ÿ”’ Maintenance release: Removed the unused NLTK dependency (unpatched path traversal vulnerability), updated backend and frontend dependencies (Pydantic, Uvicorn, Axios, Vite, ESLint and more), and repaired the CI test/workflow suite. All 124 tests passing โœ… (1 skipped), zero regressions.

๐Ÿ“– See full version history โ†’ CHANGELOG.md


๐Ÿ“‹ System Requirements

  • Python 3.11โ€“3.13 (3.13 recommended โญ)
  • RAM 512 MB minimum (1 GB recommended)
  • Disk 500 MB for installation
  • Browser Chrome, Firefox, Safari, or Edge (90+)

Important

โœ… For complete requirements, see REQUIREMENTS.md


๐Ÿš€ Getting Started

1๏ธโƒฃ Install Requirements

Follow INSTALLATION.md for step-by-step instructions.

2๏ธโƒฃ Configure (Optional)

Set up optional reputation services in CONFIGURATION.md.

3๏ธโƒฃ Start Analyzing

Learn the interface in USAGE.md.

๐Ÿ’ป For Developers

Explore the API in API.md.


๐Ÿ—๏ธ Architecture

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

๐Ÿ“Š Test Suite

โœ… 122 automated tests โ€” all passing, zero technical debt

  • Unit tests for all analyzers
  • Integration tests for API routes
  • Reputation service mocking
  • CI/CD on every commit (GitHub Actions)

Run locally:

./run_tests.sh    # Linux/macOS
run_tests.bat     # Windows

๐Ÿ” Privacy & Security

  • ๐Ÿ›ก๏ธ No cloud dependencies โ€” Everything runs locally
  • ๐Ÿ”’ No telemetry โ€” Zero data collection
  • ๐Ÿ“ Local SQLite โ€” Your data stays on your machine
  • ๐Ÿ”“ Open source โ€” Fully auditable code
  • โšก Offline capable โ€” Works without internet (except reputation services)

๐Ÿค Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/your-feature)
  3. Commit changes with clear messages
  4. Push to your fork
  5. Open a Pull Request to develop branch

Note

๐Ÿ“– All PRs should target the develop branch, not main.


๐Ÿ“œ License

Distributed under the MIT License. See LICENSE for details.


๐Ÿ™‹ Support


๐Ÿ‘จโ€๐Ÿ’ป Credits

Developed by Graziano Mariella

Distributed with MIT License ยท View License


Last updated: 2026-10-25 โ† Contributing | Docs โ†’

About

Open-source email analytics platform to identify spam, phishing, and malicious content.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

29 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages