ma-vault · 开发者密钥保险箱
本地加密的开发者凭证库。API Key、数据库口令、服务器账号——一条都不用写进 .env,一条都不用粘到聊天框里。
它解决什么问题
开发时总有一堆高权限、不能进 Git、也不能明文发给别人的字符串:
- 各家云厂商的
API_KEY / SECRET
- 测试库、预发库、线上库的账号口令
- 跳板机、VPN、第三方 SaaS 的登录凭据
- 别人交接给你的"就先用这个 token"
这些不该写进代码注释、不该贴到 Notion、不该明文落到 ~/Documents。
ma-vault 给这些字符串一个本地加密的小保险箱:
- 用一个主密码把所有东西锁起来
- 复制到剪贴板后自动清空
- 不用时一键锁定,内存里的明文立即销毁
- 全部数据放在你本机的一个加密文件里,不上传任何服务
核心功能
一、侧边栏面板(推荐主入口)
- 打开 VS Code 侧边栏里的 ma-vault 视图
- 按类型标签浏览条目:账号口令 / API Key / 备注 / 服务器凭证
- 顶部搜索框实时筛选标题、标签、类型
- 收藏过滤、列表按更新时间排序
- 详情页:双击字段显隐、生成器填入、复制即用
二、密码生成器
- 一键生成强密码(长度、是否带符号、是否排除易混淆字符可配置)
- 生成完直接填回当前字段,不用手敲不用复制
- 条目详情页里任何"密码 / 口令 / 密钥"字段旁边都有生成按钮
三、恢复密钥
- 首次初始化时生成一份恢复密钥——打印或抄下来,妥善保管
- 哪天主密码忘了:只要有恢复密钥就能解开保险箱
- 改主密码不影响恢复密钥(它们是两条独立路径)
- 恢复密钥只显示这一次,关掉初始化流程就再也看不到了——这是设计如此
四、自动锁定
- 空闲一段时间(默认 10 分钟)自动锁定
- 切到别的窗口立即锁定(可选)
- 关闭 VS Code 时明文已经销毁
- 锁定后内存里没有任何明文,主密码也要重新输入
五、原生 VS Code 设置
所有偏好都走 VS Code 原生设置面板(Ctrl+, 搜 ma-vault),包括:
| 设置 |
默认 |
作用 |
| 自动锁定时间 |
10 分钟 |
空闲多久后锁,0 = 永不自动 |
| 失焦立即锁 |
关 |
切到别的窗口是否立刻锁 |
| 复制后清空剪贴板 |
30 秒 |
倒计时归零自动清,0 = 不清 |
| 记住主密码 |
关 |
用系统钥匙串跳过主密码(降低安全性) |
| 默认密码长度 |
20 |
生成器的默认长度 |
| 包含符号 |
开 |
生成器是否带 !@#$% |
| 易混淆字符 |
关 |
是否排除 0 O l 1 I |
| 保留备份数 |
7 |
数据目录保留几份自动备份 |
数据放在哪、怎么保安全
这是打开保险箱后会看到的那张图(in-app intro 视图 也保留):
你的脑子 / 纸 内存(锁定即销毁) 磁盘 vault.json
┌─────────────┐ ┌───────────────┐
│ │ 主密码 → KEK → 拆开 wrappedDek │ wrappedDek │ ← KEK 加密后的 DEK
│ 主密码 │ ↓ ├───────────────┤
│ │ DEK(只活在这条泳道) │ 条目密文 │ ← DEK 加密的每条记录
└─────────────┘ └───────────────┘
不落盘、连哈希都不存 本体不出内存 这两样离开主密码都打不开
关键事实:
- 不存主密码:连主密码的哈希都不写盘
- 不存 DEK:DEK(实际用来加解密的钥匙)只在内存里活着,锁定即销毁
- 不存任何明文条目:磁盘上只有密文和"包着密文的那把锁"
- 唯一解开方式:你的主密码——或你备份的恢复密钥
- 不上传任何东西:所有数据始终留在你本机的数据目录
概念速查
| 概念 |
干什么的 |
| 主密码 |
你唯一要记的那串字符。绝不落盘——忘了主密码又丢了恢复密钥 = 数据永久打不开 |
| KEK |
从主密码派生的临时钥匙,用完即丢 |
| DEK |
真正加解密每条条目的钥匙,只活在内存,锁定即销毁 |
| wrappedDek |
DEK 被加密后的形态,唯一进文件的那把钥匙 |
| 恢复密钥 |
独立的随机秘密,绕过主密码解开 DEK——只显示一次 |
软件不存储主密码、KEK、DEK,只存储被加密的 DEK。只有输入正确的主密码(或恢复密钥)才能解出 DEK。
快捷键速查
| 操作 |
快捷键 |
| 打开保险箱面板 |
Alt+Shift+V |
| 立即锁定 |
Alt+Shift+L |
| 立即清空剪贴板 |
命令面板搜 ma-vault: 立即清空剪贴板 |
| 查看运行日志 |
命令面板搜 ma-vault: 查看运行日志 |
| 数据保存在哪里 |
命令面板搜 ma-vault: 数据保存在哪里? |
命令速查
| 命令 |
用途 |
| ma-vault: 打开保险箱 |
打开侧边栏面板 |
| ma-vault: 解锁 / 锁定 |
解锁/锁定 |
| ma-vault: 新建条目 |
新增一条凭证 |
| ma-vault: 生成随机密码 |
独立的密码生成器 |
| ma-vault: 修改主密码 |
改主密码(不丢恢复密钥) |
| ma-vault: 数据保存在哪里? |
在系统资源管理器里打开数据目录 |
| ma-vault: 查看运行日志 |
调试用,看主进程日志 |
使用小贴士
- 第一次打开:会让你设主密码 + 生成恢复密钥——恢复密钥务必当场抄下来,关掉就再也看不到了
- 改主密码:用命令
ma-vault: 修改主密码,原恢复密钥继续有效
- 怀疑泄露:立刻
Alt+Shift+L 锁定 → 改主密码 → 必要时删掉数据目录里的旧备份
- 剪贴板被别的程序覆盖:ma-vault 只在剪贴板还是自己写的那一份时才自动清,被别人覆盖不会强制清空(避免误伤)
许可
Apache-2.0
| |