核心用法
1Password CLI (op) 是 AgileBits 官方提供的命令行工具,用于在终端环境中安全访问密码库。本技能强制要求通过 tmux 会话执行所有 op 命令,解决 shell 工具每命令独立 TTY 导致的重复授权问题。
关键工作流:
1. 环境检查:验证 op --version 确认 CLI 已安装
2. 桌面集成:必须启用与 1Password 桌面应用的 Biometric Unlock 集成
3. tmux 隔离:创建专用 socket 会话(命名格式 op-auth-YYYYMMDD-HHMMSS),所有 op 命令在持久会话内执行
4. 身份验证:op signin 触发桌面应用生物识别授权
5. 多账户支持:通过 --account 参数或 OP_ACCOUNT 环境变量切换
安全操作模式:
op run:直接注入环境变量执行命令,不落盘op inject:模板变量替换,支持配置文件安全化op read:读取单个 secret 到 stdout
显著优点
- 官方权威:AgileBits 一维护,与桌面应用生态深度集成
- 零信任架构:生物识别解锁 + 端到端加密,服务端无法解密
- Secret 不落盘:
op run模式避免 credentials 写入磁盘或 shell history - 企业级多账户:支持个人、家庭、团队、企业账户并行管理
- 审计追踪:CLI 操作可在 1Password 的 Usage 日志中追踪
潜在局限
- 强依赖桌面应用:Biometric Unlock 必须保持桌面应用运行且解锁状态
- tmux 强制开销:本技能要求的隔离机制增加命令复杂度,自动化场景需额外封装
- 无离线模式:必须联网访问 1Password 服务器
- 会话有效期:signin 状态有 10 分钟默认超时,长任务需重新授权
- 企业策略限制:部分组织启用"仅受信任设备"或 IP 白名单可能阻断 CLI 访问
适合人群
- 开发人员需要在 CI/CD 或本地脚本中安全注入 API 密钥
- DevOps 工程师管理多环境(dev/staging/prod)的凭据轮换
- 安全合规要求严格的团队(SOC 2、ISO 27001)
- 已深度使用 1Password 生态的现有用户
常规风险
| 风险场景 | 缓解措施 |
|---------|---------|
| Secret 泄露到 shell history | 使用 `op run` 替代 `op read` + 管道 |
| tmux 会话残留导致越权 | 技能强制 `kill-session` 清理 |
| 屏幕录制/ shoulder surfing | 桌面应用隐藏密码字段,CLI 输出需配合 `2>/dev/null` |
| 恶意进程注入 tmux 会话 | 依赖系统级 TTY 安全,建议配合 sudo 或容器隔离 |
来源可信度:T1 — 官方文档与开源 CLI 二进制,AgileBits 行业声誉卓著。