VigilyxEmail security that is actually different under the hood.
Open-source Rust mail security gateway. Not a black box — a detection stack you can read, test, and extend.
Open-source Rust mail security gateway. Not a black box — a detection stack you can read, test, and extend.
# live verdict stream — mirror mode$ vigilyx tail --stream verdicts[SMTP] mail-01 → alice@corp · subject: "Invoice 2026-Q1"verdict: safe score 0.08 modules 0/15 dlp ok[SMTP] mx-2 → bob@corp · subject: "Account verification"verdict: medium score 0.52 modules 4/15 nlp phishing=0.71verdict: high score 0.81 ioc=sender_ip content=urgency yara=phish_01# action: quarantined · session replayable · explain trail savedLayer by layer
Pick a scenario. Scroll. Each line is a real detection Vigilyx runs against the captured email — from wire bytes to fused verdict. No stock imagery, no composite screenshot: the exact fields your engineers would see in a SOC triage.
Hover any line to see why Vigilyx flagged it.
Two independent deployment shapes
Mirror and MTA are two separate deployment shapes for two different operating models, not two phases of the same rollout. They share the same detection stack, but they are installed, operated, and evaluated independently. Run the one that matches how much of the mail path you can own.
Mirror deployment
Vigilyx receives a copy of the traffic from a mirror / SPAN port. It reconstructs SMTP, POP3, IMAP, and webmail sessions and produces verdicts after delivery. The mail path is never touched, so the detection stack can never block mail.
MTA deployment
Vigilyx runs as an SMTP relay in front of the final mail server. Every message goes through it, is inspected synchronously, and is then accepted, quarantined, or rejected before delivery. Typical inline verdict <2s, with configurable fail-open.
Under the hood
These are not marketing bullet points — each one is implemented in the repository and you can read it. We are only listing the detection surfaces where Vigilyx is meaningfully different from a typical mail gateway, not the table-stakes features every product in this space already ships.
crates/vigilyx-engine/src/fusion/murphy.rsNot weighted-sum scoring, not a black-box classifier. A proper Dempster–Shafer implementation with Murphy's weighted-average correction and Copula-based discount for correlated detectors — so same-family signals do not amplify each other, and every verdict is explainable per-engine. Built in Rust, not a wrapper around someone else's commercial library.
Why it matters: Avoids Zadeh's paradox, handles correlated evidence explicitly, and the verdict trail is explainable per-engine instead of a single mystery score.
crates/vigilyx-engine/src/temporal/CUSUM for shift detection, dual-speed EWMA for baseline drift, a marked Hawkes self-excitation process for attack-campaign tempo, a 5-state HMM that infers BEC / ATO phases (recon → trust-build → execute → exfil), plus a directed communication graph. Most mail-security products judge each email in isolation — this one doesn't.
Why it matters: Catches campaigns, slow-burn BEC, and exfil bursts that look fine one email at a time.
crates/vigilyx-engine/src/modules/aitm_detect.rsFingerprints the MFA-bypass tooling actually used in the wild from 2024 on — Tycoon2FA, EvilProxy, Evilginx3 — via DGA hosting on Cloudflare Workers / Pages, OAuth redirect_uri mismatches, Turnstile CAPTCHA toolkit fingerprints, and Latin/Cyrillic mixed-script brand homographs. This class of phishing bypasses traditional link reputation and attachment scanning entirely.
Why it matters: The reverse-proxy phishing surface is invisible to classic URL-reputation and sandbox-on-link stacks.
crates/vigilyx-engine/src/modules/html_pixel_art.rsAttackers "draw" QR codes with <table> bgcolor cells, or assemble phishing text from floated <div>s with background-color — specifically to bypass OCR and sandbox image scanning. Vigilyx reconstructs the bitmap from DOM structure and decodes with rqrr. Unicode block-character ASCII-art QR codes in body text are decoded through the same pipeline.
Why it matters: The usual "scan images with OCR" toolchain does not see these at all.
Detection flow
The product surface is intentionally opinionated: collect enough signal, keep the fusion explainable, and make the response layer auditable. That makes it easier to reduce false positives without losing the trail.
SMTP, MIME, attachment, link, header, and webmail signals are normalized into a single shape the detection engine can reason about — whether they arrive from a mirror capture or from the inline MTA proxy.
Multiple analyzers contribute evidence into a verdict pipeline with clustered D-S fusion, module-level explanations, and clear threat scoring instead of opaque labels.
Trigger alerts, quarantine, rescan, rejection, and analyst workflows without losing the original session, verdict trail, or operational context.
Product shape
The current project already covers the pieces teams usually end up stitching together manually: parsers, verdict fusion, content controls, operational workflows, and a UI that can actually be used for review.
Detection stages for content, identity, link, attachment, YARA, DLP, and verdicting.
Data-security inspection paths for sensitive content and suspicious transfer behavior.
Two independent shapes — mirror deployment for passive visibility, MTA deployment for inline enforcement. Pick one per environment.
Parsing, detection, API, sniffer, and MTA code paths stay in one performance-oriented stack.
AI support
Vigilyx can layer semantic and NLP analysis on top of deterministic detection, but the core pipeline still works when AI is disabled. That keeps operations stable while giving analysts another review lens when it is useful.
Optional NLP analysis for phishing semantics, intent, and persuasion patterns — runs on pure CPU hosts with no GPU required, and can optionally call external LLMs (Claude / OpenAI) for analyst review.
Parsing, link checks, YARA, DLP, identity analysis, and verdict fusion do not depend on any single AI model.
Turn AI on where it improves analyst productivity, not because the product would stop making decisions without it.
If you'd rather own the detection logic than rent a black box, Vigilyx is ready to run. Three commands, mirror or inline on the same engine. AGPL-3.0, no telemetry, no license server.
# 1. Clone the repo$ git clone https://github.com/HerbiusYang/Vigilyx.git$ cd Vigilyx# 2. Initialize remote build environment (one-off)$ ./deploy.sh --init# 3. Open the dashboard→ https://localhost:8088