Skip to content

Add configuration option to disable/whitelist elevation check for invoke_expression #48

@nv1j2

Description

@nv1j2

问题描述: 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 参数控制

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions