AbhiNav-3007/ThreatLens
GitHub: AbhiNav-3007/ThreatLens
一个集成多层恶意软件检测、证据保管链归档与 AI 辅助取证报告生成的数字取证分析平台。
Stars: 0 | Forks: 0
# 🛡️ ThreatLens:多层恶意软件检测与数字取证平台
[](https://www.python.org/)
[](https://opensource.org/licenses/MIT)
[](https://www.docker.com/)
[](https://prometheus.io/)
ThreatLens 是一个集成的数字取证与恶意软件分析平台,旨在捕获可疑文件、执行深度的静态和结构分析、归档威胁证据,并起草 AI 辅助的取证报告。
与严格专注于隔离和删除的传统安全软件不同,ThreatLens 是一款**威胁狩猎与事件响应工具**。它保留文件的加密完整性,构建历史证据日志,并帮助安全分析师了解攻击是*如何*运作的、存在*哪些*入侵指标 (IOCs),以及*如何*遏制威胁。
## 🏗️ 系统架构
```
graph TD
A["File Source (Upload / Directory Watcher)"]
--> B["Evidence Acquisition Layer (Metadata, Size, Epoch Time)"]
--> C["Hash Ledger Generator (MD5, SHA-1, SHA-256)"]
--> D["Analysis Engine (3-Layer Inspection)"]
subgraph Analysis Engine
D1["PE Header Feature Classifier (Random Forest ML)"]
D2["Static Signature Scanner (YARA Engine)"]
D3["Global Threat Intelligence (VirusTotal V2)"]
end
D1 & D2 & D3 --> E["Composite Threat Scoring Engine"]
E --> F["Operational Reporting & Preservation"]
subgraph Operational Reporting & Preservation
F1["Generative AI Analyst (Ollama / Gemini / OpenAI)"]
F2["Chain-of-Custody Vault (SHA-256 Renaming)"]
F3["Persistent Forensic Log (SQLite Database)"]
end
F1 & F2 & F3 --> G["DevOps Observability Dashboard (Prometheus / Grafana)"]
```
## 🎨 可视化界面导览
### 📊 1. 操作仪表盘
主控制中心显示实时遥测、威胁分布图、每日扫描趋势、平均系统威胁评分以及正在进行的活跃扫描列表。

### 🔬 2. 手动扫描器流水线
提交单个文件到多层检测流水线。分析师可以拖放可疑文件(EXE、DLL、ZIP、PDF、脚本以及其他文件类型)以启动采集扫描。

### 📁 3. 实时监控节点
选择本地系统上的任何目录以部署活跃的后台观察者。该节点会自动遍历子目录,将传入的文件加入队列,并将事件流式传输到实时控制台,同时将指标同步到 Prometheus。

### 📝 4. 取证审计报告(概览与 AI 报告)
该平台将所有的入侵指标 (IOCs)、哈希值和扫描参数汇总到一个可视化摘要面板中,该面板具有交互式标签页界面,可在可视化摘要、详细的 AI 生成的报告以及原始的 JSON 遥测 payload 之间切换。


### 🏛 5. 取证证据库
搜索、过滤和审计所有已分析的威胁。证据库维护 SHA-256 哈希值、文件分类、匹配的签名标签,以及指向加密保留的二进制文件的链接。

### 📈 6. Prometheus 可观测性指标
系统遥测通过 `/metrics` 端点动态暴露,允许 Prometheus 抓取守护进程实时抓取操作数据。

## 🌟 核心支柱
### 1. 多层威胁扫描器
* **PE 头 ML 分类器**:运行在 EMBER 数据集上训练的随机森林分类器。它检查 23 个关键的 Portable Executable (PE) 编译头(DLL 特征、节区、熵、堆栈保留区),以检测零日编译的二进制文件。
* **静态 YARA 规则**:扫描任何文件类型(脚本、文档、归档)以查找静态指标,例如进程 hollowing API 调用(`VirtualAllocEx`、`WriteProcessMemory`)、混淆的 PowerShell 下载载体、加密货币钱包路径以及 reverse shell。
* **VirusTotal 信誉**:将文件哈希值与全球威胁情报供应商进行比对,以验证已知的漏洞利用。
### 2. 综合威胁评分引擎
ThreatLens 基于加权输入计算出一个介于 `0` 和 `100` 之间的标准化威胁评分:
* **ML 分类器(最高 40 分)**:根据预测类别和概率置信度进行加权。
* **YARA 匹配(最高 30 分)**:每次签名匹配得 15 分,上限为 30 分。
* **VirusTotal 信誉(最高 30 分)**:根据检测率进行缩放。
* **风险等级分类**:
* 🔴 `60 - 100`:**恶意**
* 🟡 `20 - 59`:**可疑**
* 🟢 `0 - 19`:**安全**
### 3. AI 驱动的取证报告器
集成了三个生成式 AI endpoint 以合成安全遥测数据:
* **Ollama**:在本地连接到模型后端(如 `llama3`、`mistral` 或 `deepseek-coder`),用于离线物理隔离的分析。
* **Google Gemini Cloud API**:利用 `gemini-1.5-flash` 模型进行高级分析。
* **OpenAI 兼容 API**:与远程端点、LM Studio 或 llama.cpp 服务器链接。
* *回退方案*:如果 LLM 处于离线状态,则使用本地的基于规则的专家解析器来编写结构化报告。
### 4. 保管链归档
当处理威胁时:
1. 遥测数据将保存在 SQLite 数据库 [forensics.db](file:///d:/STUDY%20MATERIAL/PROJECTS/Digital%20forensics%20project/Malware%20detection%20and%20digital%20forensics%20platform%20using%20ML/forensics.db) 中。
2. 目标文件将被复制到一个隔离的目录 `evidence_vault/` 中。
3. 该文件将被重命名为其唯一的 SHA-256 哈希值(以保持加密完整性并防止重复)。
## 🚀 快速开始
### 安装
1. **克隆此仓库**:
git clone
cd ThreatLens
2. **创建虚拟环境**:
python -m venv venv
# Windows:
.\venv\Scripts\Activate.ps1
# Linux/macOS:
source venv/bin/activate
3. **安装依赖项**:
pip install -r requirements.txt
### 配置
在项目根目录下创建一个 `.env` 文件:
```
# VirusTotal API 配置
VIRUSTOTAL_API_KEY=your_virustotal_key_here
# Generative AI Reporting 配置
GEMINI_API_KEY=your_gemini_key_here
OPENAI_API_KEY=your_openai_key_here
```
### 运行应用程序
1. **启动本地 LLM**(如果使用 Ollama):
ollama run llama3
2. **启动 Flask 应用程序**:
python app.py
3. 在浏览器中打开 [http://localhost:5000](http://localhost:5000)。
### 部署指标 (Docker)
确保 Docker 正在运行,然后启动监控容器:
```
docker compose -f metrics/docker-compose.yml up -d
```
* **Prometheus**:[http://localhost:9090](http://localhost:9090)(从 Flask 的 `/metrics` 端点抓取数据)。
* **Grafana Dashboard**:[http://localhost:3000](http://localhost:3000)(默认登录:`admin` / `admin`)。
## 📜 鸣谢与归属
ThreatLens 集成并扩展了由 **[0xfke](https://github.com/0xfke)** 在其项目 [Malware-Detection-and-Analysis-using-Machine-Learning](https://github.com/0xfke/Malware-Detection-and-Analysis-using-Machine-Learning) 中开发的机器学习模型权重(`malwareclassifier-V2.pkl`)和 PE 特征提取逻辑。
## 📄 许可证
该项目基于 MIT 许可证授权 - 有关详细信息,请参阅 `LICENSE` 文件。
标签:AI风险缓解, DAST, Petitpotam, Python, YARA, 云资产可视化, 威胁情报, 安全调查, 开发者工具, 恶意软件分析, 数字取证, 无后门, 自动化脚本, 自定义请求头, 请求拦截, 逆向工具