恶意软件分析工具

一个专为Claude Desktop设计的MCP服务器,用于执行终端命令进行恶意软件分析。

  • by abdessamad-elamrani
  • JavaScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 abdessamad-elamrani/malwareanalyzermcp

使用说明

恶意软件分析器MCP

Claude Desktop的专用MCP服务器,允许执行恶意软件分析的终端命令。

特性

  • 执行具有可配置超时的终端命令
  • 读取正在运行或已完成的进程的输出
  • 专门的恶意软件分析命令(file, strings, hexdump, objdump, xxd)
  • 清洁的流程管理,优雅的停机
  • 纯JavaScript实现-无需构建步骤

安装

# Install dependencies
npm install

用法

运行服务器

# Start the server directly
node index.js

# Or use npm script
npm start

# With debugging proxy (logs all communications)
npm run debug

与Claude Desktop集成

要将此MCP服务器与Claude Desktop集成,请执行以下操作:

  1. 打开克劳德桌面的设置(克劳德菜单→ 设置)
  2. 点击“开发人员”,然后点击“编辑配置”
  3. 更新您的配置以包括:
{
  "mcpServers": {
    "MalwareAnalysisMCP": {
      "command": "node",
      "args": [
        "/path/to/MalwareAnalysisMCP/index.js"
      ]
    }
  }
}

备注:替换 /path/to/MalwareAnalysisMCP 带有项目目录的实际路径。

  1. 重新启动克劳德桌面

调试

要查看Claude Desktop和MCP服务器之间的所有通信:

  1. 更新您的Claude Desktop配置以使用调试代理:
{
  "mcpServers": {
    "MalwareAnalysisMCP": {
      "command": "node",
      "args": [
        "/path/to/MalwareAnalysisMCP/mcp-debug-proxy.js"
      ]
    }
  }
}
  1. 检查日志 logs 目录

兼容性说明

  • 需要Node.js 18或更高版本
  • 使用ESM模块与Node.js v22+兼容

API

基本工具

shell命令

执行终端命令并返回其进程ID、输出和阻塞状态。

参数:

  • command (string):在终端中执行的命令
  • timeout_ms (数字,可选):超时时间(毫秒)(默认值:30000)

退货:

  • pid (编号):进程ID
  • output (string):命令输出
  • isBlocked (boolean):命令执行是否被阻止/超时

读输出

读取正在运行或已完成的进程的输出。

参数:

  • pid (number):要从中读取输出的进程ID

退货:

  • output (string | null):进程输出,如果找不到进程,则为null

专业恶意软件分析工具

以下专用工具可用于恶意软件分析:

文件

分析文件并确定其类型。

参数:

  • target (string):要分析的目标文件
  • options (字符串,可选):其他命令行选项

例子:

{
  "target": "suspicious.exe",
  "options": "-b"
}

字符串

从文件中提取可打印字符串。

参数:

  • target (string):要分析的目标文件
  • minLength (数字,可选):要显示的最小字符串长度
  • encoding (string,可选):字符串编码(s=7位,s=8位,b=16位大端序,l=16位小端序等)
  • options (字符串,可选):其他命令行选项

例子:

{
  "target": "suspicious.exe",
  "minLength": 10,
  "encoding": "l"
}

hexdump

以十六进制格式显示文件内容。

参数:

  • target (string):要分析的目标文件
  • length (number,可选):要显示的字节数
  • offset (数字,可选):文件中的起始偏移量
  • options (字符串,可选):其他命令行选项

例子:

{
  "target": "suspicious.exe",
  "length": 256,
  "offset": 1024
}

反汇编

显示目标文件中的信息。

参数:

  • target (string):要分析的目标文件
  • disassemble (boolean,可选):反汇编可执行部分
  • headers (boolean,可选):显示节标题的内容
  • options (字符串,可选):其他命令行选项

例子:

{
  "target": "suspicious.exe",
  "disassemble": true
}

xx天

创建一个ASCII表示的hexdump。

参数:

  • target (string):要分析的目标文件
  • length (number,可选):要显示的字节数
  • offset (数字,可选):文件中的起始偏移量
  • cols (number,可选):将输出格式化为指定数量的列
  • bits (布尔值,可选):切换到位(二进制)转储
  • options (字符串,可选):其他命令行选项

例子:

{
  "target": "suspicious.exe",
  "cols": 16,
  "bits": true
}

许可证

国际协调委员会