Agent Skills
返回列表
变色龙 Ultra CLI 控制器

变色龙 Ultra CLI 控制器

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md ,安装 @user_0611a1f0/chameleon-ultra-cli-skill 技能到你的 AI 助手环境中。

技能介绍

背景:交互式 Repl 的脚本化困境

Chameleon Ultra 官方提供的 chameleon_cli_main 是一个基于 prompt_toolkit 的交互式命令行程序。在日常测试或自动化任务中,我们常常需要将多条指令通过脚本连续下发给设备,并在结束后捕获完整的终端输出。然而在 Windows 环境下,由于程序以完整终端模式运行,简单的管道输入(Pipe)无法驱动其读取命令,导致自动化脚本直接失效。

工作原理与核心能力

本技能的核心思路是将 chameleon_cli_main 包裹在伪终端(PTY)中运行,从而骗过程序使其认为自己连接在一个真实的交互式终端上。这种方式让我们能够可靠地通过脚本追加或读出终端数据,完美绕过 Windows 管道限制。

  • 首步配置:可执行文件的路径无法事先硬编码。首次运行时需通过辅助脚本持久化保存路径到 config.json,之后所有调用均直接复用该路径。
  • 自动化执行机制:为降低传入参数的复杂度,辅助脚本会自动在命令树前补充 hw connect,并在末尾追加 exit,确保每次调用都能以独立可自行结束的会话完成。
  • 多命令与批处理:同一个会话中的命令会顺序执行,适合将配置、加载与运行命令串联;亦可通过 --file 一次性运行文本文件中的多行指令。
  • 环境适配细节:Windows 下依赖本地创建的 .venv 提供 PTY 支持(需联网安装一次 pywinpty);POSIX 环境则直接调用系统自带的 pty 模块,无需额外配置。

技术难点与边界

在日常使用与排错时需注意以下约束,这些往往决定了脚本执行的成败:

  • 物理连接依赖:hw connect 依赖实际的 USB 连接或已配对的 BLE,离线盲目执行只会直接报错退出。
  • 无状态会话:脚本不支持跨调用的会话持久化,连续的多步工作流务必放在同一次调用中执行。
  • 换行符与终端应答:底层 Repl 仅认 \n 作为执行信号;当前脚本已自动处理相关回车符逻辑及 prompt_toolkit 的终端能力查询应答。但在直接调试或更换不同固件版本时,可通过 --raw 抓取原始 ANSI 终端序列以核对应答逻辑是否需要更新。
  • 硬件辅助攻击:针对 MIFARE Classic 的 Darkside 等耗时算力攻击,可以通过 --timeout 调高执行上限,避免因计算耗时超时截断输出。

使用场景

  • USB 连接 Chameleon Ultra 后,用脚本扫描 ISO14443-A 卡并汇总读取到的 UID
  • 已知一个扇区密钥,对 MIFARE Classic 卡执行 nested 攻击恢复其他扇区密钥
  • 把一张 MIFARE dump 载入指定卡槽并启用,模拟卡片刷读卡器测试
  • 通过 commands.txt 批量执行命令,修改 LED 动画和 BLE 配对密钥等设备设置

适合人员

  • 物联网安全研究员,需要把 Chameleon Ultra 纳入自动化测试流程,避免手动敲交互式命令
  • 渗透测试工程师,需要脚本化执行 darkside、nested 等 MIFARE Classic 密钥攻击并汇总结果
  • 硬件安全工程师,需要批量管理模拟卡槽、加载或保存 dump 文件做读卡器兼容性验证
  • 固件或 CLI 工具维护者,需要在 Windows 上自动化验证 chameleon_cli_main 各命令组的输出