ghostofindia05/IOCenrich
GitHub: ghostofindia05/IOCenrich
IOCenrich是一款开源的威胁情报与入侵指标提取、丰富和分析平台。
Stars: 0 | Forks: 0
# IOC enrich
**IOCenrich** 是一个现代的开源威胁情报与入侵指标(IOC)提取、丰富和分析平台。它自动化从非结构化安全报告中提取威胁指标的过程,使用领先威胁情报供应商的遥测数据进行丰富,并以美丽、交互式的分析工作空间呈现。
## 🚀 关键特性
* **自动化 IOC 提取与去武器化:** 从原始的非结构化文本中提取 IP 地址(IPv4/IPv6)、域名、URL 和哈希(MD5、SHA-1、SHA-256)。提供自动去武器化以防止意外执行/点击。
* **异步多源丰富:** 并行任务查询以下安全遥测数据:
* **VirusTotal:** 声誉、检测到的引擎数量和历史标签。
* **AbuseIPDB:** 滥用报告、置信度得分和 ISP 元数据。
* **GreyNoise:** 互联网扫描活动和扫描器分类。
* **AlienVault OTX:** 脉冲计数和威胁分类。
* **URLhaus:** 活跃恶意软件分发状态和有效载荷。
* **取证证据捕获:** 利用无头 Playwright 工作员捕获视觉截图并记录可疑 URL 的重定向链,通过可选的 Cloudflare WARP 代理安全路由以隐藏服务器身份。
* **统一威胁评分:** 基于跨供应商遥测数据的标准化算法计算威胁评分(0-100)。
* **交互式可视化:**
* **知识图谱:** 可视化提交、域名、IP 和记录之间的关系。
* **地理地图:** 交互式渐变地图,按国家绘制威胁分布。
* **生产流程工具:** 简单的单击启动脚本,用于开发和部署。
## 🏗️ 架构
```
┌─────────────────────────┐
│ Next.js Web UI │
│ (React / Tailwind) │
└────────────┬────────────┘
│
▼ (SuperTokens Auth Proxy)
┌─────────────────────────┐
│ FastAPI Backend API │
└────────────┬────────────┘
│
┌───────────────────────┴───────────────────────┐
▼ ▼
┌──────────────────┐ ┌──────────────────┐
│ PostgreSQL │ │ Redis │
│ (Relational) │ │ (Celery + Cache) │
└──────────────────┘ └─────────┬────────┘
│
▼
┌──────────────────┐
│ Celery Workers │
│ (Playwright) │
└─────────┬────────┘
│
▼
┌──────────────────┐
│ External APIs │
│ (VirusTotal, │
│ AbuseIPDB, OTX)│
└──────────────────┘
```
## 🛠️ 预先条件
* **Docker & Docker Compose**(用于运行 PostgreSQL 和 Redis 服务)
* **Python 3.11+**
* **Node.js 18+** & **npm**
## ⚡ 快速开始
我们为 Windows 和 Linux/macOS 提供统一的设置和启动脚本。
### 1. 要求设置
从根目录运行设置脚本。这将检查依赖项,初始化 Python 虚拟环境(`venv`),安装 Node.js 模块,运行 Playwright 浏览器安装,并复制默认的 `.env` 配置。
* **Windows:**
setup.bat
* **Linux / macOS:**
./setup.sh
### 2. 运行基础设施服务
使用 Docker Compose 启动数据库和 Redis 缓存:
```
docker compose up -d
```
### 3. 应用数据库迁移
在 PostgreSQL 运行时,初始化模式:
* **Windows:**
cd backend
venv\Scripts\activate
alembic upgrade head
* **Linux / macOS:**
cd backend
source venv/bin/activate
alembic upgrade head
### 4. 启动服务
#### 推荐:使用一个命令启动所有服务
您可以使用主脚本检查依赖项并自动启动所有服务器:
* **Windows:**
start-all.bat
* **Linux / macOS:**
./start-all.sh
#### 或者:在单独的会话中启动服务
打开三个终端并运行启动脚本以启动每个组件:
#### 开发模式:
| 组件 | Windows 脚本 | Linux/macOS 脚本 |
|---|---|---|
| **后端 API** | `start-backend.bat` | `./start-backend.sh` |
| **前端 UI** | `start-frontend.bat` | `./start-frontend.sh` |
| **Celery 工作员** | `start-worker.bat` | `./start-worker.sh` |
#### 生产模式:
| 组件 | Windows 脚本 | Linux/macOS 脚本 |
|---|---|---|
| **后端 API** | `start-backend-prod.bat` | `./start-backend-prod.sh` |
| **前端 UI** | `start-frontend-prod.bat` | `./start-frontend-prod.sh` |
| **Celery 工作员** | `start-worker.bat` | `./start-worker.sh` | (与 Dev 相同)
启动后,导航到:
* **Web 界面:** `http://localhost:3000`
* **交互式 API 文档:** `http://localhost:8000/docs`
## ⚙️ 配置与 API 集成
系统默认使用模拟数据即可完全功能。要启用实时供应商查找,请通过登录 Web UI 并转到 **设置** 页面来配置您的 API 密钥。
密钥使用 AES-256-GCM 封装加密在静态中使用主密钥加密,该主密钥定义在您的 `.env` 中:
* `VAULT_MASTER_KEY`:您的封装加密密钥。
* `VAULT_SALT`:用于派生的随机盐。
## 📄 许可证
本项目采用 MIT 许可证。请随意使用、修改和分发。
标签:IOC 分析, IP 地址分析, React, Sigma 规则, Syscalls, Tailwind, URLhaus, URL 分析, 可视化分析, 地理信息可视化, 域名分析, 多源数据 enrich, 威胁情报, 安全报告分析, 安全评分, 安全运营, 开发者工具, 开源平台, 异步处理, 截图捕获, 扫描框架, 数据库接管, 测试用例, 滥用IP数据库, 灰噪声, 病毒总汇, 自动化提取, 自动化攻击, 请求拦截