Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
secure-vault-for-commercial — 安全文件保险库 | Kitploit
工具/GitHubGitHub/keerthivasan-sankar/secure-vault-for-commercial
防御工具加密/解密工具数据恢复密码学隐私保护身份验证
GitHubkeerthivasan-sankar/secure-vault-for-commercial

secure-vault-for-commercial

安全文件保险库

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库
31910天前尚未审核

Secure Vault

Secure Vault logo 📄 技术论文: SecureVault_Technical_Paper_v3.5.0.pdf · 在 Zenodo 上引用

面向 Windows 的本地优先文件加密,使用物理 USB 密钥而非密码进行保护。

⚠️ v3.5.0 包含一项破坏性安全修复 — 从早期版本升级前请先查看 CHANGELOG.md。


目录

  • 这是什么
  • 为什么使用 USB 密钥而不是密码
  • 功能特性
  • 安装
  • 首次设置
  • 使用 Secure Vault
    • 加密文件
    • 解密文件
    • 注册 USB 密钥
    • 查看已注册设备
    • 备份
    • 恢复文件
    • 邮件提醒(选项 7)
    • 右键菜单集成
  • 命令行用法
  • 配置文件
  • 从源码构建安装程序
  • 安全说明
  • 故障排除
  • 许可证

这是什么

Secure Vault 使用 AES-256-GCM 加密你 Windows 机器上的单个文件(或文件夹)。加密密钥并非仅由密码保护,而是随机生成并存储在你选择的 USB 闪存盘 上。之后要解密任何内容,都必须物理插入同一个 USB 盘。

为什么使用 USB 密钥而不是密码

密码可能被猜测、钓鱼、键盘记录或暴力破解。物理密钥无法像密码那样被远程窃取。在依赖此方案之前,需要了解以下权衡:

  • 如果有人偷走了你的笔记本电脑但 没有 偷走你的 USB 盘,他们无法解密你的文件。
  • 无需输入、记忆或泄露任何内容。
  • 没有密码重置功能。 如果你丢失了 USB 盘,且没有其中密钥文件的备份,那么用它加密的任何内容都将永久无法恢复。请像对待实体房门钥匙一样对待该盘 — 时刻知道它在哪,并考虑将密钥文件本身的备份副本保存在安全的第二位置。

功能特性

  • 采用 scrypt 密钥派生的 AES-256-GCM 加密
  • 基于 USB 的主密钥,以及可选的按设备密钥以支持多台机器
  • 加密的本地备份,支持自动轮换(保留最近 5 个,30 天后过期)
  • 文件完整性校验和(检测篡改/损坏)
  • 加密后对原始文件进行多遍安全删除
  • 可选的邮件提醒,在发生保险库操作时通知
  • 可选的 Windows 资源管理器右键菜单项“使用 Secure Vault 加密/解密”
  • 完全无人值守的安装程序 — 除首次双击外无需任何交互

安装

  1. 前往 Releases 页面 下载最新的 SecureVaultSetup-x.x.x.exe。
  2. 运行它。
    • Windows 可能会显示“Windows 已保护你的电脑”SmartScreen 警告。 对于新的、未签名的安装程序,这是预期行为 — 点击 “更多信息” → “仍要运行”。原因见 安全说明。
    • 安装程序需要管理员权限(如果缺少 Node.js 可能会安装它,并且可以注册右键菜单 shell 扩展)。
  3. 安装过程中会询问是否创建桌面快捷方式以及是否添加右键菜单集成 — 两者均为可选,勾选你想要的选项。
  4. 安装程序将:
    • 检查 Node.js,如果缺失则静默安装
    • 将应用安装到 Program Files\SecureVault(或你选择的位置)
    • 安装唯一必需的依赖项(nodemailer,仅用于可选的邮件功能)
    • 创建开始菜单 / 桌面快捷方式
  5. 点击 完成 — Secure Vault 会自动启动。

正常安装无需手动步骤,也无需命令行。


首次设置

安装后第一件要做的事是 注册一个 USB 盘作为你的主密钥。在此之前无法加密或解密任何内容。

  1. 插入一个你愿意专门用于此目的的 USB 闪存盘。
  2. 启动 Secure Vault(开始菜单或桌面快捷方式)。
  3. 从菜单中选择 选项 3 — 注册 USB。
  4. 输入:master
  5. 输入盘符,例如 E:(如果失败,请参阅 故障排除)。
  6. Secure Vault 会在该盘根目录写入一个 .vault_master.key 文件。不要删除此文件,也不要丢失此盘。

可选但推荐:将该 .vault_master.key 文件复制到第二个安全存放的 USB 盘作为备份,以防主盘丢失或损坏。


使用 Secure Vault

通过开始菜单 / 桌面快捷方式启动应用,即可看到交互式菜单:

========================================
  SECURE VAULT
========================================
  1. Encrypt a file
  2. Decrypt a file
  3. Register USB
  4. View devices
  5. View backups
  6. Restore file
  7. Configure email
  8. Install right-click menu
  9. Exit

1. 加密文件

选择选项 1,然后输入文件或文件夹的完整路径。你注册的 USB 盘必须已插入。输出为一个 .vault 文件;在成功加密和备份后,原始文件会被安全删除(覆写 3 次)。

2. 解密文件

选择选项 2,输入 .vault 文件的路径。你注册的 USB 盘必须已插入 — 没有它无法解密。

3. 注册 USB 密钥

已在上文 首次设置 中介绍。如果你希望为第二台机器使用单独的密钥,同时保留一个总体主密钥,也可以注册 额外的按设备密钥(选择 device 而非 master)。

4. 查看已注册设备

列出当前注册的所有 USB 密钥(主密钥和设备密钥),数据来自 config/registered-devices.json。

5. 备份

每次加密文件时,Secure Vault 会自动在本地保存一份加密备份副本(轮换 — 保留最近 5 个,30 天后自动过期)。选项 5 可让你列出并查看这些备份。

6. 恢复

从这些本地备份之一恢复文件,以便在无需经过解密流程的情况下取回加密前的版本。

7. 邮件提醒

可选。每当发生保险库操作(加密/解密)时向你发送邮件,包括哪个文件、哪台计算机以及时间。

设置需要 Gmail 应用专用密码 — 而不是你的普通 Gmail 密码。 步骤:

  1. 确保你要用于发送的 Gmail 账户已 启用两步验证 — 前往 myaccount.google.com/security 并开启(如果尚未开启)。未启用则无法使用应用专用密码。
  2. 前往 myaccount.google.com/apppasswords,登录并生成一个新的应用专用密码(名称随意,例如 “Secure Vault”)。复制显示的 16 位代码 — 它只显示一次。
  3. 在 Secure Vault 中,选择 选项 7。
  4. 回答提示:
    • Enable email alerts? (y/n) → y
    • Your Gmail address → 你为其生成应用专用密码的账户
    • Gmail App Password → 粘贴 16 位代码(不是你的真实 Gmail 密码)
    • Alert recipient email → 你希望接收提醒的地址(可以是同一地址)

注意事项:

  • 当前构建中此功能仅支持 Gmail(硬编码为 smtp.gmail.com)。
  • 应用专用密码以明文形式存储在你机器上的 config/settings.json 中 — 不要分享该文件,也不要将包含真实凭据的该文件提交到公共仓库。
  • 如果发送失败(密码错误、无网络),它会记录错误并继续 — 绝不会阻塞或破坏加密/解密操作。
  • 完全可选 — 回答 n 即可跳过,其他一切功能照常运行。

8. 右键菜单集成

将“使用 Secure Vault 加密” / “使用 Secure Vault 解密”添加到 Windows 资源管理器右键菜单,这样无需先打开应用菜单即可加密/解密。


命令行用法

所有功能也可在不使用交互式菜单的情况下使用:

node secure-vault-launcher.js encrypt "C:\path\to\file"
node secure-vault-launcher.js decrypt "C:\path\to\file.vault"
node secure-vault-launcher.js register master E:
node secure-vault-launcher.js register device F:
node secure-vault-launcher.js devices
node secure-vault-launcher.js backup list
node secure-vault-launcher.js backup view <name>
node secure-vault-launcher.js backup view-latest
node secure-vault-launcher.js restore list
node secure-vault-launcher.js restore restore "C:\path\to\file"
node secure-vault-launcher.js email
node secure-vault-launcher.js rightclick
node secure-vault-launcher.js help

请从安装文件夹(例如 C:\Program Files\SecureVault)运行此命令。


配置文件

文件用途
config/settings.json邮件提醒设置(地址、应用专用密码、启用标志)
config/registered-devices.json已注册 USB 设备列表

这些文件在安装时以安全的占位值创建,并随你使用应用而自动更新 — 无需手动编辑。


从源码构建安装程序

如果在 Windows 上本地构建,需要 Inno Setup 6:

iscc installer.iss

输出:dist/SecureVaultSetup-<version>.exe

或者让 GitHub Actions 为你构建(无需 Windows 机器)— 推送一个版本标签:

git tag v3.5.0
git push origin v3.5.0

.github/workflows/build.yml 中的工作流会在 Windows 运行器上构建安装程序,并自动将其附加到 GitHub Release。


安全说明

  • USB 密钥从不以明文存储。 自 v3.3.0 起,你 USB 盘上的 32 字节密钥本身也经过加密(AES-256-GCM),其密钥通过 scrypt 从你的密码派生。仅短暂物理接触 USB 盘的人,如果不知道密码,也无法提取出可用的密钥 — 这取代了早期将原始密钥以明文存储在盘上的设计。
  • 这是可移动密钥的持有,而非硬件绑定的保管。 USB 盘上的密钥文件是普通的、可复制的文件 — 不是存储在防篡改硬件(如智能卡、TPM 或 YubiKey 之类的设备)内部的秘密,后者根本不允许原始密钥材料离开设备。短暂物理接触你的盘的人(或在盘挂载时你机器上运行的恶意软件)可以复制该文件;但如果没有你的密码,这对他们毫无用处。如果你需要真正的硬件绑定保管,专用硬件安全令牌比普通 USB 盘是更强的选择。
  • 使用 Node 内置的 crypto 模块:AES-256-GCM 配合 scrypt 密钥派生,每次操作使用随机盐和 IV,并使用认证标签检测篡改。
  • 每次加密操作都将格式/用途上下文作为 AAD(附加认证数据)绑定到其 GCM 认证标签,因此来自某一上下文(例如包装的文件密钥层)的密文和标签永远无法被静默替换到另一上下文(例如文件内容层)中。
  • 加密密钥和完整性校验密钥是分别派生的(通过 HKDF),来自同一根密钥,而不是直接将一个密钥复用于两种不同的密码学用途。
  • 文件完整性使用 带密钥的 HMAC-SHA256(使用同一解锁密钥)进行检查,并在尝试解密之前验证。早期版本使用无密钥的 SHA-256 校验和,任何人都可以伪造 — 它没有提供真正的防篡改保护。当前的 HMAC 则提供了。
  • 7-Zip 通过 execFileSync 调用,参数以数组形式传递,而非 shell 字符串 — 这消除了早期版本中存在的命令注入风险,当时恶意构造的文件/文件夹名可能突破 shell 引号。
  • 密码和密钥材料被捕获到 Buffer 中(而非 JS 字符串),并在每次使用完成后立即显式清零(.fill(0))— 自 v3.5.0 起,这现在还包括解密后的明文文件内容本身,而不仅仅是密钥材料。这是一项真正的改进,但并非绝对保证 — Node.js/V8 可能在内部保留其他副本(例如在垃圾回收期间,或内存被操作系统分页到磁盘时),应用程序代码无法触及或控制这些副本。
  • 本项目尚未经过独立的第三方安全审计。 它构建于标准且经过充分审查的密码学原语之上,社区审查提出的若干问题也已修复(见 CHANGELOG.md),但整体实现仅经过非正式审查。请将其用于你能够承受丢失的内容,而不要将其作为任何不可替代之物的唯一防线。
  • 安全删除会在移除原始文件前覆写 3 次 — 请注意,在 SSD 上,磨损均衡意味着基于覆写的删除并不能保证原始数据在硬件层面无法恢复。
  • 安装程序目前未签名,这就是 Windows 在首次运行时显示 SmartScreen 警告的原因。未签名并不意味着不安全 — 它意味着 Windows 尚未为此特定发布者/文件建立信誉。在信任编译后的 .exe 之前,你可以自行在此仓库中验证源代码。
  • 按设计没有密码恢复功能。 你的密码从不存储在任何地方。如果你忘记了它,用它加密的文件将永久无法恢复,即使手中有正确的 USB 盘。

故障排除

“Enter drive” — 我应该使用什么格式? E、e、E: 或 E:\ 中的任何一种都可以 — Secure Vault 会自动规范化,并在写入任何内容之前验证该盘是否存在。

ENOENT 错误,提及安装目录内类似 e\.vault_master.key 的文件夹 这是旧版本中的一个 bug,当时输入的盘符没有冒号(例如仅 e)会被误读为相对文件夹名,而不是真实盘符。此版本已修复 — 如果你仍看到此问题,请更新到最新版本。

邮件提醒未发送

  • 确认该 Gmail 账户已开启两步验证。
  • 确认你使用的是 应用专用密码,而不是常规 Gmail 密码。
  • 检查你的网络连接。
  • 打印到控制台的错误消息通常会说明具体原因。
下载工具