Azure CLI 示例把查询文本直接放入双引号 shell 参数,可能触发本机命令执行
原文依据:2 处回退命令要求把 `<kql-query>` 替换到双引号包围的 `--body` 中。若查询、数据库名、集群名或区域值含有双引号、反引号或 `$()` 等 shell 语法,直接文本替换可能突破原参数并让 shell 执行本机命令。
恶意或未经审查的查询文本可能以运行代理的用户身份读取或修改文件、访问本机凭据,或执行其他命令。
该 Skill 在 MCP 不可用时明确要求改用 CLI,并把数据库名和 KQL 作为双引号 shell 参数中的文本占位符。若代理通过直接字符串替换执行命令,查询中的 `"`、反引号或 `$()` 可能被 shell 解释,导致本机命令执行或请求被篡改。这里没有可见脚本,因此只证明危险的命令模板,不证明已执行。用户可要求作者使用参数数组和可靠的 JSON 编码,或禁止 CLI 回退。
If Azure MCP Kusto tools fail, timeout, or are unavailable, use Azure CLI commands as fallback.查看另外 1 个位置
For queries, use the Kusto REST API or direct cluster URL:```bashaz rest --method post \ --url "https://<cluster>.<region>.kusto.windows.net/v1/rest/query" \ --body "{ \"db\": \"<database>\", \"csl\": \"<kql-query>\" }"```