sanjanamahajan2001-sys/email-intelligence-engine

GitHub: sanjanamahajan2001-sys/email-intelligence-engine

基于Go和React构建的自主企业级邮件验证与威胁情报引擎,无需第三方API即可通过SMTP握手、DNS解析和基础设施指纹识别一次性邮箱与欺诈行为。

Stars: 0 | Forks: 0

# 🛡️ 企业级邮件情报平台 一个高性能、生产级、100% 自主的邮件验证和威胁情报引擎,使用 Go 开发。该平台**无需依赖任何第三方验证 API**,通过执行实时 DNS/MX 解析、自定义 SMTP 状态机握手、自主基础设施指纹识别以及零日启发式命名检测,来识别一次性邮箱和高风险的欺诈行为。 该企业级平台提供多种交互界面:开发者友好的 REST API、先进的命令行界面 (CLI)、优质的基于终端的交互式仪表盘 (TUI),以及专为流畅的浏览器端验证设计的精美响应式 Web UI。 ## 📐 系统架构 下图展示了解耦的平台架构,说明了多个客户端界面如何与由 SQLite 持久化引擎支持的统一服务层进行通信,并与后台工作线程协同工作。 ``` graph TD %% Client Interfaces subgraph Clients ["Client Layer"] CLI["💻 CLI CLI Binary"] TUI["📊 TUI BubbleTea Dashboard"] WebUI["🌐 React Web UI Vercel"] ThirdParty["🔌 Third-Party REST Clients"] end %% Router and Service subgraph Backend ["Core API Server Go Engine"] Router["Gin HTTP Router"] Auth["JWT & Rate Limiting Middleware"] Service["Unified Validation Service"] end %% Core Components subgraph CoreEngine ["Autonomous Analysis Engine"] Syntax["1. Strict RFC 5322 Syntax Validator"] DNSMX["2. Concurrent DNS & MX Resolver"] SMTPConn["3. SMTP TCP Handshake Client"] CatchAll["4. Catch-All Fingerprint Double-Prober"] AgeTrust["5. RDAP Domain & Telemetry Age Analyzer"] Intel["6. Infrastructure Fingerprinting Engine"] end %% Storage and Async subgraph Storage ["Persistence Layer"] DB[(SQLite Database emails.db)] end subgraph AsyncWorkers ["Asynchronous Workers"] Pump["Discovery Pump Crawler"] end %% Relations CLI -->|Invokes| Service TUI -->|Invokes| Service WebUI -->|CORS HTTP POST| Router ThirdParty -->|Authenticated POST| Router Router --> Auth Auth -->|Routes to| Service Service --> CoreEngine Syntax -.-> DNSMX DNSMX -.-> SMTPConn SMTPConn -.-> CatchAll CatchAll -.-> AgeTrust AgeTrust -.-> Intel Service <-->|Reads/Writes History & Cache| DB Pump <-->|Telemetries & Syncs Seeds| DB Pump -.->|Active HTTP Probes| TargetWeb["Target Web Hosts"] ``` ## 📡 深度验证流水线 平台分析的每个电子邮件地址都会经过严格的多信号分析。该工作流专为最大化吞吐量、低延迟和高准确性而设计: ``` flowchart TD Start([Input Email]) --> CheckSyntax{1. Syntax Compliance} CheckSyntax -- Invalid --> StateInvalid([State: INVALID - Score: 0]) CheckSyntax -- Valid --> CheckCache{2. Cache Lookup} CheckCache -- Hit & Fresh (<30d) --> ReturnCached([Return Cached Scan - Active State]) CheckCache -- Miss / Stale --> DNSCheck{3. DNS / MX Resolution} DNSCheck -- No MX Records --> StateNoDNS([State: INVALID DNS - Score: <40]) DNSCheck -- MX Active --> IntelCheck{4. Infrastructure Intel} IntelCheck -- MX Match / Zero-Day Pattern --> StateDisp([State: DISPOSABLE - Score: <35]) IntelCheck -- Normal Domain --> SMTPCheck{5. SMTP Socket Connect} SMTPCheck -- Connection Refused / Port Blocked --> ScoreBlocked[SMTP Network Block Flag] --> AgeAnalysis SMTPCheck -- Greylisted (4xx) --> StateGreylist([Greylisted State]) --> AgeAnalysis SMTPCheck -- Handshake 5xx (Bounce) --> StateBounce([State: UNREACHABLE - Score: <35]) SMTPCheck -- Handshake 250 (OK) --> CatchAllCheck{6. Catch-All Double Probe} CatchAllCheck -- Accepts Random Probes --> StateCatchAll([State: CATCH-ALL - Score: <80]) CatchAllCheck -- Rejects Random Probes --> AgeAnalysis[7. Identity & Domain Age RDAP] AgeAnalysis --> AgeConflict{Identity older than Domain?} AgeConflict -- Yes (Takeover Phish) --> StateFraud([State: CRITICAL FRAUD - Score: 0]) AgeConflict -- No --> ScoreEngine[8. Reputation Scoring Engine] ScoreEngine --> Persist[9. Write to SQLite & Cache] --> End([Return Final WebValidationResponse]) ``` ## 🛠️ 完整技术栈 ### 后端引擎 (Go / 系统级) * **Go (v1.25)**:核心高性能编译语言,使用标准库网络接口。 * **Gin Gonic**:用于 API 路由的高性能 HTTP Web 框架。 * **Bubble Tea & Lipgloss (Charmbracelet)**:用于丰富控制台交互的终端用户界面组件。 * **go-sqlite3**:用于 SQLite 本地存储持久化的数据库级 CGO 封装。 * **golang.org/x/time/rate**:用于基于 IP 的 API 速率限制的标准令牌桶 实现。 ### 前端客户端 (React SPA) * **React (v19)**:用户界面构建模块。 * **Vite**:下一代前端打包工具,用于高速本地开发和优化的生产环境构建。 * **Vanilla CSS**:优质定制响应式样式,具有自定义参数、玻璃拟态 和硬件加速动画。 ### 数据库 Schema * **`scans`**:追踪完整的历史验证记录、原始 SMTP 服务器日志、客户端审计(IP、User Agent)以及执行指标。 * **`disposable_domains`**:被拦截的一次性邮箱服务的自主动态存储库。 * **`disposable_mx_signatures`**:一次性邮件中心服务器的指纹(例如 `mail.mailinator.com`)。 ## 🚀 关键架构特性 ### 1. 自主情报与发现泵 该平台没有依赖那些静态的、很快就会过时的一次性邮箱域名文本文件,而是采用了一个自学习循环: * **MX Hub 指纹识别**:通过根邮件服务器记录 (MX host) 识别一次性邮箱网络。如果轮换域名解析到了 Mailinator 或 EmailOnDeck 的服务器节点,它会被立即标记为一次性邮箱。 * **零日名称启发式算法**:自定义正则表达式模式匹配,可在活跃记录被收录前检测到全新的临时邮箱名 (`tempmail-xyz.com`)。 * **递归子域名信誉**:信誉评分从父级级联向下传递(`test.sub.mailinator.com` 匹配 `mailinator.com`)。 * **后台爬虫**:一个具备遥测感知能力的工作节点,会主动爬取外部种子源和实时验证流量,使用高速并行工作节点 (`goroutines`) 探测域名,并将新的一次性邮箱模式保存到 SQLite 中。 ### 2. 高保真 SMTP 握手 * 自定义 socket 连接超时可防止线程挂起。 * **灰名单检测**:捕获瞬态 `4xx` SMTP 响应,返回清晰的状态,而不会将账户错误地标记为永久失败。 * **软退回配额过滤器**:检测 `5.2.2 Mailbox Full` 超额错误,保持身份标记为有效,但标记邮件系统状态异常。 ### 3. 身份与域名年龄验证 * 利用后台 RDAP (Registration Data Access Protocol) 检查来获取域名年龄。 * **冲突预防警报**:如果用户身份注册日期早于当前域名的创建时间戳,则会标记为网络钓鱼或域名劫持企图。 ## 📡 API 参考 ### 1. 公开验证演示 (限流) 由 Web 前端界面直接调用以进行即时检查。 * **Endpoint**:`/v1/public-validate` * **Method**:`POST` * **Header**:`Content-Type: application/json` * **Body**: { "email": "hello@github.com" } * **Response**: { "email": "hello@github.com", "is_valid": true, "authenticity_status": "Verified", "is_temporary": false, "reputation_score": 100, "recommendation": "Accept", "lifecycle_state": "ACTIVE", "engagement": { "probability": 75, "insight": "High likelihood of reply from an established infrastructure.", "factors": [ "+25: Tier-1 Infrastructure (Google/Microsoft)", "+20: Established Legacy Identity (>5 yrs)", "+10: Active Handshake (250 OK)" ] }, "detailed_info": { "dns_active": true, "smtp_deliverable": true, "smtp_response": "250 2.1.5 OK", "provider": "Google Workspace", "risk_level": "Low", "trust_level": "High", "message": "Trusted: Tier-1 Infrastructure (Google)", "domain_age_years": 30.6, "identity_age_years": 30.6, "confidence_score": 80, "has_alias": false, "base_email": "hello@github.com" } } image ### 2. 用户认证 (JWT) * **Endpoint**:`/v1/auth/login` * **Method**:`POST` * **Body**:`{"username": "admin", "password": "your-password"}` * **Response**:返回 `access_token` 和 `refresh_token`。 ### 3. 完全认证的验证 * **Endpoint**:`/v1/validate` * **Method**:`POST` * **Headers**:`Authorization: Bearer ` ## 📦 本地安装与设置 ### 环境要求 * 已安装 Go 1.25+ * GCC 编译器(用于编译 `go-sqlite3` 本地依赖项) ### 构建二进制文件 ``` # 克隆 repository git clone https://github.com//email-validator-platform.git cd email-validator-platform # 下载 dependencies go mod download # 构建 backend executables go build -o email-validator ./cmd/cli/main.go go build -o email-api ./cmd/api/main.go ``` ### 运行客户端模式 ``` # 1. 单个 Command-Line Email 检查 ./email-validator check test@gmail.com # 2. 交互式 Terminal BubbleTea Dashboard (TUI) ./email-validator interactive # 3. 同步 Discovery Pump Telemetry ./email-validator sync # 4. 启动 API Web Server ./email-api ``` image image ## ⚡ 部署与托管 ### 1. 后端服务器部署 (Docker) 该引擎使用自定义 Alpine 环境进行容器化,编译了原生 C SQLite 驱动程序。 ``` # 构建 Docker container docker build -t email-validator-api . # 运行 container(绑定 port 8080) docker run -d -p 8080:8080 \ -e JWT_SECRET="your-secure-jwt-key" \ -e SMTP_SENDER="your-email@example.com" \ --name email-validator-service \ email-validator-api ``` ### 2. 前端 Vercel 部署 将 React Web UI 立即部署到 Vercel: 1. 进入 `frontend` 文件夹。 2. 安装 Vercel CLI:`npm install -g vercel`。 3. 部署:在前端目录中运行 `vercel`,链接到您的 Vercel 账户,并在 `.env.production` 中将生产环境后端 API URL 指定为 `VITE_API_URL`。 🛡️ 由 **Sanjana Mahajan** 精心开发,专为高风险身份验证和系统工程项目而设计。
标签:EVTX分析, Go, React, Ruby工具, SMTP, Syscalls, 反欺诈, 威胁情报, 开发者工具, 日志审计, 电子邮件验证, 网络测绘, 请求拦截