c1ickthelink/threat-intel-aggregator

GitHub: c1ickthelink/threat-intel-aggregator

面向金融机构的威胁情报聚合与支付欺诈评分平台,解决多源 IOC 关联与支付通道风险评估问题。

Stars: 0 | Forks: 0

# 威胁情报聚合器 — 支付欺诈版 ### IOC 查看视图 ![IOC 查看](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/c7fa5d2901091720.png) ### 支付欺诈观察列表视图 ![观察列表](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/ebab2fee16091726.png) ### 订阅源状态视图 ![订阅源状态](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/129eddec6a091731.png) 一个面向金融机构和支付平台的完整栈威胁情报订阅源聚合器。并发查询 AbuseIPDB、VirusTotal 和 AlienVault OTX,然后通过 **支付欺诈评分层** 对结果进行增强,以识别对特定支付通道、欺诈类型和合规框架的风险。 ## 架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ React Frontend (Vite · localhost:5173) │ │ ┌────────────┐ ┌──────────────┐ ┌──────────────────────┐ │ │ │ IOC Search │ │ Watchlist │ │ Feed Status │ │ │ └────────────┘ └──────────────┘ └──────────────────────┘ │ └────────────────────────┬────────────────────────────────────┘ │ HTTP (FastAPI) ┌────────────────────────▼────────────────────────────────────┐ │ Python Backend (FastAPI · localhost:8000) │ │ │ │ ┌──────────────────────────────────────────────────────┐ │ │ │ IOC Aggregator (concurrent asyncio queries) │ │ │ │ ┌───────────┐ ┌─────────────┐ ┌───────────────┐ │ │ │ │ │ AbuseIPDB │ │ VirusTotal │ │ AlienVault OTX│ │ │ │ │ └───────────┘ └─────────────┘ └───────────────┘ │ │ │ └──────────────────────────────────────────────────────┘ │ │ │ │ │ ┌───────────────────────▼──────────────────────────────┐ │ │ │ Payment Fraud Enrichment Layer (Bottomline-specific) │ │ │ │ • Payment rail risk (ACH, Wire, SWIFT, RTP, Check) │ │ │ │ • Fraud typology classification (BEC, ATO, Trojan) │ │ │ │ • Compliance flags (GLBA, PCI-DSS, Nacha 2026, AML) │ │ │ │ • Behavioral keyword scoring │ │ │ └──────────────────────────────────────────────────────┘ │ │ │ │ │ ┌───────────────────────▼──────────────────────────────┐ │ │ │ In-Memory Cache (TTL: 1 hour — swap Redis in prod) │ │ │ └──────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ``` ## 快速启动(手动) ### 1. 后端 ``` cd backend cp .env.example .env # 将您的 API 密钥添加到 .env python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt uvicorn main:app --reload # → http://localhost:8000 # → Swagger 文档: http://localhost:8000/docs ``` ### 2. 前端 ``` cd frontend npm install npm run dev # → http://localhost:5173 ``` ### 或:使用 Docker Compose(两个服务) ``` cp backend/.env.example backend/.env # 将您的 API 密钥添加到 backend/.env docker-compose up --build # 前端 → http://localhost:5173 # 后端 → http://localhost:8000 ``` ## API 密钥 — 全部免费 | 订阅源 | 注册链接 | 密钥名称 | 免费限制 | |---|---|---|---| | AbuseIPDB | https://www.abuseipdb.com/register | `ABUSEIPDB_API_KEY` | 1,000 请求/天 | | VirusTotal | https://www.virustotal.com/gui/join-us | `VIRUSTOTAL_API_KEY` | 4 请求/分钟,500/天 | | AlienVault OTX | https://otx.alienvault.com/ | `OTX_API_KEY` | 慷慨的免费层级 | 将这三个添加到 `backend/.env`。该应用支持任意组合 —— 未配置的订阅源会被优雅跳过。 ## API 端点 | 方法 | 端点 | 描述 | |---|---|---| | GET | `/api/enrich?ioc=` | 增强单个 IOC | | GET | `/api/bulk-enrich?iocs=` | 并发增强最多 10 个 IOC | | GET | `/api/feeds/status` | 订阅源运行状况与配置 | | GET | `/api/recent-iocs` | 支付欺诈观察列表 IOC | **Swagger UI:** `http://localhost:8000/docs` ## IOC 类型支持 | 类型 | 自动检测? | AbuseIPDB | VirusTotal | OTX | |---|---|---|---|---| | IPv4 | ✓ | ✓ | ✓ | ✓ | | 域名 | ✓ | ✗ | ✓ | ✓ | | MD5/SHA1/SHA256 | ✓ | ✗ | ✓ | ✓ | | URL | 通过前缀 | ✗ | ✓ | ✓ | ## 支付欺诈评分 —— 底线层 `enrichment/payment_context.py` 模块是关键差异化点。在聚合原始订阅源数据后,它对每个 IOC 进行支付欺诈相关性评分: 1. **关键词匹配** — 对 BEC、银行木马、SWIFT、ACH、内部威胁和国家威胁指示器集合进行匹配 2. **地理位置风险** — 对高风险来源国家以及 Tor/VPN 基础设施赋予更高分数 3. **类别评分** — 按支付欺诈相关性对 AbuseIPDB 高风险类别加权 4. **订阅源分数加权** — VirusTotal (40%)、AbuseIPDB (35%)、OTX 脉冲计数 (25%) 每个 IOC 的输出: - **支付风险分数**(0-100)及其等级:LOW / MEDIUM / HIGH / CRITICAL - **面临风险的支付通道** — 哪些通道(ACH、Wire、SWIFT、RTP、Check、Internal)处于暴露状态 - **欺诈类型** — BEC、账户接管、银行木马、SWIFT 欺诈、内部威胁 - **合规标志** — GLBA、PCI-DSS、Nacha 2026、BSA/AML、SOX - **推理** — 分数推导的要点说明 ## 项目结构 ``` threat-intel-aggregator/ ├── backend/ │ ├── main.py # FastAPI app, route definitions │ ├── models.py # Pydantic models for all responses │ ├── cache.py # In-memory TTL cache │ ├── feeds/ │ │ ├── aggregator.py # Orchestrates concurrent feed queries │ │ ├── abuseipdb.py # AbuseIPDB API client │ │ ├── virustotal.py # VirusTotal v3 API client │ │ ├── otx.py # AlienVault OTX API client │ │ └── feed_stats.py # Feed status endpoint │ ├── enrichment/ │ │ └── payment_context.py # Payment fraud scoring (Bottomline-specific) │ ├── requirements.txt │ ├── Dockerfile │ └── .env.example ├── frontend/ │ ├── src/ │ │ ├── components/ │ │ │ ├── SearchBar.jsx # IOC input with auto-type detection │ │ │ ├── IOCResult.jsx # Full enrichment result display │ │ │ ├── Watchlist.jsx # Payment fraud IOC watchlist │ │ │ └── FeedStatus.jsx # Feed health and setup guide │ │ ├── App.jsx │ │ ├── main.jsx │ │ └── styles.css │ ├── index.html │ ├── package.json │ ├── Dockerfile │ └── vite.config.js ├── docker-compose.yml └── README.md ``` ## 展示的技能 - **Python 异步编程** — 使用 `asyncio.gather` 并发查询订阅源 - **REST API 设计** — FastAPI 配合 Pydantic 校验与 OpenAPI 文档 - **多源威胁情报聚合** — 规范化不同的 API 响应格式 - **支付欺诈领域知识** — 与 BEC、银行木马、SWIFT 攻击相关的 IOC 上下文 - **React 前端** — 真实 API 集成、加载状态、历史记录、多标签 UI - **缓存策略** — 带缓存失效和缓存命中指示器的 TTL 缓存 - **容器化** — 使用 Docker + Compose 构建可重现的开发环境 ## 数据来源(观察列表) - [FBI IC3 2024 年度报告](https://www.ic3.gov/Media/PDF/AnnualReport/2024_IC3Report.pdf) - [CISA 告警 AA23-208A(Scattered Spider)](https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-208a) - [FS-ISAC 威胁简报](https://www.fsisac.com/resources) - [BAE Systems / SWIFT ISAC APT38 报告](https://www.swift.com/myswift/customer-security-programme-csp) - [Proofpoint 威胁情报](https://www.proofpoint.com/us/threat-reference)
标签:ACH, Ask搜索, AV绕过, FastAPI, HTTP接口, IOC聚合, Python后端, SWIFT, VirusTotal, Vite, Wire, 全栈威胁情报, 前端React, 反欺诈评分, 合规框架, 威胁情报, 实时查询, 富集工具, 并发查询, 开发者工具, 恶意软件库, 搜索引擎查询, 支付基础设施, 支付平台, 支付欺诈, 滥用IP数据库, 看板视图, 计算机取证, 请求拦截, 逆向工具, 金融安全, 金融机构, 风险监测, 馈送状态