Infisical/agent-vault
A HTTP credential proxy and vault for AI agents like Claude Code, OpenClaw, Hermes, custom agents + harnesses, and more.
Agent Vault – AI代理的安全部署凭证代理
是什么 – Agent Vault 是一个开源服务,位于您的 AI 代理(如 Claude、基于 GPT 的机器人、自定义代理)与它们需要调用的外部 API 之间。它存储凭证(API 密钥、令牌等),并在请求时实时注入到出站 HTTP 请求中,确保代理永远不会看到真实凭证。
为何重要 – 大型语言模型代理可能被提示注入攻击诱导,泄露其环境中的任何秘密。通过将凭证从代理进程中移除并交由可信代理处理,凭证外泄的风险被大幅降低。
核心组件
| 组件 | 作用 |
|---|---|
服务器二进制文件 (agent-vault) |
运行管理 API(默认端口 14321)和透明的 HTTP/HTTPS MITM 代理(默认端口 14322)。使用主密码加密存储凭证(默认 SQLite,可选 PostgreSQL)。 |
| CLI | 提供启动服务器、创建 Vault、凭证、代理,以及通过代理运行代理进程的命令(agent-vault run -- <command>)。 |
| Web UI | 简单的用户界面,用于创建 Vault、添加凭证、定义服务规则和颁发代理令牌。 |
| 可插拔凭证存储 | 可以使用外部密钥管理器(如 Infisical)作为后端,支持动态密钥等高级功能。 |
| TypeScript SDK | 允许协调器程序化生成短期令牌,并为沙箱代理生成所需的环境变量以通过 Agent Vault 代理。 |
工作原理(高层次流程)
- 部署服务器 在与代理分离的机器上(Docker、二进制文件或编译的 Go)。设置主密码;服务器使用该密码加密其 SQLite/PostgreSQL 数据库。
- 在服务器内创建 Vault 并添加凭证(如
ANTHROPIC_API_KEY)。 - 定义服务规则,将占位符值(如
__anthropic_api_key__)或头名称映射到真实密钥。 - 创建代理记录 并获取一个令牌,该令牌授权该代理使用特定 Vault。
- 在代理运行时,设置以下环境变量:
AGENT_VAULT_ADDR=http://<host>:14321 AGENT_VAULT_TOKEN=<agent‑token> AGENT_VAULT_VAULT=<vault‑name> ANTHROPIC_API_KEY=__anthropic_api_key__ # 虚拟占位符 HTTPS_PROXY=http://<host>:14322 - 通过 CLI 运行代理(
agent-vault run -- <your‑agent‑command>)。CLI 启动代理,注入主 CA 证书,并将所有出站 HTTPS 流量通过代理转发。 - 当代理向
api.anthropic.com发起请求时,代理将占位符替换为真实密钥(或添加适当的Authorization头),再转发请求。 - 所有流量可根据配置的服务规则进行记录、过滤或拒绝。
主要功能
- 凭证中介 – 真实凭证永远不会离开 Vault;代理在请求时将虚拟占位符替换为实际值。
- 可插拔密钥后端 – 使用内置加密存储或连接 Infisical 以支持动态密钥。
- 透明集成 – 与任何支持
HTTPS_PROXY/HTTP_PROXY的工具(CLI 工具、SDK、Docker 等)兼容,无需代码更改。 - 多租户与代理级令牌 – 不同代理获得隔离访问权限;令牌可设为短期,适用于沙箱工作负载。
- 出站流量过滤与严格拒绝模式 – 定义代理可访问的主机名/服务;未匹配的请求可被 403 拒绝。
- 请求日志与审计 – 检查注入的请求以调试或监控代理行为。
- 单二进制或 Docker 镜像部署 – 简单安装脚本(
curl … | sh)支持 macOS、Linux、ARM 和 x86。 - 可选 PostgreSQL 后端 – 支持跨多个副本扩展。
- TypeScript SDK – 为容器化沙箱程序化生成令牌和环境变量。
典型使用场景
| 场景 | Agent Vault 提供的功能 |
|---|---|
| 远程编码代理(如 Claude Code) | 一次性存储 ANTHROPIC_API_KEY 和 GITHUB_PAT;代理可推送提交或打开 PR,而无需看到真实密钥。 |
| 通用代理(OpenClaw、Hermes 等) | 集中式密钥管理;每个代理获得仅限其可调用服务的令牌。 |
| 自定义代理 / 框架 | 开发者只需添加一行 HTTPS_PROXY 和占位符环境变量;代理处理凭证注入。 |
| 临时沙箱 | 协调器通过 SDK 生成短期令牌,挂载 CA 证书,并将已准备好的代理配置交给沙箱。 |
| 企业部署 | 使用 PostgreSQL、SSO 保护的 UI、IP 白名单,以及商业版“Infisical Agent Vault”以获得额外访问控制功能。 |
快速入门
# 安装(macOS/Linux,Intel/ARM)
curl --proto '=https' --proto-redir '=https' --tlsv1.2 -fsSL https://get.agent-vault.dev | sh
# 导出主密码(请妥善保管)
export AGENT_VAULT_MASTER_PASSWORD=super‑secret
# 启动服务器(在 ./data 中创建 SQLite 数据库)
agent-vault server -d
- 在浏览器中打开
http://localhost:14321,创建第一个 所有者 用户,然后添加 Vault、凭证和一条服务规则。 - 通过 UI 或 CLI(
agent-vault agent create …)创建代理令牌。 - 在代理的容器或虚拟机中,以相同方式安装 CLI 并运行:
export AGENT_VAULT_ADDR=http://<host>:14321
export AGENT_VAULT_TOKEN=<token>
export AGENT_VAULT_VAULT=my‑vault
export ANTHROPIC_API_KEY=__anthropic_api_key__
agent-vault run -- python my_agent.py
代理现在可以与外部 API 通信,而无需看到真实密钥。
开发与贡献
- 使用 Go(后端)和 Vite/React(前端 UI)构建。
- 常用命令:
make build– 编译 Go 二进制文件和前端资源。make test– 运行单元测试。make dev– 启动带热重载的后端和前端开发服务器。make docker– 生成infisical/agent-vaultDocker 镜像。
- 仓库采用 MIT 许可证;
ee/文件夹包含需商业 Infisical 许可证的可选企业功能。
许可证
MIT Expat 许可证(参见仓库中的 LICENSE 文件)。核心完全开源;高级扩展功能需商业许可证。
TL;DR
Agent Vault 通过作为安全的 MITM 风格 HTTP 代理,在请求时注入正确凭证,使 AI 代理无法接触 API 密钥、令牌和其他秘密。它是一个单二进制文件(或 Docker 镜像),支持可插拔密钥存储、代理级令牌,并与任何支持标准代理环境变量的工具兼容,使安全的 AI 代理部署变得简单直接。
相关
- 项目
- 项目
- 项目
- 项目
- Dispatch