Back to MCP directory
publicPublicdnsLocal runtime

oletools-mcp-server

一个基于FastMCP的安全微服务项目,用于静态分析Microsoft Office文档中的潜在恶意内容,支持VBA/XLM宏检测、DDE链接检查等功能。

article

README

🚀 基于OleTools的安全MCP服务器

本项目搭建了一个微服务,借助FastMCP对微软办公文档(像Excel、Word、PowerPoint等)以及相关文件类型(例如XLL加载项)展开分析。运用静态分析技术,可检测出文档中潜藏的恶意内容。此服务集成了oletoolsXLMMacroDeobfuscatorpefile等外部工具。

✨ 主要特性

  • 宏分析:能够分析VBA宏 (olevba),检测XLM宏 (XLMMacroDeobfuscator, olevba)。
  • 链接检查:可检查DDE链接 (msodde)。
  • 对象提取:支持提取嵌入的OLE对象 (oleobj)。
  • 函数分析:能分析XLL文件导出的可疑函数 (pefile)。
  • IOC提取:使用iocextract提取IOC(URL、IP、哈希、邮件)。
  • 文件验证:提供基于MIME类型和文件大小的基本验证 (python-magic)。
  • 风险分级:配置评分系统以实现基础风险分级。
  • 系统集成:设计用于与支持MCP协议的系统集成(如兼容版本的Claude Desktop)。

📦 安装指南

先决条件

  • Python 3.6及以上版本
  • OLETools:通过 pip install oletools 安装
  • XLMMacroDeobfuscator:通过 pip install XLMMacroDeobfuscator 安装
  • python-magic:在Windows上通过 pip install python-magic-bin 安装
  • iocextract(可选):通过 pip install iocextract 安装以实现高级IOC提取
  • Claude Desktop应用程序

安装步骤

  1. 克隆仓库
    git clone https://github.com/pradeep895/oletools-mcp-server.git
    cd oletools-mcp-server
    
  2. 安装依赖项
    pip install -r requirements.txt
    
  3. 下载"Claude Desktop"应用程序,进入开发者设置并编辑"claude_desktop_config.json"文件,将内容粘贴到配置文件中。重启应用程序。
  4. 运行配置文件
    python config.py
    
  5. 启动服务器
    python mcp_service.py
    
  6. 在"Claude Desktop"应用程序中检查是否出现“锤子图标”,表示MCP工具已可用。
  7. 输入命令 analyze_vba_macros in <filepath\example.xlsm> 以分析Excel文件并获取结果:
    analyze_vba_macros file_path:"C:\path\to\your\example.xlsm"
    
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client