SuperAPI AI 工具集

op-cli

安全与审计

查看项目

更新于 10-16 01:35

技能介绍

用途:规范使用 1Password CLI(op)安全读取密钥、发现保管库(vault)与条目,并将凭据直接管道传输给消费方工具,避免密钥值出现在对话或输出中。

核心规则:绝不要打印密钥。不要运行会把密钥值输出到 stdout 的 op 命令;应始终直接管道给消费方,或用 wc -c 等方式在不暴露值的前提下验证。示例:op item get ITEM_ID --vault VAULT --fields label=PASSWORD --reveal | wrangler secret put SECRET_NAME --env ENV;验证存在性:op item get ITEM_ID --vault VAULT --fields label=PASSWORD --reveal 2>/dev/null | wc -c。

条目名含斜杠:部分条目使用路径式标题(如 pool-party/testnet-pool-party-public/credentials)。op:// URI 以 / 为分隔符,遇到这类标题会报 too many '/'。此时应改用条目 ID,而非 op:// 引用。

发现流程:不知道条目 ID 时,先 op item list --vault VAULT_NAME 查找标题与 ID(第一列),再用 ID 进行后续读取。查看某条目有哪些字段(安全,仅显示标签不显示值)可加 --format json 后用 python3 提取 label。

常见管道模式:Cloudflare Workers 用 npx wrangler secret put;环境变量用子 shell 赋值 SECRET="$(op item get ...)";kubectl 用 kubectl create secret generic my-secret --from-file=password=/dev/stdin。

无暴露验证:用 wc -c 检查非空;用 cmp -s 比较两处来源是否一致,只依据退出码输出 match/differ。

排错:too many '/' 表示标题含斜杠,改用条目 ID;could not find item 需检查保管库或先 op item list;输出为空通常缺 --reveal;not signed in 属会话过期,运行 eval "$(op signin)"(避免打印会话令牌)。

限制:资料未提供客户端版本、权限模型、平台支持等细节,暂未提供。