0xayb/ThreatRadar

GitHub: 0xayb/ThreatRadar

从公开威胁源聚合、标准化 IOC 并通过可视化仪表板展示的开源威胁情报平台。

Stars: 0 | Forks: 0

# 🕵️‍♂️ ThreatRadar - 开源威胁情报平台 ![Python](https://img.shields.io/badge/Python-3.11+-3776AB?style=flat&logo=python) ![FastAPI](https://img.shields.io/badge/FastAPI-0.109.0-009688?style=flat&logo=fastapi) ![React](https://img.shields.io/badge/React-18-61DAFB?style=flat&logo=react) ![Docker](https://img.shields.io/badge/Docker-Supported-2496ED?style=flat&logo=docker) ![License](https://img.shields.io/badge/License-MIT-green) **ThreatRadar** 是一个全栈威胁情报平台,从公共源聚合威胁指标,对其进行标准化处理,并通过实时网络安全仪表板进行展示。 该工具适用于: * 监控威胁态势的安全专业人员 * 执行威胁检测和分析的 SOC 分析师 * 学习威胁情报概念的网络安全学生 * 研究 IOC 模式和攻击趋势的研究人员 ## 📸 截图

Screenshot 1
Screenshot 1

Screenshot 2
Screenshot 2

## 📋 目录 - [📸 截图](#-screenshots) - [✨ 核心功能](#-key-features) - [🚀 安装](#-installation) - [🎮 使用](#-usage) - [📊 模块](#-modules) - [🔧 配置](#-configuration) - [🔍 API 端点](#-api-endpoints) - [🔐 安全说明](#-security-notes) - [📜 许可证](#-license) ## ✨ 核心功能 ### 📡 威胁情报聚合 * 从 **AlienVault OTX** 社区源实时收集 IOC * 指标的自动标准化和去重 * 支持 IP、域名、URL、文件哈希和电子邮件地址 * 基于标签的威胁分类与评分级别关联 * 无需 API 密钥的演示用回退模拟数据 ### 📊 交互式仪表板 * 带有威胁级别细分的实时统计 * 威胁级别分布图 * Feed 健康监控 * 按 IOC 类型、严重程度和关键词搜索进行高级过滤 * 60 秒轮询间隔的自动刷新 ### 📤 数据导出 * 将过滤后的 IOC 导出为 **CSV** 格式 * 将过滤后的 IOC 导出为 **JSON** 格式 * 支持导出完整数据集或过滤后的子集 ### 🐳 Docker 部署 * 使用 **Docker Compose** 单命令部署 * 预配置的后端和前端容器 * 健康检查和自动重启策略 * 基于卷的持久化存储 ## 🚀 安装 ### 前置条件 * **Docker** 和 **Docker Compose**(推荐) * 或:Python **3.11+** 和 Node.js **20+**(手动设置) * 可选:用于获取真实威胁数据的 AlienVault OTX API 密钥 ### 选项 1:Docker(推荐) ``` # 克隆 repository git clone https://github.com/0xayb/ThreatRadar.git cd ThreatRadar # 配置 environment cp config/.env.example config/.env # 编辑 config/.env 并添加你的 API key (可选) # 启动 application docker-compose up -d # Use sudo if it crashes ``` ### 选项 2:使用启动脚本 ``` # 克隆并导航到 project git clone https://github.com/0xayb/ThreatRadar.git cd ThreatRadar # 运行 startup script (检查 dependencies, 创建 config, 启动 containers) chmod +x start.sh ./start.sh ``` ### 选项 3:手动设置 **后端:** ``` cd backend # 创建 virtual environment python -m venv venv source venv/bin/activate # 安装 dependencies pip install -r requirements.txt # 配置 environment cp ../config/.env.example .env # 运行 server python -m uvicorn app.main:app --reload --port 8001 ``` **前端:** ``` cd frontend # 安装 dependencies npm install # 配置 API URL echo "VITE_API_URL=http://localhost:8001/api/v1" > .env # 运行 development server npm run dev ``` ### 验证安装 运行后,在浏览器中打开 http://localhost:5173。您应该能看到包含威胁统计和 IOC 数据的 ThreatRadar 仪表板。 **注意:** 如果没有 API 密钥,系统将显示模拟数据以供演示。将您的 AlienVault OTX 密钥添加到 `config/.env` 以获取真实的威胁情报。 ## 🎮 使用 ### 访问入口 启动后,可以通过以下地址访问 ThreatRadar: | 服务 | URL | |---------|-----| | 仪表板 | http://localhost:5173 | | API 文档 | http://localhost:8001/docs | | API 文档 | http://localhost:8001/redoc | | API 端点 | http://localhost:8001/api/v1 | ### 常用命令 ``` # 查看 container logs docker-compose logs -f # 停止 application docker-compose down # 重启 services docker-compose restart # 代码更改后重新构建 docker-compose up -d --build # 查看 container status docker-compose ps ``` ## 📊 模块 ### 1. 仪表板概览 主仪表板显示: * **统计卡片** - IOC 总数、严重/高危计数、活跃 Feed、关联 IOC、新指标(24小时) * **威胁级别图表** - IOC 严重等级的可视化分布 * **Feed 状态** - 已连接 Feed 的健康和更新状态 ### 2. IOC 表格 浏览和分析收集的指标: * 跨所有 IOC 值的全文搜索 * 按类型过滤(IP、域名、哈希、URL、电子邮件) * 按威胁级别过滤(严重、高、中、低、信息) * 可展开标签,支持点击展开功能 * 评分与威胁级别关联 ### 3. 导出系统 导出威胁数据以供外部分析: * **CSV 导出** - 兼容电子表格的格式 * **JSON 导出** - 机器可读的结构化数据 * 导出操作遵循当前激活的过滤器 ### 4. REST API 以编程方式访问所有威胁情报数据: * 支持过滤和分页的指标查询 * 获取 Feed 元数据和健康状态 * 访问聚合统计数据 * 触发手动 Feed 更新 ## 🔧 配置 ### 环境变量 在 `config/` 目录下创建一个 `.env` 文件: ``` # 复制示例 configuration cp config/.env.example config/.env ``` `config/.env` 中的关键设置: ``` # AlienVault OTX API Key (可选 - 如果为空则使用模拟数据) ALIENVAULT_OTX_API_KEY=your_key_here # Feed 更新间隔(秒) FEED_UPDATE_INTERVAL=300 # 每个 Feed 的最大 IOC 数 MAX_IOCS_PER_FEED=1000 # Logging level LOG_LEVEL=INFO ``` ### 获取 API 密钥 API 密钥是可选的。如果没有密钥,系统将运行模拟数据以供演示。 **AlienVault OTX(免费):** * 在 https://otx.alienvault.com/ 注册 * 导航至 Settings → API Integration * 复制您的 OTX Key * 将其粘贴到 `config/.env` 中 ## 🔍 API 端点 ### 获取指标 ``` GET /api/v1/indicators?types=ip&levels=critical&limit=10 ``` 查询参数:`search`、`types`、`levels`、`sources`、`limit`、`offset` ### 获取统计信息 ``` GET /api/v1/statistics ``` 返回按威胁级别、活跃 Feed 和关联指标的聚合计数。 ### 获取 Feed ``` GET /api/v1/feeds ``` 返回所有已配置 Feed 的元数据和健康状态。 ### 触发 Feed 更新 ``` POST /api/v1/feeds/update ``` 触发立即刷新所有 Feed 数据。 ### 健康检查 ``` GET /health ``` 返回服务健康状态。 ## 🔐 安全说明 * **仅限防御用途**:此工具设计用于威胁监控和安全研究 * **API 密钥安全**:切勿将包含真实 API 密钥的 `.env` 文件提交到版本控制 * **速率限制**:请遵守 AlienVault OTX API 速率限制,以免账户被暂停 * **数据敏感性**:IOC 数据可能包含敏感指标 - 请妥善处理 * **网络访问**:后端会向 AlienVault OTX 服务器发起出站 API 调用 ### 道德使用 ThreatRadar 旨在用于: * 威胁情报研究和监控 * 教育目的和网络安全学习 * 安全运营和事件响应 * 经授权的安全评估 ## 📜 许可证 本项目基于 **MIT 许可证** 授权。 **作者:** Ayoub Serarfi
标签:AMSI绕过, AV绕过, Cloudflare, DAST, DFIR, Docker, FastAPI, HTTP/HTTPS抓包, IOC聚合, IP 地址批量处理, masscan, MITRE ATT&CK, nuclei, Python, React, Syscalls, TIP, 企业安全, 失陷指标, 威胁情报平台, 威胁检测, 安全仪表盘, 安全运营中心, 安全防御评估, 密码管理, 开源安全工具, 态势感知, 恶意软件分析, 情报收集, 无后门, 漏洞研究, 网络安全监控, 网络映射, 网络测绘, 网络资产管理, 自动化攻击, 自动化防御, 请求拦截, 逆向工具, 逆向工程平台, 驱动开发