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>).
웹 UI Vault 생성, 자격 증명 추가, 서비스 규칙 정의, 에이전트 토큰 발급을 위한 간단한 UI.
플러그인 가능한 자격 증명 저장소 Infisical과 같은 외부 시크릿 매니저와 연동 가능하여 동적 시크릿 및 기타 고급 기능을 활용할 수 있습니다.
TypeScript SDK 오케스트레이터가 프로그래밍 방식으로 단기 유효 토큰을 발행하고, 사전 격리된 에이전트가 프록시를 통해 작동할 수 있도록 환경 변수를 생성할 수 있습니다.

작동 방식 (개요)

  1. 서버 배포 – 에이전트와 별도의 머신에 배포(Docker, 바이너리, 또는 컴파일된 Go). 마스터 비밀번호 설정. 서버는 SQLite/PostgreSQL 데이터베이스를 해당 비밀번호로 암호화.
  2. Vault 생성 – 서버 내부에 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 이미지로 배포 가능 – macOS, Linux, ARM, x86에서 동작하는 간단한 설치 스크립트(curl … | sh) 제공.
  • 옵션 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 DB 생성)
agent-vault server -d
  • 브라우저에서 http://localhost:14321 열고 첫 번째 오너 사용자 생성, 이후 Vault, 자격 증명, 서비스 규칙 추가.
  • UI 또는 CLI(agent-vault agent create …)로 에이전트 토큰 생성.
  • 에이전트 컨테이너 또는 VM에서 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, 프론트엔드 UI는 Vite/React로 구축.
  • 일반 명령어:
    • 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