核心用法
Passwords 是一个面向 AI Agent 环境设计的本地密码管理技能,采用 age 加密构建双文件保险箱结构(vault.age 存储凭据与策略,state.age 存储锁定计数器),全程无明文落地。用户通过主密码解锁,会话令牌绑定至主机名、UID、PID 与随机熵,15分钟 TTL 自动过期。
关键操作流程:
- 创建:强制16字符以上主密码,拒绝常见密码库词汇,可选 diceware 或
age-keygen助记词 - 解锁:解密
state.age验证锁定状态 → 解密vault.age验证策略 HMAC → 生成绑定令牌存入 OS 密钥链 - 访问:按敏感度分级(low/medium/high/critical),critical 级需二次确认,banking/medical/government 默认阻断
- 自动填充:强制 HTTPS、精确域名匹配、Unicode 归一化防同形异义、阻断钓鱼子域模式
显著优点
1. Agent 原生安全:明确拒绝从已处理内容(网页、邮件、文档)触发的凭据请求,防御提示注入攻击
2. 防篡改锁定状态:锁定计数器加密存储,无法离线重置;state.age 解密失败即触发硬锁定
3. 深度令牌绑定:会话令牌融合进程级标识,跨进程/跨主机无法复用
4. 隐私审计:日志加密存放,对外仅输出统计摘要,服务名称不出现在明文
潜在缺点与局限性
- 无恢复后门:主密码遗忘即永久丢失,依赖用户自行保管纸质恢复密钥
- SSD 擦除无效:
shred无法覆盖闪存单元,需依赖全盘加密(FileVault/LUKS/BitLocker) - TOTP 同仓风险:默认建议单仓存储,2FA 与密码同被攻破
- 跨平台密钥链差异:Linux 需
secret-tool/GNOME Keyring,配置复杂度高于 macOS - age 单算法依赖:无算法降级或迁移路径,未来若 age 出现漏洞需整体重建
适合人群
- AI Agent 开发者需隔离用户凭据与模型上下文
- 命令行优先的技术用户,熟悉
age与 shell 环境 - 对银行/医疗账户使用专用硬件密钥,但仍需管理大量中低风险凭据的用户
常规风险
| 风险场景 | 现有缓解 | 残余风险 |
|---------|---------|---------|
| 主密码弱熵 | 10K 常见密码黑名单 + 16字符下限 | 用户自定义短语仍存在模式可预测性 |
| 内存转储 | 依赖 OS 内存隔离,敏感数据短时存在 | 冷启动攻击、DMA 侧信道 |
| 供应链攻击(age 二进制) | 建议校验签名 | 构建环境污染 |
| 钓鱼域名 | 同形异义检测 + 子域白名单 | 新注册 lookalike 域名 |
| Agent 越狱绕过策略 | 强制行为锁 + 特定短语覆盖 | 模型层漏洞可能绕过规则解析 |