Token导航 LogoToken导航

MCP Server · 安全风控

Memory Shell Detector MCP

基于FastMCP构建的Java内存马检测和清理工具,支持本地和SSH远程执行,提供源码分析和AI确认功能。

stdio官方级别未说明来源级核验工具 9
PythonClaude安全Claude DesktopCursorWindsurfClineVS Code

快速开始

作者 / 组织
RuoJi6
提供方
RuoJi6
运行时
Python

工具数量

9

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

25

仓库热度

收录来源

2 个

MCP World

选型结论

Memory Shell Detector MCP 属于安全风控类 MCP Server,公开资料标注 9 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude、Cursor,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

安全风控

传输方式

stdio

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

安装命令

uvx memory-shell-mcp

客户端配置示例

{
  "mcpServers": {
    "memory-shell-mcp": {
      "command": "uvx",
      "args": [
        "memory-shell-mcp"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 9 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

Memory Shell Detector MCP

基于 FastMCP 构建的 Java 内存马检测和清理工具 MCP 服务器,支持本地执行和 SSH 远程执行。

项目地址:https://github.com/RuoJi6/memory-shell-mcp

功能

功能工具名称对应命令
执行命令(本地/SSH)execute_command-
下载检测工具download_detector_tools-
列出Java进程list_java_processes-l
扫描指定进程scan_process`-s
`
查看可疑类代码view_class_code`-v -p
`
移除内存马remove_memory_shell`-r -p
`
导出检测报告export_report--report
获取系统信息get_system_info_tool-
检测网络状态check_network-

安全特性

  • 移除内存马前会先获取源代码供 AI 分析确认
  • 需要 AI 确认后(ai_confirmed=True)才会执行移除操作
  • 自动处理移除确认提示

环境要求

  • Python 3.10+
  • JDK 1.8+(目标机器)
  • uv(Python 包管理器)

快速开始(uvx 方式)

发布到 PyPI 后,直接使用 uvx 运行,无需安装:

uvx memory-shell-mcp

MCP 配置(uvx 方式)

支持 MCP 的客户端:本工具可配置到任何支持 Model Context Protocol 的 AI 客户端,包括但不限于: - IDE/编辑器:Cursor、Windsurf、VS Code(需安装 Copilot 扩展)、Zed、Kiro 以下是常用客户端的配置示例:
Kiro

在 .kiro/settings/mcp.json 中添加:

{
  "mcpServers": {
    "memory-shell-detector": {
      "command": "uvx",
      "args": ["memory-shell-mcp"],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}
Claude Desktop

在 claude_desktop_config.json 中添加:

{
  "mcpServers": {
    "memory-shell-detector": {
      "command": "uvx",
      "args": ["memory-shell-mcp"],
      "env": {}
    }
  }
}
说明:env 中的环境变量均为可选配置。不配置时,工具会下载到系统临时目录,SSH 参数可通过 AI 对话传入。

开发者模式(本地源码)

安装

git clone https://github.com/RuoJi6/memory-shell-mcp.git
cd memory-shell-mcp

# 创建虚拟环境并安装依赖
uv venv --python python3.12
source .venv/bin/activate  # Linux/macOS
# .venv\Scripts\activate   # Windows

uv pip install -e .

运行

# 激活虚拟环境后
memory-shell-mcp

MCP 配置(开发者模式)

{
  "mcpServers": {
    "memory-shell-detector": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/path/to/memory-shell-mcp",
        "memory-shell-mcp"
      ],
      "env": {}
    }
  }
}
说明:env 中的环境变量均为可选配置。不配置时,工具会下载到系统临时目录,SSH 参数可通过 AI 对话传入。

环境变量说明(可选)

变量说明
TOOLS_DIR检测工具(JAR 文件)存放目录,不设置则下载到系统临时目录
SSH_HOSTSSH 主机地址
SSH_USERNAMESSH 用户名
SSH_PASSWORDSSH 密码
SSH_KEY_PATHSSH 私钥路径(与密码二选一)
SSH_PORTSSH 端口(默认 22)
JAVA_HOMEJDK 路径(可选)
- 所有环境变量均为可选,不配置也可正常使用 - 设置环境变量后,调用工具时无需每次传入对应参数 - 如果 TOOLS_DIR 目录中已存在工具文件,download_detector_tools 会跳过下载 - SSH 参数也可以通过 AI 对话动态传入,优先级高于环境变量

使用流程

完整检测流程

第一步:准备工作
1. 调用 download_detector_tools 下载检测工具
2. 调用 list_java_processes 列出所有 Java 进程,找到目标进程 PID
第二步:扫描检测
3. 调用 scan_process(pid=目标PID) 扫描目标进程
4. 扫描结果会列出所有可疑类,记录完整类名
第三步:源码分析(关键步骤)
5. 对每个可疑类调用 view_class_code(class_name="类名", pid=PID) 反编译查看源码
6. 分析源码判断是否为内存马

内存马判断标准:

  • ✅ 是否包含命令执行代码(Runtime.exec、ProcessBuilder)
  • ✅ 是否包含反射调用敏感方法
  • ✅ 是否有异常的网络连接或文件操作
  • ✅ 是否动态注册 Filter/Servlet/Listener
  • ✅ 是否有加密/编码的可疑字符串(Base64、AES 等)
  • ✅ 是否有 Webshell 特征(参数名为 cmd/command/exec 等)
  • ✅ 类名是否异常(随机字符串、与业务无关)
  • ✅ 是否有类加载器操作(defineClass、ClassLoader)
第四步:清除内存马
7. 确认是内存马后,调用 remove_memory_shell(class_name="类名", pid=PID, ai_confirmed=True)
8. 移除后立即再次调用 scan_process 验证是否清除成功
9. 重要:某些内存马需要多次移除才能彻底清除,如果仍然存在,重复步骤 7-8
第五步:生成报告(可选)
10. 调用 export_report 导出检测报告存档

示例提示词

直接复制以下提示词发送给 AI 即可开始检测:

本地检测

帮我检测本机的 Java Web 服务,排查是否存在内存马。

检测要求:
1. 先下载检测工具,然后列出 Java 进程找到目标 PID
2. 扫描该进程,获取所有可疑类列表
3. 对每个可疑类反编译源代码,分析是否为内存马
4. 如果确认是内存马,执行移除操作
5. 移除后再次扫描验证,某些内存马需要多次移除才能彻底清除
6. 最后给我一个检测报告总结

SSH 远程检测

帮我检测远程服务器上的 Java 服务是否存在内存马。

服务器信息:
- IP: 192.168.1.100
- 用户名: root
- 密码: your_password

检测要求:
1. 通过 SSH 连接到服务器
2. 下载检测工具到 /tmp 目录
3. 列出所有 Java 进程,扫描可疑进程
4. 反编译分析每个可疑类的源代码
5. 确认是内存马后执行移除,并验证移除结果
6. 生成检测报告

内存马类型说明

类型特征移除难度
Filter 型实现 javax.servlet.Filter,动态注册到 FilterChain中等,可能需要多次移除
Servlet 型继承 HttpServlet,动态注册路由中等
Listener 型实现 ServletRequestListener 等较易
Spring Controller使用 @RequestMapping 动态注册中等
Spring Interceptor实现 HandlerInterceptor中等
Agent 型通过 Instrumentation 修改字节码困难,可能需要重启
Valve 型 (Tomcat)继承 ValveBase中等

旧版使用流程(简化版)

1. 下载检测工具

调用 download_detector_tools

2. 列出 Java 进程

调用 list_java_processes()

3. 扫描可疑进程

调用 scan_process(pid=进程ID)

4. 查看可疑类源代码

调用 view_class_code(class_name="类名", pid=进程ID)

5. 移除内存马

# AI 确认后调用
调用 remove_memory_shell(class_name="类名", pid=进程ID, ai_confirmed=True)

SSH 远程执行

方式1:环境变量预设

在 MCP 配置的 env 中设置:

"env": {
  "TOOLS_DIR": "/your/tools/directory",
  "SSH_HOST": "192.168.1.100",
  "SSH_USERNAME": "root",
  "SSH_PASSWORD": "password"
}

调用时只需设置 use_ssh=True:

调用 scan_process(pid=12345, use_ssh=True)

方式2:AI 对话动态传入

直接告诉 AI SSH 连接信息:

调用 scan_process(
    pid=12345,
    use_ssh=True,
    ssh_host="192.168.1.100",
    ssh_username="root",
    ssh_password="password"
)
对话传入的参数优先级高于环境变量

工具下载地址

工具会自动从以下地址下载:

  • Agent JAR: https://xget.xi-xu.me/gh/RuoJi6/memory-shell-mcp/releases/download/1/detector-agent-1.0.0-SNAPSHOT.jar
  • CLI JAR: https://xget.xi-xu.me/gh/RuoJi6/memory-shell-mcp/releases/download/1/memory-shell-detector-cli.jar

支持系统

  • Windows / Linux / macOS

风险等级说明

等级说明
CRITICAL确认为内存马,需立即处理
HIGH高度可疑,建议人工确认
MEDIUM中等风险,可能是正常组件
LOW低风险,基本可排除
SAFE安全,已在白名单中

注意事项

  1. 扫描其他进程需要足够的系统权限
  2. 目标进程和检测工具需使用相同或兼容的 JDK 版本
  3. Agent JAR 需要和 CLI JAR 放在同一目录下
  4. Agent 型内存马无法通过本工具移除,需要重启应用
  5. 移除内存马可能影响应用正常运行,建议先备份

发布到 PyPI

# 1. 注册 PyPI 账号并获取 API Token
# https://pypi.org/manage/account/token/

# 2. 构建包
uv build

# 3. 发布到 PyPI
uv publish --token YOUR_PYPI_TOKEN

# 4. 发布后即可通过 uvx 运行
uvx memory-shell-mcp

参考项目

License

MIT License

工具与能力

工具数量

9

资源数量

0

提示词数量

0

能力标签

内存马检测Python本地部署Java安全恶意软件清除服务器安全AI辅助安全

支持客户端

Claude DesktopClaudeCursorWindsurfClineVS Code

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

资产与漏洞排查

批量查询资产和漏洞信息,输出待修清单。

日志审计

从日志里筛出异常访问和高风险操作。

合规检查

按规则核对配置项,记录不符合项。

选择建议

值得选的地方

  • 只提供 9 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude、Cursor,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在安全风控场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Memory Shell Detector MCP

MCP World · 本页

9stdio有2 个2026-05-17
Modelcontextprotocol C22988b0

MCP World

0stdio有1 个2026-05-17
Hexstrike AI

MCP World

0stdio有1 个2026-05-17
Cyber Strike AI

MCP World

75未说明未标注1 个2026-05-17
MCP Scan

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Memory Shell Detector MCP 怎么安装?

公开资料给出的安装命令是 uvx memory-shell-mcp,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Memory Shell Detector MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Memory Shell Detector MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Memory Shell Detector MCP 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Memory Shell Detector MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cursor、Windsurf、Cline、VS Code;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP