rushi0818/Threatlens

GitHub: rushi0818/Threatlens

基于机器学习与 YARA 规则的多引擎网络威胁情报分析平台,为 SOC 分析师提供从 URL、邮件、文档到恶意软件的一站式威胁检测与报告生成能力。

Stars: 0 | Forks: 0

# 🔍 ThreatLens — 网络威胁情报平台 ![Python](https://img.shields.io/badge/Python-3.14-blue?logo=python) ![Flask](https://img.shields.io/badge/Flask-3.x-black?logo=flask) ![ML](https://img.shields.io/badge/ML-Scikit--Learn-orange?logo=scikit-learn) ![License](https://img.shields.io/badge/License-MIT-green) ![Status](https://img.shields.io/badge/Status-Active-brightgreen) ## 📌 什么是 ThreatLens? ThreatLens 是一个多引擎网络威胁分析平台,可帮助 SOC 分析师 在一个界面中调查可疑的 URL、电子邮件、文档和文件。 它作为 SOC 分析师实习项目的一部分而构建,并展示了安全运营中心 使用的真实威胁检测工作流。 ## ⚡ 功能 | 功能 | 描述 | |--------|-------------| | 🔗 URL 扫描器 | 在 11,000+ 个 URL 上训练的 ML 模型,用于检测钓鱼链接 | | 📧 电子邮件分析器 | 关键词、紧迫性和品牌冒充检测 | | 📄 PDF / DOCX 扫描器 | 从文档中提取链接和内容 | | 🦠 静态恶意软件分析 | 字符串、熵、PE 头、可疑 API 检测 | | 📌 YARA 扫描器 | 基于规则的恶意软件家族识别 | | 🔍 哈希情报 | VirusTotal + MalwareBazaar 哈希信誉检查 | | 🌐 网络 IOC 提取器 | 自动从文件中提取 IP、URL、域名 | | 📋 SOC 报告生成器 | 带有建议操作的结构化判定结果 | ## 🖥️ 截图 ### URL 扫描器 ![URL 扫描器](https://raw.githubusercontent.com/rushi0818/Threatlens/main/screenshots/url_scan.png) ### 电子邮件分析器 ![电子邮件扫描器](https://raw.githubusercontent.com/rushi0818/Threatlens/main/screenshots/email_scan.png) ### 恶意软件静态分析 ![恶意软件分析](https://raw.githubusercontent.com/rushi0818/Threatlens/main/screenshots/malware_scan.png) ### YARA 规则匹配 ![YARA 扫描](https://raw.githubusercontent.com/rushi0818/Threatlens/main/screenshots/yara_scan.png) ## 🏗️ 项目结构 ``` threatlens/ ├── app.py # Flask web application (main entry point) ├── preprocess.py # Feature extraction & data preprocessing ├── train_model.py # ML model training & evaluation ├── requirements.txt # Python dependencies ├── scanner/ │ ├── email_scanner.py # Email phishing detection │ ├── pdf_scanner.py # PDF content analysis │ ├── doc_scanner.py # Word document analysis │ ├── hash_checker.py # VirusTotal hash reputation │ ├── static_analyzer.py # Static malware analysis │ ├── yara_scanner.py # YARA rules engine │ ├── network_extractor.py # Network IOC extraction │ └── malware_reporter.py # SOC report generator ├── yara_rules/ │ └── general.yar # Custom YARA rules └── templates/ └── index.html # ThreatLens UI ``` ## 🚀 如何在本地运行 ### 1. 克隆仓库 ``` git clone https://github.com/YOUR_USERNAME/threatlens.git cd threatlens ``` ### 2. 安装依赖项 ``` pip install -r requirements.txt ``` ### 3. 下载数据集 从 Kaggle 下载钓鱼 URL 数据集: [网页钓鱼检测数据集](https://www.kaggle.com/datasets/shashwatwork/web-page-phishing-detection-dataset) 将 CSV 文件作为 `webpagedataset_phishing.csv` 放在根文件夹中。 ### 4. 训练模型 ``` python preprocess.py python train_model.py ``` ### 5. 运行应用 ``` python app.py ``` 打开浏览器并访问:**http://127.0.0.1:5000** ## 🤖 ML 模型性能 使用多种算法在具有 88 个特征的 11,430 个 URL 上进行了训练: | 模型 | 准确率 | 精确率 | 召回率 | F1-Score | ROC-AUC | |-------|----------|-----------|--------|----------|---------| | **Gradient Boosting** ⭐ | **96.2%** | **95.8%** | **96.8%** | **96.3%** | **99.4%** | | Random Forest | 96.1% | 95.7% | 96.6% | 96.1% | 99.3% | | Linear SVM | 93.7% | 93.9% | 93.4% | 93.7% | 98.2% | | Logistic Regression | 93.6% | 93.9% | 93.3% | 93.6% | 98.1% | **最佳模型:Gradient Boosting,准确率为 96.2%** ## 🛡️ 包含的 YARA 规则 | 规则 | 检测内容 | |------|---------| | `Ransomware_Generic` | 勒索软件指标和付款要求 | | `Phishing_Document` | 文档中的钓鱼短语 | | `Suspicious_PowerShell` | 混淆的 PowerShell 执行 | | `Malware_Process_Injection` | 代码注入技术 | | `Keylogger_Indicators` | 键盘挂钩和监控 | | `Suspicious_Network_Activity` | C2 通信模式 | | `EICAR_Test_File` | 标准 AV 测试文件 | ## 🔧 技术栈 - **后端** — Python 3.14, Flask - **机器学习** — Scikit-learn, Pandas, NumPy - **恶意软件分析** — pefile, yara-python - **文档解析** — pdfplumber, python-docx - **威胁情报** — VirusTotal API, MalwareBazaar API - **前端** — HTML5, CSS3, Vanilla JavaScript ## 📦 环境要求 ``` flask pandas numpy scikit-learn joblib matplotlib pdfplumber python-docx pefile requests extract-msg ``` 安装全部: ``` pip install -r requirements.txt ``` ## 🔑 API 密钥设置 要进行 VirusTotal 集成,请添加您的免费 API 密钥: 1. 在 [virustotal.com](https://www.virustotal.com) 注册 2. 转到 Profile → API Key 3. 打开 `scanner/hash_checker.py` 4. 将 `YOUR_VIRUSTOTAL_API_KEY_HERE` 替换为您的密钥 免费层:每天 500 个请求 — 足够用于测试。 ## 📚 展示的技能 - ✅ IOC 分析与威胁情报 - ✅ 用于网络安全的机器学习 - ✅ 静态恶意软件分析 - ✅ YARA 规则编写 - ✅ OSINT 调查 - ✅ Flask Web 开发 - ✅ SOC 分析师工作流自动化 - ✅ VirusTotal 和 MalwareBazaar API 集成 ## ⚠️ 免责声明 ThreatLens 仅为**教育和安全研究目的**而构建。 未经适当授权,请勿使用它来分析生产系统上的文件。 始终在隔离环境(VM)中分析恶意软件样本。 ## 📄 许可证 MIT 许可证 — 可自由使用、修改和分发,但需注明出处。
标签:Apex, DAST, DNS 反向解析, Flask, Go语言工具, Python, YARA, 云资产可视化, 威胁情报, 开发者工具, 恶意软件分析, 数据可视化, 无后门, 机器学习, 逆向工具, 钓鱼检测