Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SSH_HOST | No | SSH 主机地址 | |
| SSH_PORT | No | SSH 端口(默认 22) | 22 |
| JAVA_HOME | No | JDK 路径(可选) | |
| TOOLS_DIR | No | 检测工具(JAR 文件)存放目录,不设置则下载到系统临时目录 | |
| SSH_KEY_PATH | No | SSH 私钥路径(与密码二选一) | |
| SSH_PASSWORD | No | SSH 密码 | |
| SSH_USERNAME | No | SSH 用户名 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {
"tasks": {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
}
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| execute_command | 执行系统命令(本地或通过 SSH 远程执行) 这是一个通用的命令执行工具,可用于:
注意:内存马检测的核心功能请使用专用工具(list_java_processes、scan_process 等), 此工具仅用于辅助操作。 Args: command: 要执行的 shell 命令 use_ssh: 是否使用 SSH 远程执行 ssh_host: SSH 主机地址(不指定则从环境变量 SSH_HOST 读取) ssh_username: SSH 用户名(不指定则从环境变量 SSH_USERNAME 读取) ssh_password: SSH 密码(不指定则从环境变量 SSH_PASSWORD 读取) ssh_key_path: SSH 私钥路径(不指定则从环境变量 SSH_KEY_PATH 读取) ssh_port: SSH 端口,默认 22(不指定则从环境变量 SSH_PORT 读取) timeout: 命令超时时间(秒),默认 300 秒 Returns: 执行结果,包含 success、stdout、stderr、return_code |
| download_detector_tools | 下载 Java 内存马检测工具包(detector-agent.jar 和 detector-cli.jar) 此工具会下载两个核心 jar 包:
这是使用内存马检测功能的前置步骤,下载完成后才能执行后续的扫描和分析操作。 Args: tools_dir: 工具存放目录,不指定则从环境变量 TOOLS_DIR 读取,都没有则使用系统临时目录 use_ssh: 是否在远程服务器上下载 ssh_host: SSH 主机地址(不指定则从环境变量 SSH_HOST 读取) ssh_username: SSH 用户名(不指定则从环境变量 SSH_USERNAME 读取) ssh_password: SSH 密码(不指定则从环境变量 SSH_PASSWORD 读取) ssh_key_path: SSH 私钥路径(不指定则从环境变量 SSH_KEY_PATH 读取) ssh_port: SSH 端口(不指定则从环境变量 SSH_PORT 读取) Returns: 下载结果,包含工具目录路径和 jar 文件名 |
| list_java_processes | 执行 memory-shell-detector-cli.jar 列出系统中所有运行的 Java 进程 底层命令: java -jar memory-shell-detector-cli.jar -l 此工具通过调用内存马检测器的 CLI jar 包,扫描系统中所有 Java 进程, 返回进程 PID、进程名称等信息,用于后续选择目标进程进行内存马扫描。 Args: tools_dir: 检测工具 jar 包所在目录 use_ssh: 是否通过 SSH 在远程服务器执行 ssh_host/ssh_username/ssh_password/ssh_key_path/ssh_port: SSH 连接参数 Returns: processes: Java 进程列表信息 |
| scan_process | 执行 memory-shell-detector-cli.jar 对指定 Java 进程进行内存马扫描检测 底层命令: java -jar memory-shell-detector-cli.jar -s 此工具通过 Java Agent 技术注入目标 JVM 进程,扫描以下可疑组件:
扫描结果会列出所有可疑类的完整类名,供后续反编译分析。 Args: pid: 目标 Java 进程的 PID tools_dir: 检测工具 jar 包所在目录 use_ssh: 是否通过 SSH 在远程服务器执行 ssh_host/ssh_username/ssh_password/ssh_key_path/ssh_port: SSH 连接参数 Returns: scan_result: 扫描结果,包含可疑类列表 |
| view_class_code | 执行 memory-shell-detector-cli.jar 从 JVM 内存中提取并反编译指定类的字节码 底层命令: java -jar memory-shell-detector-cli.jar -v <class_name> -p 此工具通过 Java Agent 从运行中的 JVM 进程内存中 dump 指定类的字节码, 然后使用内置反编译器将字节码还原为可读的 Java 源代码。 这是分析内存马的关键步骤,可以查看:
Args: class_name: 要反编译的完整类名(如 com.example.EvilFilter) pid: 目标 Java 进程的 PID tools_dir: 检测工具 jar 包所在目录 use_ssh: 是否通过 SSH 在远程服务器执行 ssh_host/ssh_username/ssh_password/ssh_key_path/ssh_port: SSH 连接参数 Returns: source_code: 反编译后的 Java 源代码 |
| remove_memory_shell | 执行 memory-shell-detector-cli.jar 从 JVM 内存中移除指定的内存马类 底层命令: java -jar memory-shell-detector-cli.jar -r <class_name> -p 此工具通过 Java Agent 技术从运行中的 JVM 进程中卸载/禁用指定的恶意类, 实现不重启服务的情况下清除内存马。 移除机制:
安全机制:首次调用时会先反编译目标类源码供 AI 分析确认, 确认是内存马后需设置 ai_confirmed=True 再次调用才会执行移除。 Args: class_name: 要移除的内存马完整类名 pid: 目标 Java 进程的 PID tools_dir: 检测工具 jar 包所在目录 ai_confirmed: AI 是否已确认该类为内存马(首次调用设为 False) use_ssh: 是否通过 SSH 在远程服务器执行 ssh_host/ssh_username/ssh_password/ssh_key_path/ssh_port: SSH 连接参数 Returns: 首次调用返回反编译源码供分析,确认后返回移除结果 |
| export_report | 执行 memory-shell-detector-cli.jar 生成内存马检测报告 底层命令: java -jar memory-shell-detector-cli.jar --report <output_file> -p -f 此工具将扫描结果导出为结构化报告,包含:
Args: pid: 目标 Java 进程的 PID output_file: 报告输出文件路径 tools_dir: 检测工具 jar 包所在目录 format: 报告格式(json/html/txt) use_ssh: 是否通过 SSH 在远程服务器执行 ssh_host/ssh_username/ssh_password/ssh_key_path/ssh_port: SSH 连接参数 Returns: 导出结果和报告文件路径 |
| get_system_info_tool | 获取当前系统环境信息 返回操作系统类型、平台架构、临时目录等信息, 用于判断检测工具的兼容性和确定工具存放路径。 Returns: system: 操作系统(Linux/Windows/Darwin) platform: 完整平台信息 machine: CPU 架构 temp_dir: 系统临时目录路径 |
| check_network | 检测网络连通性 测试是否能访问工具下载服务器,用于在下载检测工具前确认网络状态。 如果网络不通,需要手动下载 jar 包或检查网络配置。 Returns: available: 网络是否可用 message: 状态描述信息 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |