Aditya19110/Static-Analyzer
GitHub: Aditya19110/Static-Analyzer
一个基于 Flask 和 React 构建的静态恶意软件分析 Web 平台,提供 PE 文件结构解析及 VirusTotal 联动分析功能。
Stars: 0 | Forks: 0
# Silent Scan - 高级静态恶意软件分析器
## 许可证
本项目采用 MIT 许可证授权 - 详情请参阅 [LICENSE](LICENSE) 文件。
## 支持与联系

[](https://github.com/Aditya19110/Static-Analyzer)
[](LICENSE)
[](https://github.com/Aditya19110/Static-Analyzer)
**一个尖端的静态恶意软件分析平台,无需执行潜在有害文件即可提供全面的安全洞察。**
[在线演示](https://static-analyzer.vercel.app) | [文档](#features) | [报告 Bug](https://github.com/Aditya19110/Static-Analyzer/issues) | [请求功能](https://github.com/Aditya19110/Static-Analyzer/issues)
## 功能特性
### 全面的静态分析
- **文件哈希生成**:MD5、SHA1 和 SHA256 加密哈希
- **PE 头检查**:入口点、镜像基址和编译时间戳分析
- **节区分析**:带有熵值计算的虚拟/原始大小比较
- **导入分析**:完整的 DLL 和函数导入映射
- **字符串提取**:提取可读字符串以获取行为洞察
- **语言检测**:使用启发式算法识别编程语言
### VirusTotal 集成
- **多引擎扫描**:利用 70 多个杀毒引擎
- **实时结果**:实时轮询扫描完成状态
- **详细报告**:特定引擎的检测结果
- **统计概览**:恶意、可疑和安全的判定统计
### 现代化 UI/UX
- **响应式设计**:针对桌面和移动设备进行了优化
- **拖放界面**:直观的文件上传体验
- **实时进度**:分析过程中的视觉反馈
- **深色主题**:专业的网络安全美学
- **交互式结果**:带有详细信息可展开部分
### 安全至上
- **不执行文件**:仅进行安全的静态分析
- **安全上传**:在隔离环境中处理文件
- **数据隐私**:临时文件存储并自动清理
- **API 安全**:速率限制和输入验证
## 系统架构
```
graph TB
A[Frontend - React] -->|HTTPS| B[Backend - Flask]
B -->|File Analysis| C[PE Parser]
B -->|Hash Generation| D[Crypto Library]
B -->|String Extraction| E[Binary Parser]
B -->|VirusTotal API| F[VT Integration]
C --> G[Analysis Report]
D --> G
E --> G
F --> G
G -->|JSON Response| A
```
## 快速开始
### 前置条件
- **Node.js** (v16 或更高版本)
- **Python** (v3.8 或更高版本)
- **VirusTotal API Key**(用于增强扫描)
### 安装步骤
1. **克隆仓库**
git clone https://github.com/Aditya19110/Static-Analyzer.git
cd Static-Analyzer
2. **后端设置**
cd backend
# 创建虚拟环境 (推荐)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# 安装依赖
pip install -r requirements.txt
# 从示例创建 .env 文件
cp .env.example .env
# 编辑 .env 并添加你的 VirusTotal API key
# 启动 Flask 服务器
python app.py
3. **前端设置**
cd frontend
# 安装依赖
npm install
# 从示例创建 .env 文件
cp .env.example .env
# 本地开发使用: REACT_APP_API_URL=http://localhost:5000
# 生产环境使用你部署的后端 URL
# 启动开发服务器
npm start
4. **访问应用**
- 前端:`http://localhost:3000`
- 后端 API:`http://localhost:5000`
### 部署配置
**前端:**
- 设置环境变量:`REACT_APP_API_URL=https://your-backend-url.com`
- 从 GitHub 仓库部署
- Vercel 将自动检测 React 并进行构建
**后端:**
- 设置环境变量:
- `VIRUSTOTAL_API_KEY=your_api_key`
- `PORT`(Render 会自动设置此项)
- 构建命令:`pip install -r requirements.txt`
- 启动命令:`python app.py`
## 技术栈
### 前端
- **框架**:React 18 with Hooks
- **样式**:Custom CSS with animations
- **图标**:Lucide React
- **状态管理**:React useState/useEffect
- **构建工具**:Create React App
### 后端
- **框架**:Flask (Python)
- **CORS**:Flask-CORS 用于跨域请求
- **文件分析**:pefile 库用于 PE 解析
- **安全**:Werkzeug 用于安全文件处理
- **外部 API**:VirusTotal API v3
### 部署
- **前端**:Vercel (静态托管)
- **后端**:Render (云托管)
- **数据库**:基于文件(临时存储)
## API 端点
### 静态分析
```
POST /upload
Content-Type: multipart/form-data
Response:
{
"filename": "example.exe",
"hashes": {
"md5": "...",
"sha1": "...",
"sha256": "..."
},
"pe_info": {
"entry_point": "0x1000",
"image_base": "0x400000",
"compile_time": 1640995200
},
"sections": [...],
"imports": [...],
"strings": [...],
"language_guess": "C++"
}
```
### VirusTotal 集成
```
POST /api/virustotal/upload
Content-Type: multipart/form-data
GET /api/virustotal/analysis/{analysis_id}
```
## ️ 开发
### 项目结构
```
Static-Analyzer/
├── 📁 frontend/ # React application
│ ├── 📁 public/ # Static assets
│ ├── 📁 src/
│ │ ├── 📁 components/ # Reusable components
│ │ ├── 📁 pages/ # Page components
│ │ └── 📁 api/ # API utilities
│ └── 📄 package.json
├── 📁 backend/ # Flask application
│ ├── 📄 app.py # Main application
│ ├── 📁 analysis/ # Analysis modules
│ ├── 📁 uploads/ # Temporary file storage
│ └── 📄 requirements.txt
└── 📄 README.md
```
### 贡献指南
1. **Fork** 本仓库
2. **创建** 一个功能分支 (`git checkout -b feature/AmazingFeature`)
3. **提交** 你的更改 (`git commit -m 'Add some AmazingFeature'`)
4. **推送** 到分支 (`git push origin feature/AmazingFeature`)
5. **打开** 一个 Pull Request
### 代码风格
- **前端**:ESLint + Prettier 配置
- **后端**:PEP 8 Python 风格指南
- **提交**:约定式提交消息
## 安全注意事项
- **输入验证**:所有文件上传都经过类型和大小的验证
- **沙盒执行**:分析过程中不执行任何文件
- **API 速率限制**:VirusTotal API 调用受到限制
- **安全头**:实施了 CORS 和安全头
- **数据清理**:自动删除临时文件
## 示例分析报告
点击展开示例输出
``` { "filename": "sample.exe", "filesize": 1048576, "hashes": { "md5": "5d41402abc4b2a76b9719d911017c592", "sha1": "aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d", "sha256": "2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae" }, "pe_info": { "entry_point": "0x1000", "image_base": "0x400000", "compile_time": "2024-01-15 10:30:45" }, "sections": [ { "name": ".text", "virtual_size": 4096, "raw_size": 4096, "entropy": 6.2 } ], "virustotal": { "stats": { "malicious": 0, "suspicious": 0, "harmless": 67, "undetected": 3 } } } ```
**由 [Aditya Kulkarni](https://github.com/Aditya19110) 制作**
[](https://github.com/Aditya19110)
[](https://linkedin.com/in/aditya-kulkarni)
[](mailto:aditya@example.com)
**保持安全。信任之前先分析。**
标签:AMSI绕过, DAST, DeepSeek, DNS 反向解析, Flask, IP 地址批量处理, PB级数据处理, PE文件分析, Python安全开发, Vercel部署, VirusTotal集成, Web安全平台, 云安全监控, 反病毒扫描, 可执行文件分析, 威胁检测, 字符串提取, 安全运维, 导入表分析, 恶意软件分析, 文件哈希计算, 熵值分析, 网络信息收集, 网络安全, 网络安全审计, 自定义脚本, 逆向工具, 隐私保护, 静态分析