问题描述: invoke_expression 硬编码的正则 -Verb\s+RunAs|(?<!\w)runas[\s/]|(?<!\w)gsudo\s|(?<!\w)sudo\s 会拦截所有含 sudo 的命令,弹出 ⚠ ELEVATION REQUEST DETECTED → Allow? (Y/N) 交互提示。在远程 SSH 管理场景中,sudo 是正常操作,而且 MCP 客户端(AI agent)无法响应 Read-Host 导致命令永久挂起。
提出的方案(三选一或组合):
环境变量:POWERSHELL_MCP_ALLOW_ELEVATION=1
CLI flag:--allow-elevation(配置在 MCP client 的 args 里)
配置文件或命令白名单
备选方案(如果觉得完全关闭太危险):
白名单特定模式 --allow-elevation-pattern "sudo\s+systemctl"
仅在当前 session 已是 elevated 时才触发拦截
在 invoke_expression 加一个 tool 参数控制
问题描述: invoke_expression 硬编码的正则 -Verb\s+RunAs|(?<!\w)runas[\s/]|(?<!\w)gsudo\s|(?<!\w)sudo\s 会拦截所有含 sudo 的命令,弹出 ⚠ ELEVATION REQUEST DETECTED → Allow? (Y/N) 交互提示。在远程 SSH 管理场景中,sudo 是正常操作,而且 MCP 客户端(AI agent)无法响应 Read-Host 导致命令永久挂起。
提出的方案(三选一或组合):
备选方案(如果觉得完全关闭太危险):