AbhiNav-3007/ThreatLens

GitHub: AbhiNav-3007/ThreatLens

一个集成多层恶意软件检测、证据保管链归档与 AI 辅助取证报告生成的数字取证分析平台。

Stars: 0 | Forks: 0

# 🛡️ ThreatLens:多层恶意软件检测与数字取证平台 [![Python 版本](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12-blue.svg)](https://www.python.org/) [![许可证:MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Docker](https://img.shields.io/badge/docker-compose-blue.svg)](https://www.docker.com/) [![可观测性](https://img.shields.io/badge/metrics-prometheus%20%7C%20grafana-orange.svg)](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. 操作仪表盘 主控制中心显示实时遥测、威胁分布图、每日扫描趋势、平均系统威胁评分以及正在进行的活跃扫描列表。 ![操作仪表盘](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/77c5e4badc051318.png) ### 🔬 2. 手动扫描器流水线 提交单个文件到多层检测流水线。分析师可以拖放可疑文件(EXE、DLL、ZIP、PDF、脚本以及其他文件类型)以启动采集扫描。 ![手动威胁扫描器](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/ba578f29a7051323.png) ### 📁 3. 实时监控节点 选择本地系统上的任何目录以部署活跃的后台观察者。该节点会自动遍历子目录,将传入的文件加入队列,并将事件流式传输到实时控制台,同时将指标同步到 Prometheus。 ![文件夹监控器](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/f0017b5543051329.png) ### 📝 4. 取证审计报告(概览与 AI 报告) 该平台将所有的入侵指标 (IOCs)、哈希值和扫描参数汇总到一个可视化摘要面板中,该面板具有交互式标签页界面,可在可视化摘要、详细的 AI 生成的报告以及原始的 JSON 遥测 payload 之间切换。 ![取证报告概览](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/5e7c9d7a5e051335.png) ![AI 取证报告详情](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/6fac8abbe5051341.png) ### 🏛 5. 取证证据库 搜索、过滤和审计所有已分析的威胁。证据库维护 SHA-256 哈希值、文件分类、匹配的签名标签,以及指向加密保留的二进制文件的链接。 ![证据库](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/15893b94e4051347.png) ### 📈 6. Prometheus 可观测性指标 系统遥测通过 `/metrics` 端点动态暴露,允许 Prometheus 抓取守护进程实时抓取操作数据。 ![Prometheus 指标端点](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/3d38e517c8051352.png) ## 🌟 核心支柱 ### 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, 云资产可视化, 威胁情报, 安全调查, 开发者工具, 恶意软件分析, 数字取证, 无后门, 自动化脚本, 自定义请求头, 请求拦截, 逆向工具