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"
}
}
### 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
```
## ⚡ 部署与托管
### 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** 精心开发,专为高风险身份验证和系统工程项目而设计。
### 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
## ⚡ 部署与托管
### 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, 反欺诈, 威胁情报, 开发者工具, 日志审计, 电子邮件验证, 网络测绘, 请求拦截