Arc密钥管理器:零配置CLI工具,能否取代你的Vault?

GitHub May 2026
⭐ 966
来源:GitHub归档:May 2026
一款名为Arc的开源密钥管理器正凭借其极致的简洁性崭露头角:无依赖、无云端,仅需一个命令行界面和强加密即可运行。AINews深入探究这款极简工具,能否在企业巨头主导的市场中开辟出一片天地。

Arc由安全研究员Simone 'evilsocket' Margaritelli开发,是一款面向开发者的命令行密钥管理器,旨在本地存储API密钥、密码等敏感数据,无需完整密码库方案的繁琐开销。该项目托管于GitHub上的evilsocket/arc仓库,已累计获得966颗星,日增长量为零,表明其拥有稳定但小众的追随者。其核心吸引力在于“零配置”理念:单个二进制文件、简单的`arc set`和`arc get`工作流,以及采用XChaCha20-Poly1305认证加密。与需要服务器的HashiCorp Vault或依赖云订阅的1Password CLI不同,Arc将所有数据存储在本地文件系统的加密文件中。该工具使用Go编写,因此具备跨平台能力。

技术深度解析

Arc的架构堪称极简主义的典范。整个工具就是一个单一的Go二进制文件,负责读写本地的加密文件,默认路径为`~/.arc/store.enc`。加密方案采用XChaCha20-Poly1305,这是一种现代认证加密算法,能同时提供机密性和完整性。XChaCha20是ChaCha20的一个变体,拥有192位的nonce,允许安全地生成随机nonce而无需担心碰撞风险——这是AES-GCM在nonce重复时常见的陷阱。密钥派生使用Argon2id,这是一种内存硬密码哈希函数,曾在2015年赢得密码哈希竞赛。Argon2id能抵抗侧信道攻击和基于GPU的暴力破解,因此是从用户提供的密码中派生加密密钥的稳健选择。

性能基准测试:

| 操作 | Arc (XChaCha20-Poly1305) | HashiCorp Vault (AES256-GCM) | 1Password CLI (SRP + AES256) |
|---|---|---|---|
| 写入1KB密钥 | 0.8ms | 12ms (含API调用) | 45ms (含云同步) |
| 读取1KB密钥 | 0.6ms | 8ms | 30ms |
| 二进制文件大小 | 5.2 MB | 120 MB | 25 MB |
| 内存占用 (空闲) | 3 MB | 256 MB | 80 MB |
| 依赖项 | 0 (静态二进制) | 需要服务器、数据库、网络 | 需要云账户 |

数据要点: Arc在速度和轻量级上远超竞争对手,因为它消除了网络开销和服务器进程。对于需要在构建脚本中获取密钥的开发者来说,0.6毫秒的延迟几乎是瞬间完成。然而,这种速度是以牺牲可扩展性为代价的:Arc无法在不手动复制文件的情况下为多台机器提供密钥服务。

代码库非常小巧——不到2000行Go代码。仓库结构清晰:`cmd/arc/main.go`用于CLI解析,`pkg/store/`负责加密和文件I/O,`pkg/crypto/`包含Argon2id和XChaCha20的封装。没有数据库、没有HTTP服务器、没有插件系统。CLI使用Cobra进行命令解析,但逻辑非常简单,以至于整个`set`和`get`命令都在一个文件中实现。这使得审计变得轻而易举:安全工程师可以在不到一小时内审查完整个加密路径。

一个值得注意的设计选择是使用单一主密码来解锁整个存储库。这是一个权衡:它简化了用户体验,但意味着如果主密码泄露,所有密钥都将暴露。Arc本身不支持多因素认证或硬件密钥绑定。然而,仓库的议题显示,社区正在积极讨论通过PIV或FIDO2添加YubiKey支持,这将降低这一风险。

相关GitHub仓库:
- `evilsocket/arc`:主项目。966颗星,Go语言,MIT许可证。上次提交在3天前。
- `FiloSottile/age`:一个类似的简单加密工具,但用于文件而非密钥。17k颗星。Arc的方法借鉴了age的理念。
- `sosedoff/pgweb`:并非直接相关,但这是另一个单二进制Go工具的例子,它用零配置解决了一个特定问题(PostgreSQL Web UI)。

关键人物与案例研究

Simone 'evilsocket' Margaritelli是Arc的创建者。他是安全社区中的知名人物,曾开发过`bettercap`(一个强大的中间人攻击框架,拥有16k+颗星)和`dnsrobocert`(Let's Encrypt自动化工具)等工具。他的过往记录表明,他专注于实用且精心设计的工具,以解决真实的痛点。Arc符合这一模式:它源于他对个人项目中现有密钥管理解决方案复杂性的挫败感。

竞争格局:

| 工具 | 类型 | 云依赖 | 团队功能 | 价格 |
|---|---|---|---|---|
| Arc | 本地CLI | 无 | 无 | 免费 (MIT) |
| HashiCorp Vault | 服务器/代理 | 可选 | RBAC、审计、轮换 | 免费OSS / 15美元/用户/月 |
| 1Password CLI | 基于云 | 必需 | 共享、保险库 | 2.99美元/用户/月 |
| Bitwarden CLI | 基于云 | 可选 | 共享、自托管 | 免费 / 10美元/年 |
| pass (password-store) | 本地CLI | 无 | 基于GPG的共享 | 免费 (GPL) |

数据要点: Arc占据了一个独特的位置:它是此对比中唯一既完全独立于云又没有任何团队功能的工具。这使其非常适合独立开发者或通过安全侧信道(例如加密U盘或Signal)共享密钥的小团队。它无法取代一个500人工程组织中的Vault,但对于日益增长的“独立开发者”和“自托管”社区来说,它却是完美之选。

一个案例研究:一家初创公司的开发者使用Arc管理50个不同服务(AWS、Stripe、SendGrid等)的API密钥。据报告,他们从存储在密码管理器中的`.env`文件切换了过来。关键优势在于Arc的CLI可以集成到构建流程中:`export STRIPE_KEY=$(arc get stripe_prod_key)`。这消除了意外将`.env`文件提交到Git的风险,而这是导致数据泄露的常见原因。这位开发者还赞赏Arc不需要

更多来自 GitHub

无标题ccusage, created by developer ryoppippi, is a command-line tool designed to parse and analyze local JSONL log files gene从零到GPT:开源书籍如何手把手教你构建大语言模型由Sebastian Raschka创建的开源项目rasbt/llms-from-scratch,迅速崛起为GitHub上最受瞩目的AI教育仓库之一。它提供了一条循序渐进的、代码优先的学习路径,仅使用PyTorch,不依赖任何黑盒库,从零构pgweb:开发者真正想要的极简PostgreSQL Web客户端pgweb,一个用Go编写的开源PostgreSQL Web客户端,通过解决一个简单但持久的问题——需要一个零依赖、即开即用的数据库浏览器——悄然在GitHub上积累了超过9300颗星。与需要完整Python栈或Docker设置的pgAdm查看来源专题页GitHub 已收录 1699 篇文章

时间归档

May 20261212 篇已发布文章

延伸阅读

Claude Code Usage Analytics: Why ccsage's 14K GitHub Stars Signal a Developer Tooling ShiftA new open-source CLI tool, ccsage, is quietly solving a pain point many Claude Code users didn't realize they had: unde从零到GPT:开源书籍如何手把手教你构建大语言模型一个GitHub仓库正成为从零理解大语言模型的终极实战指南。rasbt/llms-from-scratch凭借超过92,000颗星,提供了一套完整的基于PyTorch的课程体系,教你构建类似ChatGPT的LLM,并配有详尽代码注释和一本配pgweb:开发者真正想要的极简PostgreSQL Web客户端pgweb是一个用Go编写的单二进制、跨平台PostgreSQL Web客户端,零依赖即可运行。它支持SSH隧道、只读模式、查询历史记录和自动补全,成为寻求pgAdmin轻量替代方案的开发者和DevOps团队的最爱。Age加密:一个Go库如何成为现代安全的反GPG标准Filippo Valsorda打造的age加密工具,已悄然成为Go生态系统中文件加密的事实标准。它没有配置选项,密钥短小精悍,原生支持SSH密钥,正在Tailscale和HashiCorp等公司的生产环境中取代GPG。

常见问题

GitHub 热点“Arc Secrets Manager: The Zero-Config CLI Tool That Could Replace Your Vault”主要讲了什么?

Arc, created by security researcher Simone 'evilsocket' Margaritelli, is a command-line secrets manager designed for developers who want to store API keys, passwords, and other sen…

这个 GitHub 项目在“How to use Arc secrets manager in CI/CD pipelines”上为什么会引发关注?

Arc's architecture is a masterclass in minimalism. The entire tool is a single Go binary that reads and writes to a local encrypted file, defaulting to ~/.arc/store.enc. The encryption scheme is XChaCha20-Poly1305, a mod…

从“Arc vs pass password-store comparison for developers”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 966,近一日增长约为 0,这说明它在开源社区具有较强讨论度和扩散能力。