Sumama-Jameel/scam-intelligence-network
GitHub: Sumama-Jameel/scam-intelligence-network
统一威胁情报聚合 API,通过单一端点并行查询 10+ 外部情报源与 143 万条本地记录,对 URL、邮件、电话和加密货币地址进行综合诈骗风险分析。
Stars: 0 | Forks: 0
# Scam Intelligence Network
[](https://python.org)
[](LICENSE)
[](https://fastapi.tiangolo.com)
[](tests/)
**威胁情报领域的 OpenRouter。只需一个 API 即可对 URL、电子邮件、电话号码和加密货币地址进行查验,数据源涵盖 10 多个平台、143 万条本地记录以及 LLM 分析。**
## 解决的问题
仅 2025 年,美国因全球网络犯罪造成的损失就高达 208 亿美元。这比上一年增长了 26%(FBI IC3 2025 年度报告)。
情况还在恶化:
- **网络钓鱼** 在 2025 年发生了 380 万次攻击(APWG)。损失在一年内增加了两倍,达到 2.158 亿美元。每秒会发出 39,000 封钓鱼邮件。
- **电话诈骗** 在 2023 年导致美国成年人损失 254 亿美元。5600 万美国人遭受了经济损失。这占到了成年人口的 21%(Truecaller 2024)。
- **加密货币欺诈** 在美国造成了 113.6 亿美元的损失。共有 181,565 起投诉。受害者平均损失为 62,604 美元(FBI IC3 2025)。
- **商业电子邮件入侵 (BEC)** 产生了 30.4 亿美元的损失,来自 24,768 起投诉。每起事件平均损失 123,000 美元(FBI IC3 2025)。
- **在全球范围内**,加密货币诈骗损失估计达到 170 亿美元(Chainalysis 2026)。
- **52% 的诈骗受害者现在会遭受经济损失**,是 2025 年的两倍多(F-Secure 2026)。
- **56% 的人** 每月至少遇到一次诈骗企图(F-Secure 2026)。
真正的问题在于数据碎片化。要检查一封可疑邮件,你需要使用 Have I Been Pwned 查泄露、EmailRep.io 查信誉、IPQualityScore 查欺诈评分、检查 DNS 以及查询违规目录。要检查一个 URL,你需要 VirusTotal、AbuseIPDB、URLhaus、URLScan.io 和 WHOIS。每一个都有不同的 API key、不同的速率限制、不同的响应格式和不同的定价。
这意味着你需要学习、集成和维护 10 多个 API:
| 数据源 | API Keys | 速率限制 | 响应格式 | 覆盖范围 |
|---|---|---|---|---|
| VirusTotal | 1 | 免费 4次/分钟 | JSON, 自定义 | URL/文件 |
| AbuseIPDB | 1 | 免费 1,000次/天 | JSON | IP 地址 |
| URLhaus | 0 | 无限制 | CSV/JSON | 恶意 URL |
| URLScan.io | 1 | 免费 50次/天 | JSON | URL 行为 |
| IPQualityScore | 1 | 免费 50次/天 | JSON | 邮件/电话/IP |
| Have I Been Pwned | 1 | 基于 Key | JSON | 邮件泄露 |
| EmailRep.io | 1 | 免费 10次/分钟 | JSON | 邮件信誉 |
| Ethplorer | 1 | 基于 Key | JSON | 加密货币地址 |
| BlockCypher | 1 | 免费 3次/秒 | JSON | 区块链数据 |
| BreachDirectory | 1 | 基于 Key | JSON | 泄露历史 |
| WHOIS | 0 | 不定 | 纯文本 | 域名注册 |
| Groq (LLM) | 1 | 基于 Key | JSON | AI 分析 |
十二个不同的集成需要你去构建、监控和维护。
**Scam Intelligence Network 是威胁情报的 OpenRouter。** 一个 API key。一个 POST 请求。一种响应格式。我们会并行调用每一个数据源,通过带有基于规则的覆盖机制的加权裁决引擎整合它们的信号,并返回单一的结果。此外,还有 143 万条本地威胁记录可用于即时离线检测,完全跳过所有网络调用。基于 MIT 协议开源。
## 我们需要什么
## 快速开始
```
# Clone
git clone https://github.com/Sumama-Jameel/scam-intelligence-network.git
cd scam-intelligence-network
# Configure
cp .env.example .env
# 使用可选的 API keys 编辑 .env(没有它们也可以离线工作)
# Docker(推荐)
docker-compose up -d
# 检查健康状态
curl http://localhost:8000/health
# 分析 URL
curl -X POST http://localhost:8000/analyze \
-H "X-API-Key: your-key" \
-H "Content-Type: application/json" \
-d '{"input": "https://example.com", "input_type": "URL"}'
# 分析电子邮件
curl -X POST http://localhost:8000/analyze \
-H "X-API-Key: your-key" \
-H "Content-Type: application/json" \
-d '{"input": "suspicious@example.com", "input_type": "EMAIL"}'
```
或者使用 CLI:
```
pip install -r requirements.txt
python main.py "https://suspicious-phishing-page.com"
```
## 功能
- **四种分析器,一个 API。** 通过单一的 POST /analyze 端点支持 URL、邮件、电话和加密货币。每种输入类型的响应格式相同。
- **143 万条本地威胁记录。** 域名索引(133 万+ 条)、钓鱼域名(39.1 万)、诈骗 URL(46.8 万)、电话号码(3.5 万+)、加密货币地址(4,500+)。检查耗时不到 10ms。如果目标匹配到本地黑名单,分析会立即返回并跳过所有外部 API 调用。这每次查询可节省约 6 秒。
- **10+ 外部情报源。** VirusTotal、AbuseIPDB、URLhaus、URLScan.io、IPQualityScore、Have I Been Pwned、EmailRep.io、Ethplorer、BlockCypher、BreachDirectory。所有检查均通过 asyncio.gather() 并行运行。
- **LLM 驱动的裁决。** Groq API 生成带有置信度评分的结构化威胁分析。可选功能,默认关闭。仅发送匿名的威胁数据。
- **带有基于规则覆盖的裁决引擎。** 跨所有检查结果的加权综合评分。决策树规则会根据条件(本地黑名单 TIER_1 匹配、关键 VT 检出、3+ 威胁数据源)升级为 CRITICAL 或 HIGH RISK。分级置信度上限:HIGH 为 100%,MEDIUM 为 65%,LOW 为 40%。
- **熔断器。** 每个API 故障隔离并自动恢复。如果 VirusTotal 宕机,它不会影响 AbuseIPDB 或任何其他服务。
- **SQLite 缓存。** 按服务设定基于 TTL。URL 缓存持续 24 小时。邮件缓存持续 30 天。分析缓存持续 90 天。条目经过 HMAC 签名以保证完整性。
- **质量门禁。** 数据质量评分可防止置信度低于 20% 的裁决。分为三个等级:HIGH (80%+)、MEDIUM (50%+)、LOW (20%+)。
- **带有完整 middleware 堆栈的 FastAPI REST API。** 速率限制、基于 SQLite 且使用 SHA-256 哈希 key 的身份验证、CORS、安全标头、关联 ID、Prometheus 指标。
- **缓存预热。** 在启动时使用已知的安全域名和已知的威胁预先填充缓存。
- **分析数据库。** 每次分析都会持久化到本地 SQLite 数据库以进行历史追踪。
- **Docker 部署。** 单容器。1GB 内存,1 CPU。可在 Oracle Cloud Free Tier 上运行。
- **具备商业化条件。** 分级计划(TRIAL、SME、ENTERPRISE)。Payoneer 支付流程。按 key 的使用配额。
- **CLI 工具。** 无需 API 即可进行单命令分析。
- **垂直切片架构。** 添加新的分析器类型只需创建一个文件夹、一个配置文件和一个分析器类。无需重构现有代码。
## 架构
```
+---------------------------------------------+
| SCAM INTELLIGENCE NETWORK |
| |
| +-----------+ +-----------+ |
| | REST | | CLI | |
| | (FastAPI)| | (main.py) | |
| +-----+-----+ +-----+-----+ |
| | | |
| +-----v-----------------v-----+ |
| | ANALYZER LAYER | |
| | URL | Email | Phone | Crypto| |
| | Validates, orchestrates, | |
| | formats output | |
| +-----+-------+-------+------+ |
| | | | |
| +-----v--------v-------v------+ |
| | SERVICE LAYER | |
| | VT | AbuseIPDB | URLhaus | |
| | HIBP | IPQS | Groq | ... | |
| | All checks in parallel | |
| +-----+----------------------+ |
| | | |
| +-----v-----------------v-----+ |
| | INFRASTRUCTURE LAYER | |
| | SQLite cache | Circuit | |
| | Breaker | DI Container | | |
| | Quota Manager | Timeout | |
| +-----+----------------------+ |
| | | |
| +-----v-----------------v-----+ |
| | LOCAL THREAT DATA | |
| | 1.43M entries across | |
| | domains, phones, crypto | |
| | Loaded at startup | |
| +-----------------------------+ |
| |
| Security: Input validation per type |
| Integrity: HMAC cache, SHA-256 keys |
| Resilience: Circuit breakers + fallbacks |
+---------------------------------------------+
```
**10 阶段流水线:** 验证输入 -> 本地黑名单检查 -> 并行外部检查 -> 缓存查找 -> 熔断器门禁 -> 质量评分 -> 裁决引擎 -> LLM 推理 -> 分析持久化 -> 格式化响应。
**分析器详情:**
| 分析器 | 本地检查 | 外部 API | 检测覆盖范围 |
|---|---|---|---|
| **URL** | 133万 域名索引,46.8万 诈骗 URL,39.1万 钓鱼域名 | VT, AbuseIPDB, URLhaus, USI, WHOIS | 钓鱼、恶意软件、域名仿冒、诈骗页面 |
| **Email** | 193 个黑名单邮件,DNS 模式 | HIBP, 违规目录, DNS, 域名信誉, 一次性检查, IPQS 欺诈评分 | 泄露、垃圾邮件、一次性域名、DNS 滥用 |
| **Phone** | 3.5万 美国号码,16 个英国号码,24 个法国号码 | 运营商查询、VOIP 检测、地理验证、信誉、活动检查 | 骚扰电话、伪造来电、电话营销欺诈、VOIP 滥用 |
| **Crypto** | 4,500 诈骗地址,3.3万 YAML 诈骗记录 | Ethplorer, BlockCypher, 钱包分析 | 虚假 ICO、勒索软件钱包、OFAC 制裁地址、钓鱼钱包 |
## 竞品对比
没有其他统一的威胁情报 API 能够覆盖全部四个维度。
| 工具 | URL | Email | Phone | Crypto | 本地数据库 | LLM | 自托管 | 开源 |
|---|---|---|---|---|---|---|---|---|
| **SIN** | **是** | **是** | **是** | **是** | **143万** | **是** | **是** | **是** |
| isMalicious | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
| IPQualityScore | 是 | 是 | 是 | 否 | 否 | 否 | 否 | 否 |
| AlienVault OTX | 是 | 否 | 否 | 否 | 否 | 否 | 否 | 否 |
isMalicious 涵盖了 URL 和域名,但不支持邮件、电话或加密货币。IPQualityScore 涵盖了邮件、电话和 IP,但不支持加密货币且是闭源的。AlienVault OTX 通过 pulse 共享威胁数据,但仅涵盖 URL 和域名。
这些已经是目前最接近统一 API 的产品了。它们中没有任何一个能覆盖全部四个维度。没有一个是开源的。也没有任何一个拥有用于离线检测的本地威胁数据库。
Scam Intelligence Network 是唯一一个将 URL、邮件、电话和加密货币分析与 143 万条本地记录、LLM 推理、熔断器以及完全自托管相结合的产品。基于 MIT 协议开源。零供应商锁定。
## 安全模型
| 层级 | 机制 |
|---|---|
| **输入验证** | 按类型进行格式检查。邮件使用 RFC 5322。URL 解析。通过 Google 的 phonenumbers 库进行电话解析。加密货币地址使用 Base58Check。 |
| **本地黑名单** | 143 万条条目,检查耗时不到 10ms。命中 TIER_1 以 95% 的置信度返回。提前退出每次查询可节省约 6 秒。 |
| **API 身份验证** | SHA-256 哈希处理的 API keys。SQLite 支持的存储。每个 key 的分级速率限制。 |
| **速率限制** | 基于 IP 的滑动窗口。每个 key 的每日配额。可配置的限制。 |
| **缓存完整性** | HMAC 签名的 SQLite 条目。读取时进行篡改检测。 |
| **熔断器** | 每个API 故障隔离。冷却后自动恢复。无级联故障。 |
| **LLM 隐私** | 仅向 Groq 发送匿名的威胁上下文。无金额、无个人数据、无完整输入字符串。BETA_MODE 标志控制 LLM 的使用。 |
| **上传验证** | 5 层:文件名清理、扩展名检查、大小限制、MIME 类型、魔数验证。 |
| **响应标头** | HSTS、X-Content-Type-Options、X-Frame-Options、CSP、Permissions-Policy。 |
| **Docker 隔离** | 单容器。1GB 内存上限。无主机网络访问权限。 |
| **质量门禁** | 低于 20% 数据质量的裁决将被拦截。三级置信度上限可防止在数据稀疏时过度自信。 |
| **分析存储** | 仅限本地 SQLite。无外部数据共享。 |
## 项目结构
```
scam-intelligence-network/
├── analyzers/ # Analysis orchestration
│ ├── base.py # Abstract BaseAnalyzer (template method)
│ ├── url_analyzer.py # URL threat detection
│ ├── email_analyzer.py # Email threat detection
│ ├── phone_analyzer.py # Phone threat detection
│ ├── crypto_analyzer.py # Crypto address threat detection
│ ├── dispatch.py # Async dispatcher + cache layer
│ └── exceptions.py # 14 enterprise exception types
├── api/ # FastAPI application
│ ├── app.py # Main app, lifespan, routes, exception handlers
│ ├── endpoints/ # Route handlers (signup, admin, payments, etc.)
│ ├── middleware/ # Auth, rate limit, CORS, correlation ID, error handler
│ ├── auth/ # Standalone SQLite auth, RBAC
│ ├── database/ # SQLAlchemy async models
│ ├── schemas/ # Pydantic v2 validation schemas
│ ├── payments/ # Payoneer integration
│ ├── static/ # Dashboard, pricing, playground, docs HTML
│ └── subscriptions.py # Tiered plan management
├── services/
│ ├── for_url/ # VirusTotal, AbuseIPDB, URLhaus, USI, WHOIS
│ ├── for_email/ # HIBP, DNS checker, breach aggregator, email reputation
│ ├── for_phone/ # Carrier analyzer, VOIP detector, reputation checker
│ ├── for_crypto/ # Blockchain explorer, wallet analyzer
│ ├── core/ # Cache, circuit breaker, DI container, config, verdict engine
│ ├── llm/ # Prompt builder, reasoner, Groq integration
│ └── local_data/ # Domain index, address index, phone index, crypto scam DB
├── local_data/ # 1.43M+ threat intelligence entries (domains, phones, crypto)
├── config/ # Data source updater configuration
├── tests/ # 26 test files (15 modern + 11 legacy)
├── scripts/ # Deployment and data update scripts
├── data/ # Runtime SQLite databases (analytics, auth)
├── main.py # CLI entry point
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
├── pyproject.toml
└── LICENSE
```
## 测试
```
pytest tests/ --ignore=tests/e2e_full_flow.py --ignore=tests/legacy
```
跨 15 个测试文件运行 63 个测试函数,覆盖所有四种分析器、异步并发、裁决映射、缓存预热、DI 容器、本地数据服务、API 集成和审计修复验证。
```
pytest tests/ --cov=analyzers --cov=services --cov=api # with coverage report
pytest tests/ -x --ignore=tests/legacy # stop on first failure
```
## 部署
```
# Docker(推荐用于生产环境)
docker-compose up -d
# Manual(开发)
pip install -r requirements.txt
uvicorn api.app:app --host 0.0.0.0 --port 8000
```
可部署到任何 VPS、Oracle Cloud Free Tier 或本地服务器。外部威胁情报 API 是可选的。系统完全可以仅使用本地威胁数据进行离线工作。
最低要求:1GB 内存,1 CPU,Python 3.9+。
## 许可证
基于 [MIT 许可证](LICENSE)授权。
版权所有 2026 Scam Intelligence Network 贡献者。
无单次查询费用。无供应商锁定。一个 API 搞定一切。
标签:API网关, AV绕过, FastAPI, LLM分析, Python, 反欺诈, 威胁情报, 开发者工具, 无后门, 计算机取证, 请求拦截, 逆向工具