aayushi484/MalScan

GitHub: aayushi484/MalScan

融合本地静态解析与多源威胁情报并行查询的恶意软件分析平台,通过加权风险评分模型为安全人员提供快速可视化的样本研判能力。

Stars: 0 | Forks: 0

``` ███╗ ███╗ █████╗ ██╗ ███████╗ ██████╗ █████╗ ███╗ ██╗ ████╗ ████║██╔══██╗██║ ██╔════╝██╔════╝██╔══██╗████╗ ██║ ██╔████╔██║███████║██║ ███████╗██║ ███████║██╔██╗ ██║ ██║╚██╔╝██║██╔══██║██║ ╚════██║██║ ██╔══██║██║╚██╗██║ ██║ ╚═╝ ██║██║ ██║███████╗███████║╚██████╗██║ ██║██║ ╚████║ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ```
# MalScan AI 辅助恶意软件行为分析器 MalScan 是一款高性能、专业级的分类看板,专为快速恶意软件分析而设计。它弥补了深度本地静态分析与多引擎云端智能之间的鸿沟,能在数秒内提供统一的高置信度风险评估。 ## 📑 目录 1. [概述](#-overview) 2. [功能](#-features) 3. [架构](#-architecture) 4. [技术栈](#-tech-stack) 5. [算法](#-algorithm) 6. [项目结构](#-project-structure) 7. [API 参考](#-api-reference) 8. [入门指南](#-getting-started) 9. [设置](#-setup) 10. [环境变量](#-environment-variables) 11. [测试](#-testing) 12. [UI 设计](#-ui-design) ## 🔍 概述 MalScan 专为安全研究人员和事件响应人员设计,他们需要快速确定可疑文件的性质。MalScan 不依赖于单一的检测方法,而是协调一系列本地静态检查和并行的云端沙箱结果,从而生成**加权风险评分 (60/40)**。它开箱即支持 Windows PE 和 Linux ELF 格式。 ## ✨ 功能 - **并发 API 编排**:利用 `ThreadPoolExecutor` 同时查询 4 个主要的威胁情报源。 - **深度静态分析**:在本地解析 IAT、导出表、入口点和节区。 - **Shannon 熵热力图**:可视化文件加壳和混淆模式。 - **AI 分类字符串**:将原始二进制字符串隔离到网络、路径、命令和恶意类别中。 - **共识构建器**:交叉参考 VT 结论、Hybrid Analysis 报告和 MalwareBazaar 签名。 - **安全执行**:所有处理均在主机外进行或为纯静态分析;本地机器上不会发生任何恶意软件的执行。 ## 🏗 架构 MalScan 采用解耦架构,UI 绝不会因网络或繁重的计算任务而阻塞。 ``` graph TD A[User Uploads File] --> B{Streamlit Sidebar} B --> C[Local Static Engine] B --> D[API Orchestrator] subgraph "Local Engine" C --> C1[PE/ELF Parser] C --> C2[Entropy Calculator] C --> C3[Regex String Category] end subgraph "API Orchestrator (Parallel)" D --> D1[VirusTotal v3] D --> D2[Hybrid Analysis v2] D --> D3[MalwareBazaar] D --> D4[URLScan.io] end C1 & C2 & C3 --> E[Consensus Engine] D1 & D2 & D3 & D4 --> E E --> F[Weighted Risk Score] F --> G[Outfit-based Dashboard] ``` ## 🛠 技术栈 - **Dashboard**:[Streamlit](https://streamlit.io/)(前端和数据层) - **可视化**:[Plotly](https://plotly.com/)(熵热力图和风险仪表盘) - **解析**:`pefile` (Windows),`pyelftools` (Linux) - **核心**:Python 3.10+,`Pandas`,`concurrent.futures` - **APIs**:Hybrid Analysis v2,VirusTotal v3,MalwareBazaar,URLScan.io ## 🧮 算法 MalScan 使用加权分布计算**最终风险评分 (0-100)**: ### 1. 静态分析评分 (40%) | 组件 | 指标 | 评分影响 | |-----------|--------|--------------| | Entropy | 全局熵值 > 7.5 | +15 分 | | Sections | 高熵节区 (>7.0) | 每个 +20 分(最高 60) | | Imports | 可疑的 Win32/API 调用 | 每个 +10 分(最高 50) | | Strings | 网络/恶意指标 | 每个 +5/8 分(最高 40) | ### 2. API 情报评分 (60%) - **VirusTotal**:如 5 个及以上引擎检测到,则 +50 分。 - **Hybrid Analysis**:判定为“malicious”(恶意)时 +50 分,判定为“suspicious”(可疑)时 +25 分。 - **MalwareBazaar**:明确匹配到家族签名时 +40 分。 `Risk Score = Min(100, (Static_Score * 0.4) + (API_Score * 0.6))` ## 📁 项目结构 ``` streamlit-dashboard-v2/ ├── app.py # Main UI and Dashboard logic ├── analysis_engine.py # Local Static Analysis (PE/ELF/Strings) ├── api_clients.py # Concurrent API Orchestration & Life-cycle ├── config.py # Global constants and Theme configuration └── requirements.txt # Dependency manifest ``` ## 🔌 API 参考 编排器维护以下集成: - **Hybrid Analysis**:全生命周期支持(上传 -> 轮询 -> 报告)。 - **VirusTotal**:实时哈希声誉和供应商明细。 - **MalwareBazaar**:通过 SHA-256 查找即时识别家族。 - **URLScan.io**:对提取的网络指标进行声誉评分。 ## 🚀 入门指南 ### 设置 1. **克隆并进入**: git clone https://github.com/aayushi484/MalScan cd streamlit-dashboard-v2 2. **环境**: python -m venv venv source venv/bin/activate # 或在 Windows 上使用 `venv\Scripts\activate` pip install -r requirements.txt ### 环境变量 在 `config.py` 中配置您的密钥: ``` HYBRID_ANALYSIS_API_KEY = "..." VIRUSTOTAL_API_KEY = "..." URLSCAN_API_KEY = "..." ``` ## 🧪 测试 在本地运行看板以验证环境健康状况: ``` streamlit run app.py --server.port 8504 ``` **静态测试**:上传一个已知无害的二进制文件(如 `calc.exe`),以验证解析引擎能否正确识别其格式和入口点。
## 🎨 UI 设计 MalScan 采用**扁平深色实用**的设计理念: - **字体**:[Outfit](https://fonts.google.com/specimen/Outfit?query=outfit) — 因其现代、几何的清晰度而被选用。 - **颜色**:高对比度的暗板岩色 (`#0B0E14`) 和青色 (`#00A3FF`) 点缀,营造出高级的技术感。 - **理念**:去除所有“新拟态”或悬浮效果,以优先保证数据密度和专业实用性。 *由 Aayushi R. 创建*
标签:DAST, DNS 反向解析, IP 地址批量处理, Kubernetes, 云情报聚合, 人工智能安全, 合规性, 威胁情报, 安全仪表盘, 安全评分引擎, 库, 应急响应, 开发者工具, 快速威胁分析, 恶意文件检测, 恶意软件分析, 恶意软件分诊, 搜索语句(dork), 暗黑模式UI, 网络安全, 逆向工具, 隐私保护, 静态二进制检测, 风险评估模型