r3dzyoud/M4CR0SC0PE

GitHub: r3dzyoud/M4CR0SC0PE

一款无需运行代码即可对 Office 文档中的恶意 VBA 宏进行深度静态分析与 LLM 语义推理的八阶段检测平台。

Stars: 0 | Forks: 0

M4CR0SC0PE ### *更快、更智能地发现威胁,无需运行恶意代码*
## 概述 M4CR0SC0PE 是一个完全静态的分析 pipeline,用于检测和分析 Microsoft Office 文档中的恶意 VBA 宏。在任何阶段都不执行代码——所有分析均通过静态检查、结构化证据提取以及基于 LLM 的语义推理来完成,从而生成可解释的恶意软件报告。 ## Pipeline — 8 个阶段 ``` Office Document │ ▼ ┌─────────────────────────────────────────────┐ │ 1 · Validation & Hashing │ File type (magic bytes) · SHA-256 · MD5 ├─────────────────────────────────────────────┤ │ 2 · Static Macro Extraction │ oletools · OLE & OOXML · autoexec detection ├─────────────────────────────────────────────┤ │ 3 · Deobfuscation │ Chr() · Base64 · Hex · Dridex · String concat ├─────────────────────────────────────────────┤ │ 4 · Deep Static Analysis │ Behavioral & technical indicators ├─────────────────────────────────────────────┤ │ 5 · Evidence Builder │ Structured JSON · 3 epistemic tiers ├─────────────────────────────────────────────┤ │ 6 · LLM Semantic Analysis │ Verdict · Confidence · IOCs · MITRE proposals ├─────────────────────────────────────────────┤ │ 7 · MITRE ATT&CK Verification │ Evidence grounding · Hallucination detection ├─────────────────────────────────────────────┤ │ 8 · Reverse Engineering │ Call graph · Execution flow reconstruction └─────────────────────────────────────────────┘ │ ▼ Analysis Report ``` ## 截图 ### Dashboard ![Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/a9810e2a59235217.png) ### 分析 ![Analyze](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/a5d99b047c235223.png) ### 报告 ![Report](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/f78a89e9ec235230.png) ### Assistant ![Assistant](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/a88e174feb235236.png) ## 评估结果 | 模型 | 准确率 (Accuracy) | 精确率 (Precision) | 召回率 (Recall) | F1-Score | TP | TN | FP | FN | |-------|----------|-----------|--------|----------|----|----|----|----| | **GPT-4.1** | **75.6%** | 0.733 | **1.000** | **0.846** | 200 | 26 | 73 | 0 | | GPT-4o | 66.4% | 0.664 | 1.000 | 0.798 | 198 | 0 | 100 | 0 | | Claude Haiku | 75.5% | 0.710 | 1.000 | 0.831 | 147 | 38 | **60** | 0 | **所有模型均达到了完美的召回率 (1.000) —— 没有漏报任何恶意文件。** ### MITRE ATT&CK 幻觉率 | 模型 | 提出的技术数 | 已验证 | 已拒绝 | 幻觉率 | |-------|---------------------|----------|----------|--------------------| | GPT-4.1 | 759 | 654 | 105 | **13.8%** | | GPT-4o | 421 | 160 | 261 | 62.0% | | Claude Haiku | 1,475 | 795 | 680 | 46.1% | ## Dashboard 可通过 `http://localhost:5000` 的 Web 界面访问 4 个屏幕: | 屏幕 | 描述 | |--------|-------------| | **Dashboard** | KPI · 模型性能 · MITRE 技术图表 · 提交历史 | | **Analyze** | 上传文件 · 实时 8 阶段 pipeline · 实时结果预览 | | **Report** | 完整的结构化报告 · MITRE 表格 · IOC · 缓解措施 · PDF 导出 | | **Assistant** | 由 GPT-4.1 驱动 · 项目范围内的问答 · 感知报告的上下文 | ## 设置 ### 前置条件 - Python 3.10+ - pip - Azure OpenAI API key (GPT-4.1) - AgentRouter API key (Claude Haiku — 可选) ### 安装 ``` # 1. Clone the repository git clone https://github.com/r3dzyoud/M4CR0SC0PE.git cd M4CR0SC0PE # 2. Install dependencies pip install -r requirements.txt # 3. 配置环境 cp .env.example .env # 编辑 .env 并添加你的 API keys # 4. 运行 Dashboard python3 dashboard/app.py ``` 在浏览器中打开 `http://localhost:5000`。 ### 环境变量 ``` AZURE_OPENAI_API_KEY=your_key_here AZURE_OPENAI_BASE_URL=your_endpoint_here AGENTROUTER_API_KEY=your_key_here AGENTROUTER_BASE_URL=your_endpoint_here AGENTROUTER_MODEL_HAIKU=your_model_identifier_here ``` ## 支持的文件类型 | 格式 | 扩展名 | 描述 | |--------|-----------|-------------| | Word 宏 | `.docm` `.doc` | 包含 VBA 的 Word 文档 | | Excel 宏 | `.xlsm` `.xls` `.xlam` | 包含 VBA 的 Excel 工作簿 | | PowerPoint 宏 | `.pptm` | 包含 VBA 的 PowerPoint | | 模板宏 | `.dotm` | Word 宏模板 | | VBA 项目 | `.vba` | 独立的 VBA 项目 | ## 项目结构 ``` M4CR0SC0PE/ ├── macro_analyzer/ │ ├── stages/ │ │ ├── validation.py # Stage 1 — File type & hashing │ │ ├── extraction.py # Stage 2 — VBA extraction │ │ ├── deobfuscation.py # Stage 3 — Deobfuscation │ │ ├── analysis.py # Stage 4 — Static analysis │ │ ├── evidence_builder.py # Stage 5 — Evidence packaging │ │ ├── llm_reasoning.py # Stage 6 — LLM reasoning │ │ ├── mitre_verifier.py # Stage 7 — MITRE verification │ │ └── re_layer.py # Stage 8 — Reverse engineering │ ├── controller.py # Pipeline orchestration │ ├── database.py # SQLite persistence │ └── data_models.py # Shared data models ├── dashboard/ │ ├── app.py # Flask API + job runner │ └── static/ │ └── index.html # Single-page frontend ├── config/ │ └── vba_mitre_reference.json ├── dataset/ │ └── evaluation/ # Test/dev splits (CSV) ├── outputs/ │ └── evaluation/ # Evaluation results (JSON + CSV) ├── docs/ │ └── screenshots/ # Dashboard screenshots ├── .env.example ├── requirements.txt └── README.md ``` ## 主要贡献 - **基于证据的提示** —— 结构化的 JSON 证据包相比于原始 VBA 代码提示,能有效减少 LLM 幻觉 - **MITRE 验证阶段** —— 全新的基础层,将 LLM 提出的 ATT&CK 技术与静态证据进行交叉验证,从而产生可量化的幻觉率 - **多模型评估** —— 使用带有真实标签的 300 个真实宏恶意软件样本,对 GPT-4.1、GPT-4o 和 Claude Haiku 进行了系统性比较 ## 数据集 评估数据集来源于 **IEEE DataPort MSOffice VBA 宏分类数据集**。本仓库不会重新分发原始的恶意软件样本。请参阅 [IEEE DataPort MSOffice VBA 宏分类数据集](https://ieee-dataport.org/documents/msoffice-vba-macros-classified-dataset) 以获取样本访问权限。 SHA-256 哈希值和拆分清单可在 `dataset/subset_manifest.csv` 和 `dataset/evaluation/` 中找到。 ## 文档 完整的技术文档可在 [Wiki](https://github.com/r3dzyoud/M4CR0SC0PE/wiki) 中查看,涵盖: - 系统架构与数据流 - 逐阶段的实现细节 - LLM 集成与推理层 - MITRE 验证方法论 - Dashboard 与前端指南 - 可扩展性与自定义
使用 Python · Flask · oletools · Azure OpenAI · SQLite 构建
标签:Clair, DAST, DLL 劫持, DNS 反向解析, Python, VBA宏检测, 云安全监控, 大语言模型, 威胁情报, 开发者工具, 恶意软件分析, 搜索语句(dork), 无后门, 逆向工具, 静态分析