Sumama-Jameel/scam-intelligence-network

GitHub: Sumama-Jameel/scam-intelligence-network

统一威胁情报聚合 API,通过单一端点并行查询 10+ 外部情报源与 143 万条本地记录,对 URL、邮件、电话和加密货币地址进行综合诈骗风险分析。

Stars: 0 | Forks: 0

# Scam Intelligence Network [![Python 版本](https://img.shields.io/badge/Python-3.9%2B-3776AB?logo=python&logoColor=white)](https://python.org) [![许可证: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![FastAPI](https://img.shields.io/badge/FastAPI-009688?logo=fastapi&logoColor=white)](https://fastapi.tiangolo.com) [![测试](https://img.shields.io/badge/Tests-63%20passing-brightgreen)](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, 反欺诈, 威胁情报, 开发者工具, 无后门, 计算机取证, 请求拦截, 逆向工具