flexocs-lab/baz-threat-intelligence
GitHub: flexocs-lab/baz-threat-intelligence
BAZ 是一个集成16个实时情报源、覆盖 IOC 管理到 MITRE ATT&CK 映射全流程的生产级威胁情报平台。
Stars: 0 | Forks: 0
# BAZ - 威胁情报平台
BAZ 是一个生产级的威胁情报平台:提供 IOC 管理、Pulse 订阅源、
被利用的 CVE 追踪、威胁行为者画像、MITRE ATT&CK 映射、实时告警,
以及全屏 SOC 展示大屏 - 由 16 个实时情报源驱动。
## 技术栈
- **后端**:Python 3.12 / FastAPI (异步) / PostgreSQL 16 / Redis 7 / SQLAlchemy 2 async / Alembic / APScheduler / WebSocket `/ws/live`
- **前端**:React 18 / TypeScript / Vite / TailwindCSS / Framer Motion / Recharts / D3 / Zustand / TanStack Query / Leaflet
- **基础设施**:Docker Compose - `baz-api`, `baz-frontend`, `baz-postgres`, `baz-redis`, `baz-worker`, `baz-scheduler`
## 快速开始
```
cp .env.example .env # set SECRET_KEY and any source API keys
make up # build + start everything
make migrate # apply database schema
make seed # ~200 IOCs, CVEs, actors, pulses, alerts
make sync # pull live data from configured sources
```
- UI: http://localhost:3000
- API: http://localhost:8000/api/v1 - OpenAPI 文档位于 http://localhost:8000/docs
- WebSocket: ws://localhost:8000/ws/live
## 数据源
VirusTotal / AlienVault OTX / AbuseIPDB / Shodan / URLScan / MalwareBazaar / ThreatFox /
URLhaus / FeodoTracker / OpenPhish / PhishTank / CIRCL CVE / CISA KEV / NVD / Pulsedive / GreyNoise
无需密钥的订阅源(URLhaus, FeodoTracker, OpenPhish, CISA KEV, ThreatFox, MalwareBazaar, CIRCL)
开箱即用。需要密钥的数据源在将其密钥保存到 **Settings > Sources** 后便会自动激活
(密钥在静态存储时使用 Fernet 加密,并在所有 API 响应中进行脱敏处理)。
## GeoIP
从 MaxMind 下载 `GeoLite2-City.mmdb` 并将其放置在
`GEOIP_DB_PATH` 所引用的路径下(将其挂载到 api/worker 容器中)。随后,IP 指标将自动
补充国家/城市/纬度/经度信息,并为威胁地图提供数据。
## 架构说明
- 所有跨进程的实时事件(`new_ioc`、`new_alert`、`sync_progress`)都会流经
Redis pub/sub 频道 `baz:events`,并由 API 扇出(fan out)分发给 WebSocket 客户端。
- `baz-scheduler` 根据每个数据源的间隔时间将同步任务排入队列;`baz-worker` 消费
Redis 任务队列并执行同步模块。
- 每个同步模块:具备速率限制感知,会写入 `SyncLog`,发送 WS 进度,
能够抵御单条目错误,并返回 `{added, updated, errors, duration_sec}`。
标签:AV绕过, Docker Compose, FastAPI, React, Syscalls, 威胁情报, 安全运营, 开发者工具, 扫描框架, 时间线生成, 版权保护