
Claude Code, OpenClaw, Hermes, 사용자 정의 에이전트 + 하네스 등 AI 에이전트를 위한 HTTP 자격 증명 프록시 및 저장소입니다.
HTTP 인증 정보 프록시 및 볼트
Infisical이 제공하는 오픈소스 인증 정보 브로커로, 에이전트와 이들이 호출하는 API 사이에 위치합니다.
에이전트는 자격 증명을 보유해서는 안 됩니다. Agent Vault는 브로커된 접근을 통해 자격 증명 유출 위험을 제거합니다.
처음 오셨나요? 런치 블로그 게시물에 Agent Vault의 전체 스토리가 있습니다.
문서 | 설치 | 튜토리얼 | 비디오 데모 | Slack
전통적인 시크릿 관리에서는 자격 증명을 다시 애플리케이션과 서비스로 반환합니다. 이는 프롬프트 인젝션을 통해 비밀을 유출하도록 속을 수 있는 AI 에이전트에서는 작동하지 않습니다. 이것이 자격 증명 유출의 문제입니다.
Agent Vault는 모든 AI 에이전트의 자격 증명 유출을 해결하기 위해 만들어졌습니다. AI 에이전트에 직접 자격 증명을 제공하는 대신 Agent Vault에 저장하고(예: ANTHROPIC_API_KEY, GITHUB_PAT 등) 에이전트가 이를 통해 HTTP 요청을 라우팅하도록 강제합니다. Agent Vault는 모든 요청을 가로채 자격 증명을 첨부한 후 대상 아웃바운드 API로 전달합니다.
기능:
__anthropic_api_key__와 같은 헤더의 더미 값을 실제 자격 증명으로 대체하거나, 이를 통한 아웃바운드 요청의 인증 헤더를 완전히 교체하여 액세스를 브로커링할 수 있습니다.HTTPS_PROXY를 사용하도록 부트스트래핑하고 Agent Vault의 MITM 아키텍처와 호환되도록 하여 인터페이스에 구애받지 않고 비침습적인 방식으로 자격 증명 브로커링을 수행합니다.mitmproxy, squid 등)는 자격 증명 브로커링을 수행하고 에이전트와 잘 통합되도록 수정이 필요합니다. Agent Vault는 전용 CLI, 다중 테넌시, Infisical이 지원하는 에이전트별 로드맵을 통해 모든 유형의 에이전트 사용 사례의 인체공학과 함께 작동하도록 특별히 설계되었습니다.기본적으로 어떤 서비스와도 일치하지 않는 요청은 일반 프록시 트래픽으로 전달됩니다. 볼트를 엄격한 거부 모드(unmatched_host_policy=deny)로 전환하면 403으로 거부됩니다.
Agent Vault의 전체 배경 이야기는 여기에서 읽어보세요.
Agent Vault는 보안 원격 코딩 에이전트, 범용 에이전트, 맞춤형 에이전트 및 하네스, 보안 임시 샌드박스 등 모든 종류의 AI 에이전트 사용 사례와 함께 작동합니다.
ANTHROPIC_API_KEY와 GITHUB_PAT를 설정하여 Claude Code가 Anthropic 및 GitHub API와 상호 작용하여 코드 작성, PR 생성 등을 수행할 수 있습니다. 동일한 원칙이 다른 코딩 에이전트에도 적용됩니다.Agent Vault는 볼트와 프록시 서비스를 겸하며 서버와 CLI 클라이언트로 작동하는 단일 바이너리로 제공됩니다. 자격 증명을 저장하고 MITM 프록시 아키텍처를 사용하여 AI 에이전트에 중개합니다. 설계상 Agent Vault는 AI 에이전트와 별도의 머신에 배포되어 AI 에이전트가 Agent Vault 내의 자격 증명에 직접 액세스할 수 없도록 필요한 보안 보장을 제공합니다.
┌─────────────────────────────────────────────────────────────────┐
│ Public internet │
│ │
│ api.anthropic.com api.github.com api.stripe.com ... │
│ ▲ ▲ ▲ │
└──────────┼───────────────────┼──────────────────┼───────────────┘
│ │ │
└───────────────────┼──────────────────┘
│ outbound HTTPS, Agent Vault
│ injects credentials on the way out
┌──────────────────────────────┼──────────────────────────────────┐
│ Private network │ │
│ │ │
│ ┌───────────────────────────┴────┐ ┌────────────────────┐ │
│ │ Agent Vault │ │ AI agent │ │
│ │ :14321 management UI / API │◀────│ HTTPS_PROXY= │ │
│ │ :14322 MITM proxy │ │ agent-vault:14322 │ │
│ └────────────────▲───────────────┘ └────────────────────┘ │
│ │ │
└───────────────────┼─────────────────────────────────────────────┘
│ operator access: keep private, or front
│ with TLS + auth (SSO reverse proxy, IP
│ allowlist, or VPN) if you need remote admin
│
Operator
단 몇 단계로 AI 에이전트에 대한 자격 증명을 브로커링하도록 Agent Vault를 구성할 수 있습니다:
curl --proto '=https' --proto-redir '=https' --tlsv1.2 -fsSL https://get.agent-vault.dev | sh
Agent Vault 서버를 시작하고 마스터 비밀번호를 설정합니다(안전한 곳에 보관). 비밀번호는 데이터 암호화 메커니즘의 일부로 사용되며 초기 읽기 후 프로세스에서 설정 해제됩니다.
export AGENT_VAULT_MASTER_PASSWORD=your-password
agent-vault server -d
Docker를 사용하여 Agent Vault를 배포할 수도 있습니다:
docker run -it -p 14321:14321 -p 14322:14322 \
-e AGENT_VAULT_MASTER_PASSWORD=your-password \
-v agent-vault-data:/data infisical/agent-vault
서버는 포트 14321에서 HTTP API를, 포트 14322에서 투명한 HTTP/HTTPS 프록시를 시작합니다. 동일한 리스너가 https:// 업스트림에 대한 CONNECT와 http:// 업스트림에 대한 절대 형식의 포워드 프록시 요청을 처리합니다.
웹 UI는 http://<host>:14321에서 사용할 수 있으며 인스턴스 소유자로 알려진 첫 번째 사용자를 생성하라는 메시지가 표시됩니다.
볼트를 만들고 자격 증명을 입력한 후, 관리 UI 또는 Agent Vault 머신의 CLI를 통해 Agent Vault에서 서비스 규칙을 구성합니다. 예를 들어 ANTHROPIC_API_KEY에 대한 자격 증명을 만들고 Agent Vault가 실제 키 대신 더미 값 __anthropic_api_key__를 대체하도록 서비스 규칙을 만들 수 있습니다.
장기 실행 에이전트를 나타내는 에이전트를 만들고 이에 대한 토큰을 얻습니다. 또는 임시 샌드박스 에이전트를 시작하는 경우 오케스트레이터 백엔드를 나타내는 에이전트를 사용하고 단기 토큰을 생성하여 샌드박스에 전달하여 에이전트가 사용하고 Agent Vault를 통해 요청을 프록시하도록 할 수 있습니다.
AI 에이전트 환경에서 다음 환경 변수를 설정합니다:
AGENT_VAULT_ADDR=http://<your-addr>:14321
AGENT_VAULT_TOKEN=<agent-token-from-agent-vault>
AGENT_VAULT_VAULT=<vault-in-agent-vault>
...
ANTHROPIC_API_KEY=__anthropic_api_key__ // dummy key that will be substituted by Agent Vault
curl --proto '=https' --proto-redir '=https' --tlsv1.2 -fsSL https://get.agent-vault.dev | sh
이 워크플로우에서 게시된 릴리스 아카이브는 이를 생성한 GitHub Actions 실행에 연결된 빌드 출처 증명서와 함께 제공됩니다. gh CLI로 확인합니다(추가 도구나 키 관리 불필요):
gh attestation verify agent-vault_*.tar.gz --repo Infisical/agent-vault
checksums.txt도 동일한 증명서로 보호되며, 해당 경로를 선호하는 사용자를 위해 cosign verify-blob으로 계속 확인할 수 있습니다.
agent-vault run -- claude
agent-vault vault run -- agent
agent-vault vault run -- codex
agent-vault vault run -- opencode
또는 에이전트가 Docker로 실행 중인 경우 Dockerfile을 통해 Agent Vault CLI를 설치하여 바이너리를 자체 이미지에 복사하고 에이전트 프로세스를 시작하는 데 사용할 수 있습니다:
# Add this line to your existing Dockerfile alongside your agent or app setup.
COPY --from=infisical/agent-vault:latest /usr/local/bin/agent-vault /usr/local/bin/agent-vault
...
ENTRYPOINT ["agent-vault", "run", "--", "claude"]
Agent Vault를 배포하고 AI 에이전트를 통합하는 방법은 다양합니다. 더 자세한 문서를 참조하는 것이 좋습니다.
Agent Vault가 AI 에이전트의 자격 증명을 어떻게 브로커링하는지 확인하세요: 키를 한 번 저장하고 모든 아웃바운드 요청을 프록시를 통해 라우팅하며, 에이전트가 비밀을 전혀 보지 않고 실제 API를 호출하도록 합니다.
전체 배포 연습을 원하시나요? 별도 상자에 브로커된 에이전트를 사용한 종단간 예제는 VPS에서 Hermes 실행하기를 참조하세요.
지연 시간: 요청 지연 시간을 줄이기 위해 Agent Vault를 AI 에이전트와 동일한 네트워크 내에 함께 배치해야 합니다.
토큰: 장기 실행 에이전트를 나타내는 Agent Vault의 에이전트를 만들어야 합니다. 임시 샌드박스의 경우, 샌드박스화된 에이전트가 Agent Vault를 통해 요청을 프록시하는 데 사용할 단기 볼트 범위 토큰을 생성하는 것이 좋습니다.
기본적으로 Agent Vault는 모든 상태를 로컬 SQLite 데이터베이스에 저장하며, 설정이 필요 없습니다. 프로덕션 배포 또는 여러 인스턴스를 실행하는 경우 DATABASE_URL 환경 변수(또는 --database-url 플래그)를 PostgreSQL 연결 문자열로 설정하면 Agent Vault가 백엔드로 Postgres로 전환됩니다. 모든 인스턴스가 동일한 데이터베이스를 공유하므로 복제본 간에 상태가 일관됩니다.
전환하기 전에 agent-vault migrate-db --to postgres://...로 기존 데이터를 마이그레이션하세요. 배포 예제(Kubernetes, Docker Compose), 아키텍처 참고 사항 및 운영 세부 정보는 PostgreSQL 가이드를 참조하세요.
Agent Vault는 오케스트레이터가 단기 토큰을 생성하고 샌드박스화된 에이전트에 프록시 구성을 전달하여 해당 방식으로 Agent Vault를 통해 요청을 프록시하도록 하려는 경우 TypeScript SDK를 제공합니다.
npm install @infisical/agent-vault-sdk
import { AgentVault, buildProxyEnv } from "@infisical/agent-vault-sdk";
const av = new AgentVault({
token: "YOUR_TOKEN", // agent token
address: "http://localhost:14321",
});
const session = await av
.vault("my-vault")
.sessions.create({ vaultRole: "proxy" });
// certPath is where you'll mount the CA certificate inside the sandbox.
const certPath = "/etc/ssl/agent-vault-ca.pem";
// env: { HTTPS_PROXY, HTTP_PROXY, NO_PROXY, NODE_USE_ENV_PROXY,
// SSL_CERT_FILE, NODE_EXTRA_CA_CERTS, REQUESTS_CA_BUNDLE,
// CURL_CA_BUNDLE, GIT_SSL_CAINFO, DENO_CERT }
const env = buildProxyEnv(session.containerConfig!, certPath);
const caCert = session.containerConfig!.caCertificate;
// Pass `env` as environment variables and mount `caCert` at `certPath`
// in your sandbox — Docker, Daytona, E2B, Firecracker, or any other runtime.
// Once configured, the agent inside just calls APIs normally:
// fetch("https://api.github.com/...") — no SDK, no credentials needed.
전체 문서는 TypeScript SDK README를 참조하세요.
make build # Build frontend + Go binary
make test # Run tests
make web-dev # Vite dev server with hot reload (port 5173)
make dev # Go + Vite dev servers with hot reload
make docker # Build Docker image
이 저장소는 ee 디렉토리를 제외하고 MIT expat 라이선스 하에 제공됩니다. ee 디렉토리에는 Infisical 라이선스가 필요한 프리미엄 엔터프라이즈 기능이 포함될 예정입니다.
Infisical에 관심이 있거나 Agent Vault의 상업적 경로를 탐색하려면 웹사이트를 확인하거나 미팅을 예약하세요.
크든 작든, 우리는 기여를 환영합니다. Agent Vault는 Infisical과 동일한 기여 지침을 따릅니다.
시작하는 방법을 알아보려면 가이드를 확인하세요.
어디서부터 시작해야 할지 모르시나요? 다음을 시도해 보세요:
이 글을 읽고 있다면, 우리가 만든 제품을 좋아할 가능성이 높습니다.
또한 우리 팀에 큰 도움이 될 수 있습니다. 우리는 빠르게 성장하고 있으며 함께하시기를 바랍니다.
미리보기. Agent Vault는 활발히 개발 중이며 API는 변경될 수 있습니다. 배포하기 전에 보안 문서를 검토하세요.