Skip to main content

Cymail — Email Security Scanner

Cymail is a Rust CLI that goes far beyond a basic SPF/DKIM/DMARC checker. It unifies email posture analysis, address discovery, reputation, leak telemetry, DMARC aggregate (RUA) report parsing, and email-header forensics into a single signed binary.

LanguageRust
LicenseApache-2.0
Sourcegithub.com/cybrium-ai/cymail
PlatformsmacOS · Linux · Windows
SigningWindows: Authenticode (Cybrium Inc, Azure Trusted Signing) · macOS: Apple Developer ID notarised · Linux: Sigstore (cosign keyless)
Current versionSee GitHub Releases

What's new in v0.6

SubcommandWhat it doesDefault
scanSPF / DKIM / DMARC posture + score (schema-locked for platform compat)always
discovercrt.sh + DNS SOA + pattern guessing + SMTP RCPT-TO + EmailRep.io reputationopt-in
reputationDNSBL · BIMI + VMC PKIX chain validation · DANE · DNSSEC · SPF lookup count · DKIM key hygiene · MX provider fingerprint · Sender Score · Cisco Talosopt-in
leakHIBP domain breaches · GitHub code search · lookalike-domain cert issuance · CertStream real-time --watch · DeHashed / IntelX / SnusBase (BYO key)opt-in
ruaDMARC aggregate (RUA) XML/ZIP/GZ → per-source-IP alignment rollup. Closes the dmarcian gap.opt-in
headerRFC 5322 forensics — Received-chain walk · ARC seal validation · DKIM body-hash recompute. Detects forged hops + body tampering.opt-in
attestHardware Root of Trust snapshot (TPM 2.0 · TPM 1.2 · Apple Secure Enclave). Same impl as cyweb attest.opt-in
serveEmbedded Cybrium-themed web UI for all the above. JS-free, single binary.
update / upgraderefresh threat-intel cache / self-update from signed GH Release

What it does not do

  • Cymail does not relay mail — it analyses, it doesn't deliver.
  • It does not perform DKIM signature crypto-verification yet (only body-hash recompute, which catches in-flight tampering). Full RSA/Ed25519 verify is on the roadmap.
  • It does not host or aggregate other tenants' DMARC reports — cymail rua runs locally against your own received reports.

When to use cymail vs. the Cybrium Platform

ScenarioRecommendation
One-off domain audit from your laptopcymail scan --domain example.com
Embed in a CI/CD pipeline gatecymail scan --format sarif --domain example.com
Daily reputation + leak monitoringUse the Cybrium Platform — it schedules + persists + alerts
Bulk M365 / Workspace posture reviewUse the Cybrium Platform
One-shot DMARC RUA reviewcymail rua aggregate --dir ./rua-mailbox --domain example.com
Investigate a single suspicious emailcymail header --file message.eml

Output formats

Every subcommand supports --format json | sarif | csv | html:

  • json — pretty-printed, the default for piping to jq or shipping to a SIEM
  • sarif — SARIF 2.1.0 minimal envelope, drops straight into the Cybrium Platform findings ingest pipeline
  • csv — flat CSV for spreadsheet pivot
  • html — standalone HTML report, Cybrium-themed, prints to PDF

Scoring (scan mode)

cymail scan produces a composite 0-100 score with a letter grade:

GradeScoreMeaning
A+95-100All protections enforced with reporting
A85-94Strong posture, minor improvements available
B70-84Good baseline, missing some enforcement
C50-69Significant gaps in email security
D25-49Minimal protections, high spoofing risk
F0-24No meaningful email security controls

Platform integration

The Cybrium Platform's cymail_runner.py consumes cymail directly. The cymail scan JSON shape is schema-locked across v0.1 → v0.6.5 — your backend image picks up cymail upgrades automatically without runner changes.