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 代理。

工作原理(高层次流程)

  1. 部署服务器 在与代理分离的机器上(Docker、二进制文件或编译的 Go)。设置主密码;服务器使用该密码加密其 SQLite/PostgreSQL 数据库。
  2. 在服务器内创建 Vault 并添加凭证(如 ANTHROPIC_API_KEY)。
  3. 定义服务规则,将占位符值(如 __anthropic_api_key__)或头名称映射到真实密钥。
  4. 创建代理记录 并获取一个令牌,该令牌授权该代理使用特定 Vault。
  5. 在代理运行时,设置以下环境变量:
    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
    
  6. 通过 CLI 运行代理(agent-vault run -- <your‑agent‑command>)。CLI 启动代理,注入主 CA 证书,并将所有出站 HTTPS 流量通过代理转发。
  7. 当代理向 api.anthropic.com 发起请求时,代理将占位符替换为真实密钥(或添加适当的 Authorization 头),再转发请求。
  8. 所有流量可根据配置的服务规则进行记录、过滤或拒绝。

主要功能

  • 凭证中介 – 真实凭证永远不会离开 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-vault Docker 镜像。
  • 仓库采用 MIT 许可证;ee/ 文件夹包含需商业 Infisical 许可证的可选企业功能。

许可证

MIT Expat 许可证(参见仓库中的 LICENSE 文件)。核心完全开源;高级扩展功能需商业许可证。


TL;DR

Agent Vault 通过作为安全的 MITM 风格 HTTP 代理,在请求时注入正确凭证,使 AI 代理无法接触 API 密钥、令牌和其他秘密。它是一个单二进制文件(或 Docker 镜像),支持可插拔密钥存储、代理级令牌,并与任何支持标准代理环境变量的工具兼容,使安全的 AI 代理部署变得简单直接。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • Dispatch