SuperAPI AI 工具集

cmdxray

cmdxray 是一个离线运行的 shell 命令安全分析工具,用于对智能体执行的 shell 命令进行安全把关。它将命令拆解为程序、子命令、参数、管道、重定向和子 shell,并用通俗英语逐项标注说明,同时对真正具有破坏性的模式给出风险判定(danger / caution / none)。它支持命令行、可分享卡片、JSON 输出、批量扫描,并作为 MCP 服务器接入 AI 智能体,在命令执行前充当安全门。所有处理都在本地完成,不上传任何数据。

访问官网

工具介绍

cmdxray 是一个离线 shell 命令分析与安全检测工具,由 AI 智能体自主编写、测试和发布,定位是 AI 智能体执行 shell 命令前的安全门。它的核心目标是让用户或智能体在运行命令之前,先看清命令里每个参数、管道、重定向和子 shell 的含义,并识别其中真正具有破坏性的部分。所有处理都在本地完成,不上传任何内容。

主要能力

  1. 命令标注:解析管线结构(管道、&&、||、重定向、子 shell、组合短选项如 -xzvf),将每个 token、子命令、标志及其取值翻译为通俗英语。支持 git commit、docker run、kubectl get、systemctl restart 等子命令,能把参数值与对应选项关联(如 -p 8080:80、-o out.html)。对常见单行命令如 sed、awk、jq 过滤器以及 ffmpeg、openssl 的多字符单横线选项也能正确解析。对未收录的命令,会读取本机 man page 摘要作为补充,匹配本地实际安装的版本。
  2. 风险检查:标记命令中真正具有破坏性的部分,例如 curl … | bash、rm -rf /(含 --no-preserve-root)、dd of=/dev/…、mkfs、向磁盘设备重定向、fork bomb、chmod 777、git push --force、git reset --hard、sudo 等,同时对普通安全命令保持安静,避免误报。
  3. 可分享卡片:生成自包含的 SVG 或 HTML 卡片,可用于 PR 评论、运行手册、幻灯片或社交分享。也可生成链接,在离线浏览器 playground 中打开预加载命令的解析结果。
  4. lint 门禁:对 shell 脚本、Dockerfile、CI YAML 的 run: 步骤、Makefile、git hook 等文件进行扫描,发现危险命令时使构建失败。输出 file:line 格式的报告,发现 DANGER 时退出码为 1,干净时为 0。--strict 会对 CAUTION 级别也报失败,--exit-zero 只报告不失败,--json 输出机器可读结果。还能检测 GitHub Actions 工作流 run: 块中的 ${{ }} 注入点。
  5. guard 交互式防护:安装后,当交互式 shell 中即将执行被标记为破坏性的命令时,shell 会暂停并解释危险原因,等待确认;回答 N 则命令不会执行。设计为 fail-open:普通命令不会调用 cmdxray,若 cmdxray 缺失或出错,命令正常执行。目前支持 bash,zsh guard 暂未提供。
  6. check 风险检查:对单条命令运行危险引擎,以退出码表示结果(0 无危险,1 有风险),便于在脚本中组合使用。
  7. JSON 输出与批量模式:--json 输出稳定的纯 JSON 报告,包含解析后的 AST、逐 token 解释和风险警告,方便接入自定义工具链。--batch-json 从 stdin 读取 JSON 命令数组,一次进程返回对应的 JSON 报告数组,适合批量扫描仓库中提取出的数千条 shell 片段。
  8. MCP 服务器:提供零依赖的 MCP 服务器,接入 Claude Desktop/Code、Cursor、Cline、Windsurf 等 AI 智能体,使其在执行命令前可调用 check_command_safety、lint_script、explain_command 三个工具进行安全检查和解释。可通过 npx、全局安装或容器镜像运行,使用 stdio 通信。

使用方式

  • 终端运行:cmdxray <command>,逐项标注每个 token。
  • 生成卡片:cmdxray -o card.svg "<command>",或使用 --svg / --html。
  • 生成分享链接:cmdxray --link tar -xzvf a.tgz | pbcopy。
  • 风险检查:cmdxray check "<command>"。
  • 文件扫描:cmdxray lint,可配置为 pre-commit hook 或 GitHub Actions 步骤。
  • 交互式防护:在 ~/.bashrc 中添加一行即可启用 guard。
  • JSON 与批量:cmdxray --json、cmdxray --batch-json。
  • MCP 服务器:npx cmdxray-mcp,或 npm i -g cmdxray 后指向 cmdxray-mcp,或使用 docker build -t cmdxray-mcp . && docker run -i --rm cmdxray-mcp。

适用场景

  • 在运行不熟悉的安装脚本或一行命令前,快速理解其行为与风险。
  • 在文档、PR、运行手册中分享命令的清晰解释。
  • 在 CI 或 pre-commit 阶段阻止危险命令进入代码库。
  • 为自主运行 shell 命令的 AI 智能体提供执行前的安全门。
  • 批量分析代码库中嵌入的 shell 片段。

限制说明

  • lint 是启发式、按行扫描,并非完整 shell 解析器,但危险规则精度较高。
  • 命令数据库目前覆盖约 65 个常用命令,仍在增长;未收录命令会回退到本地 man page 或通用提示,因此解释可能不如收录命令详细。
  • guard 目前仅支持 bash,zsh guard 暂未提供。
  • 关于定价、收费、平台、效果、使用步骤等未在资料中明确提供的信息,本文不作说明。