Mema Vault

🔐 AES-256 加密凭证保险箱

AES-256加密密钥管理器,支持安全存储、检索和轮换API密钥等敏感凭证,需强制主密钥保护。

收藏
4.1k
安装
1.2k
版本
1.1.6
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Mema Vault 是一个基于 Python 的命令行凭证管理工具,采用 AES-256 (Fernet) 加密技术保护敏感数据。用户通过设置环境变量 MEMA_VAULT_MASTER_KEY 作为主密钥,执行加密存储、检索和列表查看等操作。

典型工作流:

  • 存储凭证:vault.py set <service> <user> <password> [--meta "info"] — 使用 PBKDF2HMAC(480,000 轮迭代)派生密钥并加密存储
  • 检索凭证:vault.py get <service> — 默认返回脱敏输出,需显式 --show 参数才显示明文
  • 列表查看:vault.py list — 查看已存储的服务条目

显著优点

1. 加密标准可靠:采用 AES-256-CBC 配合 PBKDF2HMAC,480,000 次迭代符合现代密码学最佳实践,抵御暴力破解
2. 强制主密钥设计:MEMA_VAULT_MASTER_KEY 环境变量为硬性依赖,避免无密钥运行的降级风险

3. 默认脱敏输出:检索时自动掩码密码,降低日志泄露风险,符合安全审计要求

4. 轻量 CLI 工具:纯 Python 实现,依赖单一 cryptography 库,部署简单

潜在缺点与局限性

1. 密钥管理负担:主密钥完全依赖用户环境变量管理,无内置密钥派生提醒或轮换机制,易因人为疏忽导致密钥泄露或丢失
2. 无访问控制:缺乏多用户权限隔离、角色分级或审计日志,单人单密钥模式不适合团队协作场景

3. 存储后端简单:未说明底层存储格式(疑似本地文件),无分布式备份、高可用或版本控制能力

4. 环境变量持久化风险:用户可能误将主密钥写入 .bashrc 或容器镜像,造成静态泄露

5. 元数据明文:--meta 信息字段未说明是否加密,可能存在信息泄露侧信道

适合人群

  • 个人开发者:管理少量个人 API 密钥、数据库凭证
  • 小型脚本项目:需基础加密保护的自动化部署场景
  • 安全学习用途:理解 Fernet/AES-256 加密实践的入门工具

常规风险

| 风险类型 | 说明 | 缓解建议 |
|---------|------|---------|
| 主密钥泄露 | 环境变量被进程转储、容器日志捕获或误提交至代码仓库 | 使用临时 shell 导出,配合 `unset` 清理;优先采用密钥管理服务(AWS Secrets Manager、HashiCorp Vault 等)注入 |
| 加密数据丢失 | 主密钥遗忘或损坏导致所有凭证不可恢复 | 建立离线主密钥备份机制(如 Shamir 秘密共享分片) |
| 明文回显误操作 | `--show` 参数在共享终端泄露敏感信息 | 配合 `read -s` 等 shell 技巧使用,避免屏幕记录 |
| 依赖供应链攻击 | `cryptography` 库存在 CVE 漏洞 | 锁定版本并定期扫描 `pip-audit` |

总体评估

Mema Vault 作为入门级本地加密凭证库,在算法选型和基础功能上符合安全基线,但架构设计停留在单机单用户阶段。对于生产环境,建议迁移至企业级密钥管理服务;若继续使用,需严格约束主密钥生命周期并建立备份预案。

Mema Vault 内容

references文件夹
scripts文件夹
手动下载zip · 3.3 kB
security-policy.mdtext/markdown
请选择文件