Aboabdulrhman555/threat-intel-platform
GitHub: Aboabdulrhman555/threat-intel-platform
基于 FastAPI 和 Tabler UI 构建的轻量级威胁情报分析平台,通过聚合多源 API 实现 IOC 快速查询与风险评分。
Stars: 0 | Forks: 0
# 🛡️ 威胁情报平台 (TIP)
### *基于 FastAPI & Tabler UI 构建*
一个专业级平台,用于分析 **威胁指标** 并追踪网络威胁。该工具利用现代化的 **Tabler UI**,通过聚合来自多个世界级 API 的数据,提供清晰、可操作的安全情报报告。
## ✨ 功能特性
* **专业 UI:** 基于 **Tabler UI** (Bootstrap 5) 构建,提供时尚、有序且响应式的仪表板。
* **多引擎扫描:** 对 **IP 地址、域名、邮箱、文件哈希 (MD5, SHA1, SHA256)** 和 **电话号码** 进行全面分析。
* **智能风险评分:** 内置自定义引擎,评估原始情报数据并生成简化的风险百分比。
* **自动化实时源:** 每日后台与 **URLhaus** 同步,确保本地数据库更新至最新的恶意软件 URL。
* **扫描历史与分析:** 完整保存过往扫描记录,具备高级搜索、排序和筛选功能。
* **白名单管理:** 内部管理系统,用于管理受信任的指标并减少误报。
## 🛠️ 前置条件
* 已安装 **Docker** 和 **Docker Compose**。
* 以下服务的 API 密钥(免费版):
* [VirusTotal](https://www.virustotal.com/)
* [AbstractAPI](https://www.abstractapi.com/)
* [IPInfo](https://ipinfo.io/)
* [Veriphone](https://veriphone.io/)
## 🚀 快速开始
### 1. 设置环境变量
在根目录下创建一个 `.env` 文件,并填入您的凭证:
```
# Database 配置
POSTGRES_USER=user_admin
POSTGRES_PASSWORD=your_secure_password
POSTGRES_DB=threat_db
# External API Keys
VT_API_KEY=your_virustotal_key
ABSTRACT_EMAIL_KEY=your_abstract_key
IPINFO_API_KEY=your_ipinfo_key
VERIPHONE_API_KEY=your_veriphone_key
```
### 2. 启动平台
在分离模式下构建并启动容器:
```
sudo docker compose up --build
```
### 3. 预填充白名单(推荐) 🛡️
为了避免对常见服务产生误报,请运行此命令以将受信任的指标植入初始白名单:
```
sudo docker exec -it tip_db psql -U user_admin -d threat_db -c "INSERT INTO \"Whitelist\" (value, type, reason) VALUES
('8.8.8.8', 'ip', 'Google Public DNS'),
('8.8.4.4', 'ip', 'Google Public DNS Second'),
('1.1.1.1', 'ip', 'Cloudflare DNS'),
('127.0.0.1', 'ip', 'Localhost - Internal'),
('google.com', 'domain', 'Google Official Domain'),
('microsoft.com', 'domain', 'Microsoft Official Domain'),
('apple.com', 'domain', 'Apple Official Domain'),
('github.com', 'domain', 'GitHub - Source Code Hosting')
ON CONFLICT (value) DO NOTHING;"
```
### 4. 创建管理员用户(首次登录) 🔑
初始化主管理员账户以访问仪表板:
```
sudo docker exec -it tip_backend python create_admin.py
```
## 🏗️ 技术栈
* **后端:** FastAPI (Python 3.10)
* **前端:** [Tabler UI](https://tabler.io/) (Jinja2 Templates, Bootstrap 5)
* **数据库:** PostgreSQL 配合 SQLAlchemy ORM
* **安全:** Passlib (bcrypt) 用于密码哈希,JWT 用于会话管理。
* **基础设施:** Docker & Docker Compose
## 📝 安全提示
所有敏感数据(包括 API 密钥和数据库凭证)均通过环境变量进行管理。**切勿将您的 `.env` 文件提交到公共代码库。** 请确保它已列在您的 `.gitignore` 中。
标签:Ask搜索, AV绕过, Bootstrap 5, DAST, DNS枚举, Docker, Docker Compose, ESC4, FastAPI, IOC分析, IPInfo, IP地址查询, masscan, MD5, nuclei, OSINT, PostgreSQL, Python, SHA256, Tabler UI, TIP, URLhaus, VirusTotal, 仪表盘, 后端开发, 商业软件, 域名安全检测, 多引擎扫描, 失陷指标检测, 威胁情报平台, 安全情报报告, 安全防御评估, 恶意软件分析, 手机号码检测, 文件哈希分析, 无后门, 测试用例, 白名单管理, 网络威胁追踪, 网络安全工具, 自动化威胁源, 误报控制, 请求拦截, 逆向工具, 邮箱验证, 风险评分