作为运维/开发者,我对密码管理器有三个硬性要求:
- 数据必须本地加密存储,不能有任何云同步
- 代码必须完全透明,不能有后门
- 界面必须极简,手机电脑都要好用
找不到满意的,于是自己写了 CmdVault。
安全架构
| 层级 |
技术 |
说明 |
| 密钥派生 |
PBKDF2(10万次迭代) |
防暴力破解 |
| 数据加密 |
AES-256-GCM |
加密 + 完整性校验 |
| 完整性校验 |
HMAC-SHA256 |
防数据篡改 |
| 自毁保护 |
10 次失败自动删除 |
防暴力破解 |
| 邮件备份 |
SMTP 自动发送 |
自毁后可恢复 |
| 推送通知 |
PushDeer |
实时安全告警 |
设计哲学
- 零信任:主密码不存储、不传输、不记录
- 无后门:没有"忘记密码"功能,主密码是唯一入口
- 极简界面:卡片式管理,手机端拇指友好
- 自带生成器:易记密码、强密码、SSH 密钥
自毁保护流程
text
输错 3 次 → PushDeer 推送 ⚠️ 警告
输错 5 次 → 锁定 24h + 邮件发送加密备份
输错 8 次 → PushDeer + 邮件 🚨 即将自毁
输错 10 次 → 💥 数据自毁 + 邮件最后备份
技术栈
| 组件 |
技术 |
| 后端 |
Python Flask + SQLite |
| 加密引擎 |
Web Crypto API(浏览器原生) |
| 前端 |
纯 HTML/CSS/JS,零依赖 |
| 部署 |
Docker Compose 一键部署 |
项目地址
🔗 下载:https://share.fnnas.net/s/20ff19a9f7ab426ab8
📖 指南:https://guide.dafili.cn/cmdvault/
CmdVault,一个真正安全的密码保险箱。只有你知道密码,只有你能打开。