恶意软件分析服务器

一个模块化且安全的模型上下文协议(MCP)服务器,提供实时威胁情报和恶意软件样本元数据,集成MalwareBazaar、VirusTotal和Telegram,支持离线分析和加密工具。

  • by SaeidSec
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 SaeidSec/Malware-Analysis-MCP-Server

使用说明

高级恶意软件分析MCP服务器

专业、模块化、安全 模型上下文协议(MCP) 服务器为AI助手(如Claude、Cursor和Windsurf)提供实时威胁情报和恶意软件样本元数据。

它集成了 马尔瓦尔集市, 病毒总数,以及 电报,以及10多个离线分析和加密实用程序,使人工智能模型能够自主帮助防御恶意软件研究。

🔒 安全第一: 此服务器提供 仅元数据和IOC实时恶意软件二进制文件的下载被设计为永久禁用。路径遍历保护可确保安全的本地文件哈希。


🌟 能力

  • 实时威胁英特尔: 查询MalwareBazaar以获取最近的样本、哈希信息或标签。
  • VirusTotal集成: 通过内置API速率限制获取分析统计数据、信誉和文件类型。
  • 高级IOC提取: 从非结构化文本中提取和取消标记/重新标记IP、域、URL、哈希和电子邮件。
  • YARA一代: 要求AI根据样本的确切签名生成模板YARA规则。
  • 离线加密实验室: AES-GCM加密(PBKDF2 600k迭代)、SHA256/MD5散列、香农熵分析和Hexdump。
  • 警报: 将调查结果直接发送到Telegram频道。
  • 安全本地哈希: 安全地计算本地文件的SHA256,以检查威胁数据库,严格按照允许的目录进行chroot。

🚀 A-to-Z安装和部署指南

此服务器可与任何标准MCP客户端配合使用。以下是构建项目并将其部署到以下位置的说明 克劳德桌面版 (Mac/Windows)或在其上进行视觉测试 Linux/Ubuntu 使用MCP检查器。

步骤1:先决条件和构建

确保你有 Node.js(v18或更新版本) 安装在您的机器上。

# 1. Clone the repository
git clone https://github.com/SaeidSec/Malware-Analysis-MCP-server.git
cd Malware-Analysis-MCP-server

# 2. Install dependencies
npm install

# 3. Build the TypeScript files
npm run build

步骤2:获取API密钥

  • MB_AUTH_KEY (必填):在以下网址获取免费的身份验证密钥 auth.abuse.ch.
  • VT_API_KEY (可选):病毒的API总数 vt_lookup免费层运行良好(服务器处理4个请求/分钟的限制)。
  • TG_BOT_TOKEN & TG_CHAT_ID (可选):Telegram机器人令牌和聊天ID send_alert 工具。
  • ALLOWED_SCAN_DIRS (强烈推荐):逗号分隔的绝对路径列表(例如。, /home/user/Downloads,/tmp/malware).这严格限制了 check_local_file 该工具可防止人工智能任意对个人文件进行哈希运算。

部署选项A:克劳德桌面(Mac/Windows)

Claude Desktop是目前使用MCP服务器最流行的方式。

  1. 打开您的Claude Desktop配置文件:

    • 雨衣: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  2. 添加服务器配置,指向本地构建 dist/index.js:

{
  "mcpServers": {
    "malware-analysis-mcp": {
      "command": "node",
      "args": [
        "/absolute/path/to/Malware-Analysis-MCP-server/dist/index.js"
      ],
      "env": {
        "MB_AUTH_KEY": "YOUR_ABUSECH_AUTH_KEY",
        "VT_API_KEY": "YOUR_VT_API_KEY",
        "ALLOWED_SCAN_DIRS": "/Users/name/Downloads,/tmp/malware"
      }
    }
  }
}
  1. 完全重新启动克劳德桌面。现在,您可以提示克劳德使用您的新威胁情报工具!

部署选项B:Linux/Ubuntu(通过MCP检查器的Web GUI)

由于Claude Desktop还没有官方的Linux客户端,在Ubuntu上部署和测试服务器的最佳方式是使用Anthropic的官方 MCP检查员.

  1. 根据示例创建环境变量文件:
cp example.env .env
nano .env # Add your API keys here
  1. 将MCP服务器直接运行到检查器中:
npx -y @modelcontextprotocol/inspector node dist/index.js
  1. 打开提供的 http://localhost:5173 在您的网络浏览器中链接并单击 连接。您将看到一个漂亮的UI,您可以在其中直观地测试以下工具 get_recent 或 extract_iocs 手动。

🛠️ 可用的MCP工具

威胁情报

  • get_recent -获取MalwareBazaar的最新作品
  • get_info -通过SHA256获取精确的样本元数据
  • get_taginfo -按标签获取样本(例如“TrickBot”)
  • virustotal_lookup -VT V3检测统计数据和信誉
  • suggest_analysis_blogs -链接到Malpedia、MITRE和文章

高级分析

  • extract_iocs -从文本中提取域名、IP、MS5/SHA256、电子邮件
  • bulk_hash_check -一次检查MalwareBazaar的多个哈希值
  • threat_summary -为特定示例生成精心策划的Markdown报告
  • generate_yara_template -基于元数据创建YARA规则的起点
  • defang_iocs / refang_iocs -安全的IOC共享(例如。, 1[.]1[.]1[.]1)
  • check_local_file -安全地散列本地文件并查询VT/MB

离线实验室实用程序

  • 编码: base64_encode, base64_decode, url_encode, url_decode, hex_encode, hex_decode
  • 压缩: gzip_compress, gzip_decompress
  • 加密货币: aes_gcm_encrypt, aes_gcm_decrypt, hash_text
  • 分析: entropy (香农), hexdump_text

告警

  • send_alert -将消息推送到Telegram(TG_BOT_TOKEN 和 TG_CHAT_ID 需要env变量)

🔒 安全架构

  1. 没有实时二进制文件: 这 get_file 工具已禁用。不能欺骗服务器执行或保存有效负载二进制文件。
  2. 路径横向保护: 请求 check_local_file 已解决、规范化并严格检查 ALLOWED_SCAN_DIRS.
  3. 加密货币: AES实现使用PBKDF2,具有600000次迭代(OWASP 2023标准)和16字节随机盐。
  4. 速率限制: 通过循环LLM保护您的自由层VirusTotal API密钥免受意外耗尽。
  5. 流式哈希: 内存安全流用于哈希本地文件,防止千兆字节级OOM崩溃。

🧑‍💻 发展

# Install dependencies
npm install

# Run typechecker
npm run typecheck

# Build the project
npm run build

# Run in dev mode
npm run dev

看 贡献.md 获取完整指南。

许可证

MIT许可证。看 许可证 了解详情。