sjkim1127/Reversecore_MCP

GitHub: sjkim1127/Reversecore_MCP

一个面向 AI 驱动的逆向工程 MCP 服务器,集成 Ghidra、Radare2 与 YARA,实现自动化二进制分析与报告生成。

Stars: 57 | Forks: 8

# Reversecore_MCP ![Icon](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/1de7f4e09a143507.png) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue)](https://www.python.org/downloads/) [![FastMCP](https://img.shields.io/badge/FastMCP-2.13.1-green)](https://github.com/jlowin/fastmcp) [![Docker](https://img.shields.io/badge/docker-ready-blue)](https://www.docker.com/) [![Tests](https://img.shields.io/badge/tests-700%2B%20passed-brightgreen)](tests/) [![Coverage](https://img.shields.io/badge/coverage-55%25-green)](htmlcov/) [![Watch the Demo](https://img.shields.io/badge/Watch_Demo-FF0000?style=for-the-badge&logo=youtube&logoColor=white)](https://youtu.be/wJGW2bp3c5A) [🇰🇷 한국어 (Korean)](README_KR.md) 一个企业级 MCP (Model Context Protocol) 服务器,用于 AI 驱动的逆向工程。通过自然语言命令使 AI 代理能够执行全面的二进制分析。 ## 📋 前置条件 ### Ghidra (反编译必需) Ghidra 是高级反编译功能所必需的。安装脚本会自动将 Ghidra 安装到 `/Tools` 目录。 **选项 1:自动安装(推荐)** ``` # Windows (PowerShell) .\scripts\install-ghidra.ps1 # 带自定义版本/路径(可选) .\scripts\install-ghidra.ps1 -Version "11.4.3" -InstallDir "C:\CustomPath" ``` ``` # Linux/macOS chmod +x ./scripts/install-ghidra.sh ./scripts/install-ghidra.sh # 带自定义版本/路径(可选) ./scripts/install-ghidra.sh -v 11.4.3 -d /custom/path ``` **脚本执行的操作:** - 从 GitHub 下载 Ghidra 11.4.3(约 400MB) - 解压到 `/Tools/ghidra_11.4.3_PUBLIC_YYYYMMDD` - 设置 `GHIDRA_INSTALL_DIR` 环境变量 - 更新项目的 `.env` 文件 **选项 2:手动安装** 1. **下载**:[Ghidra 11.4.3](https://github.com/NationalSecurityAgency/ghidra/releases/tag/Ghidra_11.4.3_build) 2. **解压**到 `/Tools/` 或任意目录 3. **设置环境变量**: # Linux/macOS (~/.bashrc 或 ~/.zshrc) export GHIDRA_INSTALL_DIR=/path/to/ghidra_11.4.3_PUBLIC_YYYYMMDD # Windows (PowerShell - 永久) [Environment]::SetEnvironmentVariable("GHIDRA_INSTALL_DIR", "C:\path\to/ghidra", "User") 或添加到 `.env` 文件(从 `.env.example` 复制) ## 🚀 快速启动 ### Docker(推荐) ``` # 自动检测架构(Intel/AMD 或 Apple Silicon) ./scripts/run-docker.sh # 或手动操作: # Intel/AMD docker compose --profile x86 up -d # Apple Silicon (M1/M2/M3/M4) docker compose --profile arm64 up -d ``` ### MCP 客户端配置(Cursor AI) **步骤 1:构建 Docker 镜像** 统一 Dockerfile 会自动检测系统架构: ``` # 自动架构检测(适用于所有平台) docker build -t reversecore-mcp:latest . # 或使用便捷脚本 ./scripts/run-docker.sh ``` **步骤 2:配置 MCP 客户端** 添加到 `~/.cursor/mcp.json`:
🍎 macOS(所有处理器) ``` { "mcpServers": { "reversecore": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/Users/YOUR_USERNAME/Reversecore_Workspace:/app/workspace", "-e", "REVERSECORE_WORKSPACE=/app/workspace", "-e", "MCP_TRANSPORT=stdio", "reversecore-mcp:latest" ] } } } ```
🐧 Linux ``` { "mcpServers": { "reversecore": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/path/to/workspace:/app/workspace", "-e", "REVERSECORE_WORKSPACE=/app/workspace", "-e", "MCP_TRANSPORT=stdio", "reversecore-mcp:latest" ] } } } ```
🪟 Windows ``` { "mcpServers": { "reversecore": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "C:/Reversecore_Workspace:/app/workspace", "-e", "REVERSECORE_WORKSPACE=/app/workspace", "-e", "MCP_TRANSPORT=stdio", "reversecore-mcp:latest" ] } } } ```
## ✨ 核心功能 ### 🔍 静态分析 全面的文件分析和元数据提取: - **文件类型检测**:识别二进制格式、架构和编译器信息(`run_file`) - **字符串提取**:提取 ASCII/Unicode 字符串(可配置限制)(`run_strings`) - **固件分析**:深度扫描嵌入式文件和签名(`run_binwalk`) - **二进制解析**:使用 LIEF 解析 PE/ELF/Mach-O 头与节(`parse_binary_with_lief`) ### ⚙️ 反汇编与反编译 多架构二进制分析,智能工具集成: - **Radare2 集成**:完整的 r2 命令访问,带连接池(`run_radare2`、`Radare2_disassemble`) - **Ghidra 反编译**:企业级反编译,16GB JVM 堆(`smart_decompile`、`get_pseudo_code`) - **多架构支持**:x86、x86-64、ARM、ARM64、MIPS、PowerPC(通过 Capstone)(`disassemble_with_capstone`) - **智能回退**:优先 Ghidra,r2 作为后备的最佳策略 ### 🧬 高级分析 深入的代码分析与行为理解: - **交叉引用分析**:跟踪函数调用、数据引用与控制流(`analyze_xrefs`) - **结构恢复**:从指针算法和内存访问模式推断数据结构(`recover_structures`) - **仿真**:基于 ESIL 的代码仿真,用于动态行为分析(`emulate_machine_code`) - **二进制对比**:对比二进制文件并匹配库函数(`diff_binaries`、`match_libraries`) ### 🦠 恶意软件分析与防御 针对威胁检测与缓解的专业工具: - **休眠威胁检测**:查找隐藏后门、孤立函数和逻辑炸弹(`dormant_detector`) - **IOC 提取**:自动提取 IP、URL、域名、邮箱、哈希值与加密地址(`extract_iocs`) - **YARA 扫描**:基于规则的模式匹配恶意软件检测(`run_yara`) - **自适应疫苗**:生成防御措施(YARA 规则、二进制补丁、NOP 注入)(`adaptive_vaccine`) - **漏洞探测**:检测危险 API 模式与利用路径(`vulnerability_hunter`) ### 📊 服务器健康与监控 面向企业环境的内置可观测性工具: - **健康检查**:监控运行时间、内存使用与操作状态(`get_server_health`) - **性能指标**:跟踪工具执行时间、错误率与调用次数(`get_tool_metrics`) - **自动恢复**:针对临时故障的自动重试机制与指数退避 ### 🖥️ Web 仪表盘(新增) 无需 LLM 的二进制分析可视化界面: ``` # 以 HTTP 模式启动服务器 MCP_TRANSPORT=http MCP_API_KEY=your-secret-key python server.py # 访问仪表板 open http://localhost:8000/dashboard/ ``` **特性:** - **概览**:带上传统计的文件列表 - **分析**:函数列表与反汇编查看器 - **IOC**:提取的 URL、IP、邮箱、字符串 **安全性:** - 通过 HTML 净化防止 XSS - 路径遍历防护 - API 密钥认证(可选) ### 📝 报告生成 (v3.1) 支持准确时间戳的专业恶意分析报告生成: - **一次性提交**:通过单个命令生成标准化 JSON 报告(`generate_malware_submission`) - **会话跟踪**:开始/结束分析会话,自动计算持续时间(`start_analysis_session`、`end_analysis_session`) - **IOC 收集**:在分析过程中收集并整理指标(`add_session_ioc`) - **MITRE ATT&CK 映射**:记录技术并引用对应框架(`add_session_mitre`) - **邮件投递**:通过 SMTP 支持直接发送报告给安全团队(`send_report_email`) - **多模板**:完整分析、快速初筛、IOC 摘要、执行简报 ``` # 示例 1:一次性 JSON 提交 generate_malware_submission( file_path="wannacry.exe", analyst_name="Hunter", tags="ransomware,critical" ) # 示例 2:交互式会话工作流 get_system_time() start_analysis_session(sample_path="malware.exe") add_session_ioc("ips", "192.168.1.100") add_session_mitre("T1059.001", "PowerShell", "Execution") end_analysis_session(summary="Ransomware detected") create_analysis_report(template_type="full_analysis") send_report_email(to="security-team@company.com") ``` ### ⚡ 性能与可靠性 (v3.1) - **资源管理**: - **僵尸进程杀手**:通过 `try...finally` 块确保子进程终止 - **内存保护**:对 `strings` 输出设置 2MB 严格限制,防止 OOM - **崩溃隔离**:LIEF 解析器在独立进程中运行,安全处理段错误 - **优化**: - **动态超时**:根据文件大小自动调整(基础 + 2s/MB,最大 +600s) - **Ghidra JVM**:16GB 堆内存,适用于现代系统(24-32GB RAM) - **基于 Sink 的剪枝**:39 个危险 Sink API,用于智能路径优先级 - **跟踪深度优化**:从 3 降至 2,加快执行路径分析 - **基础设施**: - **无状态报告**:基于时区的报告生成,不修改全局状态 - **健壮的自动重试**:装饰器正确传播异常,支持自动恢复 - **配置驱动**:验证限制与中心配置同步 ### 🛠️ 核心工具 | 类别 | 工具 | |----------|| | **文件操作** | `list_workspace`, `get_file_info` | | **静态分析** | `run_file`, `run_strings`, `run_binwalk` | | **反汇编** | `run_radare2`, `Radare2_disassemble`, `disassemble_with_capstone` | | **反编译** | `smart_decompile`, `get_pseudo_code` | | **高级分析** | `analyze_xrefs`, `recover_structures`, `emulate_machine_code` | | **二进制解析** | `parse_binary_with_lief` | | **二进制对比** | `diff_binaries`, `match_libraries` | | **恶意软件分析** | `dormant_detector`, `extract_iocs`, `run_yara`, `adaptive_vaccine`, `vulnerability_hunter` | | **报告生成** | `get_system_time`, `set_timezone`, `start_analysis_session`, `add_session_ioc`, `add_session_mitre`, `end_analysis_session`, `create_analysis_report`, `send_report_email`, `generate_malware_submission` | | **服务器管理** | `get_server_health`, `get_tool_metrics` | ## 📊 分析流程 ``` 📥 Upload → 🔍 Triage → 🔗 X-Refs → 🏗️ Structures → 📝 Decompile → 🛡️ Defense ``` **使用内置提示进行引导分析:** - `full_analysis_mode` - 包含 **6 阶段专家推理** 和证据分类的全面恶意软件分析 - `basic_analysis_mode` - 快速初筛,用于快速初始评估 - `game_analysis_mode` - 游戏客户端分析,含作弊检测指导 - `firmware_analysis_mode` - 聚焦嵌入式系统的 IoT/固件安全分析 - `report_generation_mode` - 包含 MITRE ATT&CK 映射的专业报告生成流程 ## 🏗️ 架构 ``` reversecore_mcp/ ├── core/ # Infrastructure & Services │ ├── config.py # Configuration management │ ├── ghidra.py, ghidra_manager.py, ghidra_helper.py # Ghidra integration (16GB JVM) │ ├── r2_helpers.py, r2_pool.py # Radare2 connection pooling │ ├── security.py # Path validation & input sanitization │ ├── result.py # ToolSuccess/ToolError response models │ ├── metrics.py # Tool execution metrics │ ├── report_generator.py # Report generation service │ ├── plugin.py # Plugin interface for extensibility │ ├── decorators.py # @log_execution, @track_metrics │ ├── error_handling.py # @handle_tool_errors decorator │ ├── logging_config.py # Structured logging setup │ ├── memory.py # AI memory store (async SQLite) │ ├── mitre_mapper.py # MITRE ATT&CK framework mapping │ ├── resource_manager.py # Subprocess lifecycle management │ └── validators.py # Input validation │ ├── tools/ # MCP Tool Implementations │ ├── analysis/ # Basic analysis tools │ │ ├── static_analysis.py # file, strings, binwalk │ │ ├── lief_tools.py # PE/ELF/Mach-O parsing │ │ ├── diff_tools.py # Binary comparison │ │ └── signature_tools.py # YARA scanning │ │ │ ├── radare2/ # Radare2 integration │ │ ├── r2_analysis.py # Core r2 analysis │ │ ├── radare2_mcp_tools.py # Advanced r2 tools (CFG, ESIL) │ │ └── r2_session.py # Session management │ │ │ ├── ghidra/ # Ghidra decompilation │ │ ├── decompilation.py # smart_decompile, pseudo-code │ │ └── ghidra_tools.py # Structure/Enum management │ │ │ ├── malware/ # Malware analysis & defense │ │ ├── dormant_detector.py # Hidden threat detection │ │ ├── adaptive_vaccine.py # Defense generation │ │ ├── vulnerability_hunter.py # Vulnerability detection │ │ ├── ioc_tools.py # IOC extraction │ │ └── yara_tools.py # YARA rule management │ │ │ ├── common/ # Cross-cutting concerns │ │ ├── file_operations.py # Workspace file management │ │ ├── server_tools.py # Health checks, metrics │ │ └── memory_tools.py # AI memory operations │ │ │ └── report/ # Report generation (v3.1) │ ├── report_tools.py # Core report engine │ ├── report_mcp_tools.py # MCP tool registration │ ├── session.py # Analysis session tracking │ └── email.py # SMTP integration │ ├── prompts.py # AI reasoning prompts (5 modes) ├── resources.py # Dynamic MCP resources (reversecore:// URIs) └── server.py # FastMCP server initialization & HTTP setup ``` ## 🐳 Docker 部署 ### 多架构支持 统一的 `Dockerfile` 会自动检测系统架构: | 架构 | 自动检测 | 支持 | |--------------|---------------|---------| | x86_64 (Intel/AMD) | ✅ | 完整支持 | | ARM64 (Apple Silicon M1-M4) | ✅ | 完整支持 | ### 运行命令 ``` # 使用便捷脚本(自动检测架构) ./scripts/run-docker.sh # Start ./scripts/run-docker.sh stop # Stop ./scripts/run-docker.sh logs # View logs ./scripts/run-docker.sh shell # Shell access # 手动 Docker 构建(适用于所有架构) docker build -t reversecore-mcp:latest . # 或使用 Docker Compose docker compose up -d ``` ### 环境变量 | 变量 | 默认值 | 描述 | |----------|---------|-------------| | `MCP_TRANSPORT` | `http` | 传输模式(`stdio` 或 `http`) | | `REVERSECORE_WORKSPACE` | `/app/workspace` | 分析工作空间路径 | | `LOG_LEVEL` | `INFO` | 日志级别 | | `GHIDRA_INSTALL_DIR` | `/opt/ghidra` | Ghidra 安装路径 | ## 🔒 安全性 - **无 Shell 注入**:所有子进程调用使用列表参数 - **路径验证**:工作空间限制的文件访问 - **输入净化**:所有参数均经过验证 - **速率限制**:可配置的请求限制(HTTP 模式) - **CI 检查**:Bandit(静态分析)、pip-audit(依赖漏洞)、Gitleaks(密钥) ## 🧪 开发 ``` # 安装依赖 pip install -r requirements-dev.txt # 运行测试 pytest tests/ -v # 运行覆盖率测试 pytest tests/ --cov=reversecore_mcp --cov-fail-under=54 # 代码质量 ruff check reversecore_mcp/ black reversecore_mcp/ ``` ### 测试状态 - ✅ **700+ 测试通过**(单元测试 + 集成测试) - 📊 **55% 覆盖率**(CI 最低要求 54%) - ⏱️ Bandit 安全扫描、pip-audit 依赖检查、pytest ## 📚 API 参考 ### 工具响应格式 所有工具返回结构化的 `ToolResult`: ``` { "status": "success", "data": "...", "metadata": { "bytes_read": 1024 } } ``` ``` { "status": "error", "error_code": "VALIDATION_ERROR", "message": "File not found", "hint": "Check file path" } ``` ### 常见错误代码 | 代码 | 描述 | |------|-------------| | `VALIDATION_ERROR` | 无效的输入参数 | | `TIMEOUT` | 操作超时 | | `PARSE_ERROR` | 解析工具输出失败 | | `TOOL_NOT_FOUND` | 缺少必需的 CLI 工具 | ## 💻 系统要求 | 组件 | 最低要求 | 推荐配置 | |-----------|---------|-------------| | **CPU** | 4 核 | 8+ 核 | | **RAM** | 16 GB | 32 GB | | **存储** | 512 GB SSD | 1 TB NVMe | | **操作系统** | Linux/macOS | Docker 环境 | ## 📄 许可证 MIT 许可证 - 详见 [LICENSE](LICENSE)。 ## 🔗 链接 - [GitHub 仓库](https://github.com/sjkim1127/Reversecore_MCP) - [FastMCP 文档](https://github.com/jlowin/fastmcp) - [MCP 协议规范](https://modelcontextprotocol.io/)
标签:AI代理, AI驱动安全, Amass, DAST, Docker, FastMCP, Findomain, Ghidra, Hakrawler, MCP服务器, Python 3.10, Radare2, SEO标签, TLS指纹, YARA, 二进制分析, 云安全监控, 云安全运维, 云资产可视化, 企业级安全, 威胁情报, 威胁狩猎, 安全优先, 安全防御评估, 开发者工具, 开源安全工具, 恶意软件分析, 模型上下文协议, 脱壳, 自动化逆向工程, 自然语言命令, 请求拦截, 逆向分析, 逆向工具, 逆向工程平台, 静态分析