终端多路复用AI代理工具

Post-Exploitation tmux MCP 是一款将tmux终端多路复用功能作为AI代理工具暴露的MCP服务器,内置安全防护措施,适用于渗透测试和安全研究。

  • by RaghavanSV
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 RaghavanSV/Tmux-MCP

使用说明

Tmux-MCP

MCP server exposing tmux as AI-agent tools with built-in safety guardrails

Introduction • Features • Installation • Usage • Tool Reference • Testing • Disclaimer

简介

开发后tmux MCP是一个 模型上下文协议 暴露基本信息的服务器 终端复用器 作为MCP工具的功能——为AI代理提供了一个功能齐全的终端多路复用器,用于后开发操作。每个命令都经过验证 内置护栏 在执行破坏性的系统命令之前阻止它们。建于 FastMCP,它允许任何兼容MCP的客户端(AI代理、自动化框架等)创建会话、生成窗口、拆分窗格和运行命令,同时防止意外或恶意的系统损坏。

特性

此服务器公开 14工具 涵盖以下类别:

  • 会话管理:

    • 创建分离会话
    • 列出所有活动会话
    • 终止特定会话
  • 窗口管理:

    • 在会话中创建新窗口
    • 列出会话中的窗口
    • 关闭特定窗口
  • 窗格管理:

    • 垂直或水平拆分窗格
    • 列出运行命令和PID信息的窗格
    • 删除特定窗格
  • 命令执行(全部受保护):

    • execute_command --运行带有护栏验证的命令
    • send_keys --将击键发送到窗格(按下Enter键时受到保护)
    • capture_pane --删除尾随空格后的读取窗格输出
  • 公用设施:

    • validate_command_safety --预先检查命令而不执行
    • kill_server --杀死整个tmux服务器
  • 内置护栏阻挡:

    • 文件销毁-- rm -rf /, shred, wipefs
    • 磁盘操作-- mkfs, dd if=, fdisk, parted
    • 叉式炸弹-- :(){ :|:& };:
    • 系统关机-- shutdown, reboot, halt, init 0/6
    • 关键流程终止-- kill -9 1, killall -9
    • 许可炸弹-- chmod -R 777 /
    • 危险重定向-- > /etc/passwd, > /etc/shadow
    • 网络破坏-- iptables -F
    • 日志篡改-- > /var/log/, history -c
    • 执行混乱-- curl ... | sh, base64 -d | sh

安装

只需克隆存储库并安装依赖项:

git clone https://github.com/RaghavanSV/Tmux-MCP.git
cd 'Tmux-MCP'
pip install -r requirements.txt

先决条件:tmux必须安装在目标计算机上。

用法

运行MCP服务器

python server.py

使用交互式客户端进行测试

python client.py

客户端连接到 server.py 通过stdio,列出可用的工具,并为您提供一个交互式REPL来调用它们。

从MCP客户端(例如AI代理)连接

{
  "mcpServers": {
    "post-exploitation-tmux": {
      "command": "python3",
      "args": ["path/to/Tmux-MCP/server.py"]
    }
  }
}

生成会话、创建窗口并运行受保护的命令

# Using the interactive client
> create_session("pentest", "recon")
> execute_command("pentest", "recon", "0", "nmap -sV 192.168.1.1")
> capture_pane("pentest", "recon", "0")

工具参考

会话

工具 说明
create_session(name, window_name?) 创建新的分离会话
list_sessions() 列出所有会话
kill_session(name) 销毁会话

视窗

工具 说明
create_window(session, name?) 创建新窗口
list_windows(session) 列出窗口
kill_window(session, index) 关闭一个窗口

窗格

工具 说明
split_pane(session, window, direction?) 垂直/水平拆分窗格
list_panes(session, window) 带有命令和PID的列表窗格
kill_pane(session, window, pane) 杀死窗格

命令执行(受保护)

工具 说明
execute_command(session, window, pane, command) 运行命令(检查护栏)
send_keys(session, window, pane, keys, press_enter?) 发送击键(如果输入,则受到保护)
capture_pane(session, window, pane, start?, end?) 读取窗格输出(删除尾随空格)

效用

工具 说明
validate_command_safety(command) 预先检查命令而不执行
kill_server() 终止tmux服务器(销毁所有会话)

项目结构

Post-Exploitation/
├── server.py            # FastMCP server — 14 tools
├── tmux_wrapper.py      # Thin Python wrapper around tmux CLI
├── guardrails.py        # Command validation & safety checks
├── client.py            # Interactive MCP test client
├── test_guardrails.py   # Guardrails unit tests
├── requirements.txt     # Python dependencies
└── README.md            # This file

测试

进行护栏测试

python test_guardrails.py

交互式测试MCP工具

python client.py

参考文献

https://github.com/tmux/tmux
https://github.com/jlowin/fastmcp
https://modelcontextprotocol.io
https://github.com/tmux-python/libtmux

免责声明

请自行负责使用此项目!此工具用于 仅限授权渗透测试和安全研究未经授权使用您不拥有或没有明确许可测试的系统是非法的。作者不对任何滥用此项目的行为负责。

许可证

该项目正在进行中 麻省理工学院 许可证

版权所有©2025, 拉加万SV