核心用法
Ravi Passwords 是一款面向命令行用户的端到端加密密码管理工具,专为网站登录凭证设计。用户可通过 ravi passwords create 创建条目,系统自动清理 URL 为裸域名(如将 https://mail.google.com/inbox 转为 google.com),并支持密码自动生成(默认 16 位,可自定义长度、字符集)。凭证字段(用户名、密码、备注)在本地 CLI 完成加密后传输,检索时自动解密,全程对用户透明。
常用工作流包括:创建条目时可显式指定密码或依赖 --generate 自动生成;list 命令仅返回明文域名和元数据;get 命令解密返回完整凭证;update 和 delete 支持条目生命周期管理。额外提供 generate 子命令用于纯密码生成而不存储。
显著优点
- 透明 E2E 加密:敏感字段加密/解密由 CLI 自动处理,无需用户管理密钥
- 域名智能清理:自动提取根域名,避免重复条目和 URL 变体混乱
- 灵活的密码策略:支持长度定制、排除特殊字符/数字、排除特定字符等细粒度控制
- JSON 优先设计:所有输出结构化,便于脚本集成和自动化工作流
- 与生态深度整合:与
ravi-login(自动注册/登录)、ravi-identity(获取用户邮箱)等技能联动
潜在缺点与局限性
- 域名明文存储:
domain字段未加密,服务端理论上可知用户拥有哪些网站凭证(虽不知具体内容) - 无多因素认证:作为 CLI 工具,依赖系统级身份验证,无内置 MFA
- 无跨设备同步机制说明:文档未明确描述凭据如何在多设备间同步
- 无导入/导出功能:缺乏从其他密码管理器迁移的明确路径
- 密码生成算法未公开:安全性依赖未文档化的随机数生成实现
适合人群
- 习惯命令行工作流的开发者和技术用户
- 需要自动化脚本集成密码管理的场景(如 CI/CD 中的测试账号管理)
- 已使用 Ravi 生态其他技能(如
ravi-login)的用户 - 对 E2E 加密有基础认知,愿意信任 CLI 实现的用户
常规风险
| 风险类别 | 说明 |
|---------|------|
| **密钥管理** | E2E 加密密钥由 CLI 内部处理,用户无法备份或轮换,存在单点故障风险 |
| **元数据泄露** | 域名列表以明文存储,可能泄露用户服务使用模式 |
| ** clipboard/历史泄露** | 密码明文出现在 `get` 输出中,可能进入 shell 历史或终端回滚缓冲区 |
| **混淆风险** | 明确区分 `ravi-passwords`(网站凭证)与 `ravi-secrets`(API 密钥),误用可能导致安全策略违规 |