Saishiva00/Threat-Intelligence-Dashboard

GitHub: Saishiva00/Threat-Intelligence-Dashboard

基于Python和Streamlit构建的威胁情报聚合仪表板,从多个公开情报源实时获取IOC数据和CVE信息并提供可视化分析。

Stars: 0 | Forks: 0

# 🛡️ 威胁情报仪表板 一个真实的网络安全项目,从多个公开情报源聚合实时威胁情报数据,并在交互式 Web 仪表板中展示。 基于 Python + Streamlit 构建。非常适合网络安全岗位简历的项目。 ## 🎯 功能 | 功能 | 描述 | |---|---| | **实时 IOC 情报源** | 从 AbuseIPDB、OTX 和 URLhaus 获取恶意 IP、域名和哈希值 | | **IP 信誉检查器** | 输入任意 IP 以获取完整的威胁报告 | | **CVE 情报源** | 来自 NVD/NIST 的最新漏洞 | | **可视化分析** | 交互式图表:柱状图、时间轴、世界地图、饼图 | | **导出** | 将 IOC 下载为 CSV 文件 | | **搜索与过滤** | 按类型、来源和关键字过滤 IOC | ## 🗂️ 项目结构 ``` threat-intel-dashboard/ ├── app.py ← Main Streamlit app (UI + navigation) ├── fetcher.py ← API integrations (AbuseIPDB, OTX, URLhaus, NVD) ├── database.py ← SQLite database functions ├── visualizations.py ← Plotly chart functions ├── requirements.txt ← Python dependencies └── README.md ``` ## ⚙️ 安装说明 ### 步骤 1 — 克隆项目 ``` git clone https://github.com/yourusername/threat-intel-dashboard.git cd threat-intel-dashboard ``` ### 步骤 2 — 创建虚拟环境 ``` # Windows python -m venv venv venv\Scripts\activate # macOS/Linux python3 -m venv venv source venv/bin/activate ``` ### 步骤 3 — 安装依赖 ``` pip install -r requirements.txt ``` ### 步骤 4 — 获取免费 API 密钥 | API | 获取位置 | 链接 | |---|---|---| | AbuseIPDB | 免费注册 → My Account → API | https://www.abuseipdb.com | | AlienVault OTX | 免费注册 → 个人资料中的 API Key | https://otx.alienvault.com | | URLhaus | 无需密钥 | — | | NVD CVE | 无需密钥 | — | ### 步骤 5 — 设置您的 API 密钥 **选项 A — 环境变量(推荐):** ``` # Windows set ABUSEIPDB_API_KEY=your_key_here set OTX_API_KEY=your_key_here # macOS/Linux export ABUSEIPDB_API_KEY=your_key_here export OTX_API_KEY=your_key_here ``` **选项 B — 直接编辑 fetcher.py(仅供测试):** ``` ABUSEIPDB_API_KEY = "paste_your_key_here" OTX_API_KEY = "paste_your_key_here" ``` ### 步骤 6 — 运行应用 ``` streamlit run app.py ``` 在浏览器中打开:**http://localhost:8501** ## 🚀 使用方法 1. 点击侧边栏中的 **"🔄 Fetch All Feeds"** 以加载威胁数据 2. 点击 **"🌐 URLhaus"** 获取即时数据(无需 API 密钥) 3. 浏览 **IOC Browser** 以搜索特定的 IP/域名 4. 使用 **IP Reputation Checker** 调查可疑 IP 5. 查看 **CVE Feed** 了解最新漏洞 6. 查看 **Visual Analytics** 获取图表和世界地图 ### 测试 IP ``` 185.220.101.45 ← Known malicious (Tor exit node) 45.83.193.218 ← Known C2 server 8.8.8.8 ← Google DNS (should be clean) 1.1.1.1 ← Cloudflare DNS (should be clean) ``` ## 🏗️ 架构 ``` User (Browser) │ ▼ Streamlit (app.py) ← Web UI layer │ ├── fetcher.py ← Calls external APIs │ ├── AbuseIPDB API │ ├── AlienVault OTX API │ ├── URLhaus API │ └── NVD CVE API │ ├── database.py ← SQLite storage │ └── threat_intel.db │ └── visualizations.py ← Plotly charts ``` **数据流:** 1. 用户点击 "Fetch" → `fetcher.py` 调用 API 2. 解析并清理 API 的 JSON 响应 3. IOC 数据存储在 `threat_intel.db` (SQLite) 中 4. 仪表板从 DB 读取数据,并通过 Plotly 渲染图表 5. 用户可以搜索、过滤、导出 ## ☁️ 免费部署 (Streamlit Cloud) 1. 将您的项目推送到 GitHub 2. 前往 **[share.streamlit.io](https://share.streamlit.io)** 3. 连接您的 GitHub 账户 4. 选择您的仓库并将 `app.py` 设置为主文件 5. 在 **Advanced Settings → Secrets** 下,添加: ABUSEIPDB_API_KEY = "your_key" OTX_API_KEY = "your_key" 6. 点击 **Deploy** — 您的应用将在 2 分钟内上线! ## 🛠️ 技术栈 | 技术 | 用途 | |---|---| | Python 3.10+ | 核心语言 | | Streamlit | Web 框架 / UI | | SQLite | 本地数据库 | | Requests | HTTP API 调用 | | Pandas | 数据处理 | | Plotly | 交互式图表 | ## 📄 简历描述 ## 👤 作者 Sai shiva | ECE 毕业生 | 有志向的全栈开发者 LinkedIn: www.linkedin.com/in/saishivaakula GitHub: https://github.com/Saishiva00 ## 📜 许可证 本项目为开源项目,仅供教育目的使用。 数据来源:AbuseIPDB、AlienVault OTX、URLhaus (abuse.ch)、NIST NVD
标签:AbuseIPDB, API集成, GPT, IOC聚合, IP信誉查询, Kubernetes, NIST, NVD, Plotly, Python, SOC工具, SQLite, Streamlit, URLhaus, 交互式地图, 代码示例, 仪表盘, 可观测性, 可视化面板, 威胁情报, 字符串匹配, 安全运营, 密码管理, 开发者工具, 开源安全, 恶意哈希, 恶意域名, 情报源, 扫描框架, 数据分析, 数据泄露, 无后门, 求职项目, 漏洞发现, 漏洞管理, 网络威胁, 网络安全, 访问控制, 逆向工具, 隐私保护