SuperAPI AI 工具集

secrets

安全与审计

查看项目

更新于 10-16 08:02

技能介绍

用途:本技能用于通过 1Password Environments 与服务账号管理密钥,安全地获取、登记和验证 API 密钥、凭据、令牌、环境变量以及 GitHub Secrets。密钥保存在 1Password Environment 的 .env 中,Mac Studio 上通过通用服务账号 mac-studio-development 读取;服务账号仅作读取认证主体,Environment 才是密钥存放处,不存在把变量迁移到服务账号的步骤。

配置:Environment ID 位于 ~/.config/op/environment-id,服务账号令牌位于 ~/.config/op/service-account-token,令牌文件权限为 600,使用 shell 变量 OP_ENVIRONMENT_ID 与 OP_SERVICE_ACCOUNT_TOKEN,无 vault 访问权限,仅可读取 .env。

禁止事项:不使用 op item list、op item get、op item create、op item delete;不创建 op:// vault secret reference 或 .env.1password;不切换到 op signin、Touch ID 或 1Password 应用集成;不把密钥值写入 Keychain、仓库、同步文件夹或 shell 配置;不输出密钥值、部分值、长度或编码形式;Environment 对应 CLI 不可用时不得回退到 vault item。

执行前确认:确认所用 1Password CLI 为支持 Environments 的 beta 版本,可运行 op environment --help、op run --help、op whoami --format json;op whoami 须返回 SERVICE_ACCOUNT,失败时检查令牌文件存在且权限为 600、~/.zshenv 已加载 OP_SERVICE_ACCOUNT_TOKEN、CLI 支持 op environment 与 op run --environment,否则停止。

使用方式:不显示值地确认 Environment 访问,可执行 op environment read "$OP_ENVIRONMENT_ID" >/dev/null;向命令注入变量用 op run --environment "$OP_ENVIRONMENT_ID" -- <command>;仅检查某变量是否存在时用 op run --environment "$OP_ENVIRONMENT_ID" -- sh -c 'test -n "$OPENAI_API_KEY"'。新增或更新变量使用 $onepassword-environment-secrets,先确认已有变量名避免重复,完成后只报告变量名与访问成功。

GitHub Secrets:仅在用户明确指定仓库与变量名时,从 Environment 注入目标进程进行设置,例如 op run --environment "$OP_ENVIRONMENT_ID" -- sh -c 'printf "%s" "$OPENAI_API_KEY" | gh secret set OPENAI_API_KEY --repo owner/repo',值不得出现在标准输出、日志或聊天中。

Cloudflare:其认证不使用 1Password、op run 或 CLOUDFLARE_API_TOKEN,只用 mise 管理的 Wrangler 与既有 OAuth 会话,执行前用 wrangler whoami 确认;仅当向本地 Worker 注入应用运行时密钥时才用 op run --environment,只把所需变量绑定到 binding 名,并从子进程环境中移除 OP_SERVICE_ACCOUNT_TOKEN 与 OP_ENVIRONMENT_ID。

限制:资料未提供具体收费、平台支持范围或更多使用步骤。