AxKeyStore 是什么?
AxKeyStore 是一个安全开源命令行界面 (CLI) 工具,用于管理密钥、密钥和密码。其核心目的是让你使用自己的私有 GitHub 仓库作为加密存储,同时将 GitHub 视为不可信存储。
使用 AxKeyStore,加密在客户端进行。加密数据是存储在远程 GitHub 仓库中的内容,密钥不会以明文形式保存在仓库中。该工具还避免在本地文件系统中以未加密形式存储密钥、主密钥或密码。
主要特性
- GitHub 私有仓库作为加密后端:将密钥存储在你控制的私有仓库中,使用加密二进制 blob。
- 所有密钥处理采用客户端加密:密钥在上传前在你的机器上加密;不会发送明文密钥。
- 零信任 / 多层加密模型:使用本地主密钥 (LMK) 加密本地配置(包括你的 GitHub 访问令牌和仓库名称),使用远程主密钥 (RMK) 加密实际存储的密钥。
- 现代认证加密和密钥派生:LMK 加密使用 Argon2id 和 XChaCha20-Poly1305;三层方案设计确保只有加密工件到达 GitHub。
- 通过 GitHub Apps 和 Device Flow 统一认证:使用 GitHub Apps 结合 Device Flow 进行安全认证。
- CLI 工作流用于初始化和操作:包含登录、初始化存储仓库以及通过简单命令集管理密钥的命令。
- 分层分类组织:将密钥组织在如
api/production/internal等分类中。 - 多配置文件支持:管理具有不同登录、主密码和 GitHub 仓库的多个密钥库。
如何使用 AxKeyStore
- 安装 CLI:在 macOS/Linux 上,运行提供的 shell 安装脚本。在 Windows 上,运行提供的 PowerShell 安装脚本。脚本会下载二进制文件,将其置于
$HOME/.axkeystore/bin下,并配置你的 PATH。 - 使用 GitHub 账户登录:运行
axkeystore login。首次登录时,设置主密码;此密码用于加密敏感的本地 GitHub 访问令牌。 - 安装所需的 GitHub App:登录过程中,CLI 提供链接安装适用于你的用户或组织的 GitHub App。你必须安装该应用以授予仓库访问权限。
- 初始化存储仓库:运行
axkeystore init --repo <repo-name>(或包含组织/所有者,如my-org/my-secret-store)。如果仓库已在另一台机器上初始化,AxKeyStore 将在初始化时提示。
初始化后,你可以使用 CLI 在私有 GitHub 仓库中以加密 blob 形式存储和检索凭据。
使用场景
- 存储 GitHub 托管凭据而不以明文保存:在私有仓库中保存 API 密钥、密码和其他密钥,仅存储加密数据。
- 使用分类按环境或域分离密钥:使用如
api/production/internal等分层分类组织密钥,便于导航不同环境。 - 跨不同 GitHub 仓库管理多个密钥库:为不同仓库和主密码维护独立配置文件,适用于跨多个项目或组织工作。
- 锁定本地凭据存储:确保 GitHub 访问令牌和仓库名称(本地凭据)使用本地主密钥加密,并由用户主密码保护。
- 跨机器使用不可信远程存储:在另一台机器上初始化同一加密仓库(初始化时提示),远程仅保存加密 blob,每个客户端处理加密。
常见问题
-
AxKeyStore 会在 GitHub 中以未加密形式存储密钥吗? 不会。密钥在客户端加密,仅将加密二进制 blob 存储在私有 GitHub 仓库中。
-
加密密钥或主密码会通过网络发送吗? 项目说明没有明文密钥、主密钥或密码接触网络。加密完全在你的机器上进行。
-
AxKeyStore 使用什么认证方式? 它使用 GitHub Apps 和 Device Flow 进行认证。
-
AxKeyStore 如何保护本地数据? 它使用本地主密钥 (LMK),该密钥使用你的主密码通过 Argon2id 和 XChaCha20-Poly1305 加密,LMK 用于加密本地配置,如 GitHub 访问令牌和仓库名称。
-
安装支持哪些操作系统? 仓库提供 macOS/Linux(通过
install.sh)和 Windows(通过install.ps1)的安装脚本。
替代方案
- 其他支持客户端加密的 CLI 密钥管理工具:寻找本地加密密钥并仅将密文存储在远程后端(类似不受信任存储模型)的工具,通常使用 S3、Git 或其他存储。
- 专用密码管理器(基于 Vault 的应用):使用本地应用或桌面/移动 Vault 管理加密与同步;工作流程不同,因为后端由密码管理器管理,而非你控制的私有 GitHub 仓库。
- 基于 Git 的加密密钥存储方案:某些方法将加密文件存储在 Git 中并依赖你的加密工具;与 AxKeyStore 相比,你需自行管理加密工作流程,而非使用专用 CLI 及其密钥模型。
- 云密钥管理服务(托管加密):在托管系统中存储密钥的服务;与 AxKeyStore 所述模型不同,客户端不受信任存储方式可能并非主要设计模式。
替代品
ClawTick
ClawTick 是 CLI 优先的 AI 代理自动化平台,可按 cron 调度基于 webhook 的任务,并提供监控、告警、重试与执行日志。
Falconer
Falconer 是自更新知识平台,帮高速度团队在一个地方编写、分享并搜索可靠内部文档与代码上下文。
OpenFlags
OpenFlags 是开源自托管功能开关系统,支持渐进式交付;应用 SDK 本地评估,配套简单控制平面实现安全定向发布。
skills-janitor
skills-janitor 插件用于审计和跟踪 Claude Code 技能使用情况,并与九个聚焦的斜杠命令进行对比,零依赖。
Rectify
Rectify是一体化SaaS运营平台,集监控、分析、支持、路线图、更新日志与智能体管理于一处,通过对话在可视化工作区协同控制。
Studio CLI
使用 Studio CLI 在终端控制 WordPress Studio:管理本地站点,创建/更新/删除 WordPress.com 预览,并进行身份认证。