c1ickthelink/threat-intel-aggregator
GitHub: c1ickthelink/threat-intel-aggregator
面向金融机构的威胁情报聚合与支付欺诈评分平台,解决多源 IOC 关联与支付通道风险评估问题。
Stars: 0 | Forks: 0
# 威胁情报聚合器 — 支付欺诈版
### IOC 查看视图

### 支付欺诈观察列表视图

### 订阅源状态视图

一个面向金融机构和支付平台的完整栈威胁情报订阅源聚合器。并发查询 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数据库, 看板视图, 计算机取证, 请求拦截, 逆向工具, 金融安全, 金融机构, 风险监测, 馈送状态