核心用法
Mema Vault 是一款本地运行的命令行凭据管理工具,采用 AES-256-CBC 加密与 PBKDF2-HMAC(480,000 次迭代)密钥派生,通过强制环境变量 MEMA_VAULT_MASTER_KEY 实现主密钥隔离。核心工作流包括:
- 存储凭据:
vault set <service> <user> <password> [--meta]加密写入本地存储 - 检索凭据:
vault get <service>默认返回脱敏输出,--show显式暴露明文 - 枚举凭据:
vault list查看已存服务列表
显著优点
1. 军工级加密标准:AES-256 + PBKDF2-HMAC 组合,480k 迭代次数显著增加暴力破解成本
2. 强制主密钥架构:Master Key 仅通过环境变量注入,避免配置文件残留明文密钥
3. 默认安全输出:敏感字段自动掩码,降低终端日志泄露风险
4. 零外部依赖:纯本地运行,无需网络连接或第三方托管服务
潜在局限与风险
- 单点故障风险:Master Key 丢失即导致全部凭据不可恢复,无密钥恢复机制
- 环境变量持久化:若用户误将
MEMA_VAULT_MASTER_KEY写入.bashrc等持久化配置,将抵消安全设计 - 无访问审计:本地存储缺乏操作日志,无法追溯密钥使用记录
- 依赖 Python 环境:
cryptography库需额外安装,存在供应链污染可能 - 无多用户支持:设计为单用户本地工具,无法应对团队共享场景
适合人群
- 个人开发者需集中管理本地开发环境的 API 密钥、数据库密码
- 小型项目 CI/CD 流水线需安全注入临时凭据
- 对云密码管理服务(如 AWS Secrets Manager)有合规顾虑的用户
常规风险管控建议
1. Master Key 应通过一次性注入(如 export MEMA_VAULT_MASTER_KEY=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 32))并配合 unset 清理
2. 定期轮换 Master Key 并重新加密凭据库
3. 避免在版本控制或备份中包含加密数据库文件与密钥环境变量