ashubits/Malware-Analysis-portal
GitHub: ashubits/Malware-Analysis-portal
结合 Ghidra/dnSpy 反编译与 Gemini AI 分析的两阶段自动化恶意软件分析流水线,用于批量识别恶意行为并生成威胁情报报告。
Stars: 0 | Forks: 0
# AntiGravity 恶意软件分析流水线
一个自动化的两阶段流水线,通过反编译和 AI 驱动的行为分析来分析恶意软件二进制文件。
## 概述
AntiGravity 流水线旨在批量处理恶意软件样本,使用 Ghidra 将编译后的二进制文件转换为可读的 C 源代码,随后使用 AI 模型(通过 Gemini API)分析该代码,以识别恶意模式、确定恶意软件家族,并提取入侵指标。
## 项目结构
```
Malware analysis/
├── configurations.cfg # Centralized configuration file with all relative paths
├── master_pipeline.bat # Main execution script that runs both phases of analysis
├── setup.bat # Script to verify dependencies and install Python packages
├── requirements.txt # Required Python libraries
├── OUTPUT_RESULT.CSV # The final consolidated CSV report with analysis verdicts
│
├── Project-Decompiler/ # Phase 1: Decompilation Module
│ ├── samples/ # Drop your input malware binaries (.exe, .dll) here
│ ├── output/ # Directory where .c decompiled source files are saved
│ ├── logs/ # Execution logs for decompilation tools
│ ├── scripts/ # Python and Java scripts to orchestrate Ghidra/dnSpy
│ │ ├── orchestrate_decompile.py # Identifies file types and dispatches to decompilers
│ │ ├── decompile_dotnet.py # Handles .NET specific decompilation
│ │ └── DecompileAll.java # Ghidra headless post-script for C extraction
│ └── tools/ # Third-party tools (Ghidra, dnSpy)
│ ├── ghidra/ # Ghidra installation directory
│ └── dnSpy/ # dnSpy installation directory
│
├── RAG local/ # Phase 2: AI Analysis Module
│ ├── bulk_analyzer.py # Reads decompiled code, chunks it, and prompts the AI
│ ├── analyzer/ # Contains specific logic for interacting with Gemini API
│ └── .venv/ # Optional Python virtual environment for isolated execution
│
└── reports/ # Detailed Markdown reports generated per binary hash
```
## 环境要求
1. **Python 3.8+**:确保已安装 Python 并将其添加到系统 `PATH` 中。
2. **Java 17+**:运行 Ghidra 反编译无头分析器所必需。
3. **API Key**:需要有效的 Gemini API 密钥,供 `RAG local` 阶段执行 AI 代码分析。
## 安装说明
要在新机器上部署此项目:
1. 双击或运行 `setup.bat`。
- 此脚本将验证是否已安装 Python 和 Java。
- 它将自动安装 `requirements.txt` 中列出的所有必需 Python 库。
- 它还将在 `RAG local` 文件夹内设置一个隔离的虚拟环境 (`.venv`)。
2. 确保 `Ghidra` 和 `dnSpy` 已放置在 `Project-Decompiler` 中各自对应的 `tools` 目录中。
3. 如有需要,请使用 `.env` 文件或全局配置来设置您的环境变量(例如,Gemini 的 API 密钥)。
## 使用说明
1. **输入**:将未分析的二进制文件(例如,PE32、DLL、.NET 可执行文件)放入 `Project-Decompiler\samples\` 文件夹中。
2. **执行**:运行 `master_pipeline.bat`。
- 阶段 1 将自动遍历样本,对其进行哈希处理(MD5),确定其文件类型,并运行相应的反编译器(Ghidra 或 dnSpy)。
- 阶段 2 将获取新生成的 `.c` 文件,分块提供给 AI,并提取结构化的威胁情报。
3. **输出**:
- 逐行的总结细目将被附加到 `OUTPUT_RESULT.CSV` 中。
- 将在 `reports\` 目录下为每个文件生成深入的单个 Markdown 报告。
## 配置
所有路径和超时设置均可在根目录下的 `configurations.cfg` 文件中进行调整。默认使用相对路径,以确保流水线具有可移植性,并可在不修改路径的情况下跨机器移动。
标签:AI驱动分析, C代码分析, DAST, DLL 劫持, dnSpy, DNS 反向解析, Gemini API, Ghidra, IOCs提取, Java脚本, JS文件枚举, .NET逆向, OpenCanary, PE文件分析, URL提取, 二进制文件分析, 云安全监控, 云资产清单, 反编译, 大语言模型, 妥协指标提取, 威胁情报, 开发者工具, 恶意样本分析, 恶意行为分析, 恶意软件分析, 恶意软件家族分类, 批处理分析, 知识库安全, 网络安全, 脚本编排, 自动化分析管线, 自动化安全工具, 逆向工具, 逆向工程, 隐私保护, 静态分析