RohitYadav16-IT/AI-Powered-Threat-Intelligence-Correlation-Engine
GitHub: RohitYadav16-IT/AI-Powered-Threat-Intelligence-Correlation-Engine
一款 AI 驱动的威胁情报关联引擎,聚合多源安全平台数据并借助 Gemini 大模型为非安全专业人士生成通俗易懂的威胁评估与建议。
Stars: 0 | Forks: 0
## 🛡️ AI 驱动的威胁情报关联引擎
本项目是一个使用 **Streamlit** 构建的概念验证 Web 应用程序,它能够关联并简化来自多个安全平台的威胁情报数据。它利用 **Google Gemini** 将复杂的安全指标(来自 VirusTotal 和 AbuseIPDB)转化为简单且可操作的建议。
其主要目标是针对文件、URL、域名和 IP 地址,为非安全专业人士提供即时、易于理解的威胁评估。
### ✨ 核心功能
* **多维度分析:** 扫描并分析四个关键威胁维度:
* **文件分析:** 上传文件扫描与信誉查询。
* **Hash 分析:** 针对现有数据库检查文件 Hash(SHA256、MD5、SHA1)。
* **URL/域名扫描:** 使用 VirusTotal 评估 Web 资源的安全性。
* **IP 信誉:** 关联来自 **VirusTotal** 和 **AbuseIPDB** 的数据以得出综合评分。
* **AI 解读:** 使用 **Google Gemini 2.5 Flash** 模型生成实时的、非技术性的总结、威胁评估以及可操作的建议。
* **性能优化:** 文件分析包含一项关键的缓存检查策略,即在上传文件之前先查询其 SHA256 Hash,从而显著提升已知文件的处理性能。
* **透明的状态跟踪:** 利用 Streamlit 的 `st.status` 容器来传达多阶段流程的进度,有效管理文件轮询以及复杂的顺序任务等长时间运行操作时的体感延迟。
### 💻 技术栈
| 类别 | 组件 | 作用 |
| :--- | :--- | :--- |
| **前端/框架** | Streamlit | 快速开发与交互式用户界面。 |
| **生成式 AI** | Google Gemini 2.5 Flash | 对原始安全数据进行解读与汇总。 |
| **威胁情报** | VirusTotal (VT) | 为文件、URL、域名和 IP 提供核心信誉数据。 |
| **威胁情报** | AbuseIPDB (AIPDB) | 补充 IP 滥用置信度评分。 |
*(`requirements.txt` 中列出的依赖项包括 `streamlit==1.39.0`、`numpy==1.26.4`、`pandas==2.2.2` 和 `scikit-learn==1.5.2`)*
### 🚀 快速开始
#### 前置条件
您将需要以下服务的 API 密钥:
1. **Google Gemini**(用于 AI 解读)
2. **VirusTotal**(用于文件、URL 和 IP 信誉)
3. **AbuseIPDB**(用于 IP 滥用置信度评分)
#### 安装与运行
1. **克隆仓库:**
git clone [Your-Repo-Link]
cd [Your-Repo-Name]
2. **安装依赖项:**
所需的包已在 `requirements.txt` 中列出。
pip install -r requirements.txt
3. **设置环境变量(关键安全步骤)**
当前的应用程序代码包含一个**严重**的漏洞,即 API 密钥被硬编码。**在运行或部署之前**,您必须建立安全的密钥管理系统。
**建议:** 移除所有硬编码的 API 密钥,并使用环境变量(或在部署时使用 Streamlit Secrets)在运行时加载凭据。
创建一个名为 `.env` 的文件,或在您的终端中设置这些变量:
export GEMINI_API_KEY="YOUR_GEMINI_API_KEY"
export VIRUSTOTAL_API_KEY="YOUR_VIRUSTOTAL_API_KEY"
export ABUSEIPDB_API_KEY="YOUR_ABUSEIPDB_API_KEY"
4. **运行应用程序:**
streamlit run security_analyzer_app.py
标签:AI安全分析, Ask搜索, IP信誉查询, Kubernetes, Streamlit, VirusTotal, 威胁情报, 安全合规, 开发者工具, 网络代理, 访问控制, 逆向工具