
agent-vault v0.39.1
HTTP-прокси и хранилище учетных данных для AI-агентов, таких как Claude Code, OpenClaw, Hermes, пользовательских агентов + обвязок и многого другого.
HTTP-прокси и хранилище учётных данных
Прокси-брокер учётных данных с открытым исходным кодом от Infisical, располагающийся между вашими агентами и API, которые они вызывают.
Агенты не должны владеть учётными данными. Agent Vault устраняет риск кражи учётных данных с помощью брокерского доступа.
Новичок? В анонсирующем блог-посте изложена полная история Agent Vault.
Документация | Установка | Руководство | Видеодемонстрация | Slack
Зачем нужен Agent Vault
Традиционное управление секретами предполагает возврат учётных данных обратно в ваши приложения и сервисы. Это перестаёт работать с AI-агентами, которых с помощью инъекции промптов можно обманом заставить раскрыть секреты. Это проблема кражи учётных данных (credential exfiltration).
Agent Vault был создан для решения проблемы кражи учётных данных для всех AI-агентов. Вместо того чтобы передавать AI-агентам учётные данные напрямую, вы храните их в Agent Vault (например, ANTHROPIC_API_KEY, GITHUB_PAT и т.д.) и заставляете свои агенты маршрутизировать HTTP-запросы через него. Agent Vault перехватывает каждый запрос и добавляет к нему учётные данные перед отправкой запроса целевому внешнему API.
Возможности:
- Брокер учётных данных: Предоставьте AI-агентам доступ к целевым сервисам (поставщикам LLM, GitHub и т.д.) без хранения реальных учётных данных у агентов. Agent Vault осуществляет такой доступ, заменяя фиктивные значения в заголовках (например,
__anthropic_api_key__) на реальные учётные данные или полностью заменяя заголовки аутентификации в исходящих запросах. - Подключаемые хранилища учётных данных: Подключите внешнее хранилище секретов, например Infisical, вместо локального зашифрованного хранилища. Это расширяет возможности Agent Vault, включая такие функции, как динамические секреты от Infisical.
- Прозрачная интеграция: Позвольте AI-агентам использовать существующие инструменты (MCP, CLI, SDK, API) — все базовые запросы будут автоматически маршрутизироваться через Agent Vault. Agent Vault использует интерфейсно-независимый, неинвазивный подход к брокерству учётных данных, устанавливая переменную окружения
HTTPS_PROXYв среде агентов и обеспечивая совместимость с архитектурой MITM Agent Vault. - Целенаправленная архитектура: Существующие прямые прокси (например,
mitmproxyилиsquid) требуют доработки для выполнения брокерства учётных данных и хорошей интеграции с агентами. Agent Vault специально спроектирован для взаимодействия с эргономикой всех типов сценариев использования агентов: выделенный CLI, мультиарендность и дорожная карта, ориентированная на агентов, при поддержке Infisical. - Фильтрация исходящего трафика: Контролируйте, какие агенты имеют доступ к каким сервисам и конечным точкам API, поскольку аутентифицированные запросы проходят через Agent Vault.
- Логирование запросов: Анализируйте аутентифицированный трафик для мониторинга и диагностики поведения агентов.
По умолчанию запросы, не соответствующие ни одному сервису, передаются как обычный прокси-трафик; переключите хранилище в режим строгого запрета (unmatched_host_policy=deny), чтобы отклонять их с кодом 403.
Полную предысторию Agent Vault читайте здесь.
Варианты использования
Agent Vault работает со всеми видами сценариев использования AI-агентов, включая безопасные удалённые агенты кодирования, универсальные агенты, пользовательские агенты + обвязки, безопасные эфемерные песочницы и многое другое.
- Безопасные удалённые агенты кодирования: Вы можете запустить удалённую сессию Claude Code и настроить её на проксирование запросов через Agent Vault. В рамках такой настройки можно установить
ANTHROPIC_API_KEYиGITHUB_PATв Agent Vault, что позволит Claude Code взаимодействовать с API Anthropic и GitHub для написания кода, создания PR и т.д. Тот же принцип применим и к другим агентам кодирования. - Безопасные универсальные агенты: Вы можете настроить OpenClaw, Hermes и других универсальных агентов на проксирование исходящих запросов через Agent Vault.
- Безопасные пользовательские агенты: Вы можете создавать собственных AI-агентов с пользовательскими обвязками и настраивать их на проксирование исходящих запросов через Agent Vault.
- Безопасные эфемерные песочницы: Вы можете настроить оркестратор (например, бэкенд) на выпуск временного токена, который передаётся в песочницу агента для проксирования запросов через Agent Vault. Можно даже организовать, чтобы агент в песочнице отправлял запрос обратно тому же бэкенду, который его запустил.
Базовое использование
Agent Vault — это одновременно хранилище и прокси-сервис, поставляемый в виде одного бинарного файла, который выполняет функции сервера и CLI-клиента. Он хранит учётные данные и предоставляет их вашим AI-агентам через архитектуру MITM-прокси. По замыслу, Agent Vault должен развёртываться на отдельной машине, отличной от машин с AI-агентами, чтобы обеспечить гарантию безопасности: AI-агенты не смогут напрямую получить доступ к учётным данным, хранящимся в Agent Vault.
┌─────────────────────────────────────────────────────────────────┐
│ Публичный интернет │
│ │
│ api.anthropic.com api.github.com api.stripe.com ... │
│ ▲ ▲ ▲ │
└──────────┼───────────────────┼──────────────────┼───────────────┘
│ │ │
└───────────────────┼──────────────────┘
│ исходящий HTTPS, Agent Vault
│ добавляет учётные данные на выходе
┌──────────────────────────────┼──────────────────────────────────┐
│ Частная сеть │ │
│ │ │
│ ┌───────────────────────────┴────┐ ┌────────────────────┐ │
│ │ Agent Vault │ │ AI-агент │ │
│ │ :14321 интерфейс управления │◀────│ HTTPS_PROXY= │ │
│ │ :14322 MITM-прокси │ │ agent-vault:14322 │ │
│ └────────────────▲───────────────┘ └────────────────────┘ │
│ │ │
└───────────────────┼─────────────────────────────────────────────┘
│ доступ оператора: держите приватным или
│ обеспечьте TLS + аутентификацию (обратный
│ прокси SSO, белый список IP или VPN),
│ если нужен удалённый администринг
│
Оператор
Вы можете настроить Agent Vault на брокерство учётных данных для AI-агентов всего за несколько шагов:
- Установите и запустите сервер Agent Vault. Вы можете выполнить скрипт ниже для установки Agent Vault на macOS (Intel + Apple Silicon) и Linux (x86_64 + ARM64):
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
Вы также можете развернуть Agent Vault с помощью Docker:
docker run -it -p 14321:14321 -p 14322:14322 \
-e AGENT_VAULT_MASTER_PASSWORD=your-password \
-v agent-vault-data:/data infisical/agent-vault
Сервер запускает HTTP API на порту 14321 и прозрачный HTTP/HTTPS-прокси на порту 14322; один и тот же обработчик принимает запросы CONNECT для вышестоящих серверов https:// и прямые прокси-запросы в абсолютной форме для вышестоящих серверов http://.
Веб-интерфейс становится доступен по адресу http://<host>:14321, и вам будет предложено создать первого пользователя — владельца экземпляра.
-
Создайте хранилище, введите учётные данные и настройте правила сервисов в 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__ // фиктивный ключ, который будет заменён Agent Vault
- Установите CLI Agent Vault в среду вашего агента и запустите CLI Agent Vault вместе с вашим агентом, чтобы начать проксирование запросов через Agent Vault.
curl --proto '=https' --proto-redir '=https' --tlsv1.2 -fsSL https://get.agent-vault.dev | sh
Проверка загруженных бинарных файлов релиза
Архивы релизов, опубликованные из этого рабочего процесса, содержат аттестацию сборки, привязанную к запуску GitHub Actions, который их создал. Проверьте с помощью CLI gh (без дополнительных инструментов и управления ключами):
gh attestation verify agent-vault_*.tar.gz --repo Infisical/agent-vault
checksums.txt также покрывается той же аттестацией, а его подпись cosign продолжает проверяться с помощью cosign verify-blob для пользователей, предпочитающих этот путь.
agent-vault run -- claude
agent-vault vault run -- agent
agent-vault vault run -- codex
agent-vault vault run -- opencode
Кроме того, если ваш агент работает с Docker, вы можете установить CLI Agent Vault через Dockerfile, скопировав бинарный файл в ваш образ и используя его для запуска процесса агента:
# Добавьте эту строку в ваш существующий Dockerfile рядом с настройкой агента или приложения.
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, не видя ни одного секрета.
Хотите полное руководство по развёртыванию? Обратитесь к разделу Запуск Hermes на VPS для полного примера с брокерским агентом на отдельной машине.
Лучшие практики
- Безопасность:
- Развёртывайте Agent Vault как отдельный сервис на отдельной хост-машине, отличной от машин с AI-агентами, чтобы предотвратить возможность использования общего хоста для получения доступа к Agent Vault.
- Держите порт прокси (по умолчанию 14322), в который внедряются учётные данные в исходящие запросы, приватным для сети ваших агентов. Интерфейс управления на порту 14321 безопаснее открывать, если вам нужен удалённый администринг, но всё равно укрепляйте его как любой производственный веб-сервис (TLS, белый список IP). Обратитесь к examples/nginx-public-ui-proxy/ за рабочим примером.
-
Задержка: Размещайте Agent Vault в одной сети с вашими AI-агентами, чтобы снизить задержку запросов.
-
Токены: Создайте агента в Agent Vault для представления долгоживущего агента. Для эфемерных песочниц вы можете предпочесть выпускать краткосрочные токены, ограниченные хранилищем, для использования агентами в песочницах при проксировании запросов через Agent Vault.
PostgreSQL (Продакшн)
По умолчанию Agent Vault хранит всё состояние в локальной базе данных SQLite, которая не требует настройки. Для продакшн-развёртываний или при запуске нескольких экземпляров установите переменную окружения DATABASE_URL (или флаг --database-url) в строку подключения PostgreSQL, и Agent Vault переключится на Postgres как на своё хранилище. Все экземпляры используют одну и ту же базу данных, поэтому состояние согласовано между репликами.
Перенесите существующие данные с помощью agent-vault migrate-db --to postgres://... перед переключением. См. руководство по PostgreSQL для примеров развёртывания (Kubernetes, Docker Compose), заметок по архитектуре и операционных деталей.
SDK
Agent Vault предоставляет TypeScript SDK на случай, если вы захотите, чтобы оркестратор выпускал краткосрочный токен и передавал конфигурацию прокси в агента в песочнице для проксирования запросов через Agent Vault таким образом.
npm install @infisical/agent-vault-sdk
import { AgentVault, buildProxyEnv } from "@infisical/agent-vault-sdk";
const av = new AgentVault({
token: "YOUR_TOKEN", // токен агента
address: "http://localhost:14321",
});
const session = await av
.vault("my-vault")
.sessions.create({ vaultRole: "proxy" });
// certPath — путь, по которому вы смонтируете сертификат CA внутри песочницы.
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;
// Передайте `env` как переменные окружения и смонтируйте `caCert` по пути `certPath`
// в вашей песочнице — Docker, Daytona, E2B, Firecracker или любой другой среде выполнения.
// После настройки агент внутри просто вызывает API обычным образом:
// fetch("https://api.github.com/...") — без SDK, без необходимости в учётных данных.
См. полную документацию в README TypeScript SDK.
Разработка
make build # Сборка фронтенда + Go-бинарника
make test # Запуск тестов
make web-dev # Vite dev-сервер с горячей перезагрузкой (порт 5173)
make dev # Go + Vite dev-серверы с горячей перезагрузкой
make docker # Сборка Docker-образа
Open-source и платная версия
Этот репозиторий доступен под лицензией MIT expat, за исключением каталога ee, который будет содержать премиальные корпоративные функции, требующие лицензии Infisical.
Если вы заинтересованы в Infisical или хотите изучить более коммерческий путь для Agent Vault, посетите наш сайт или запишитесь на встречу с нами.
Вклад
Будь то большие или маленькие изменения, мы любим вклад. Agent Vault следует тем же правилам участия, что и Infisical.
Ознакомьтесь с нашим руководством, чтобы узнать, как начать.
Не знаете, с чего начать? Вы можете:
- Присоединиться к нашему Slack и задать нам любые вопросы там.
Мы нанимаем!
Если вы читаете это, велика вероятность, что вам нравятся продукты, которые мы создали.
Возможно, вы станете отличным дополнением к нашей команде. Мы быстро растём и будем рады, если вы присоединитесь к нам.
Предварительная версия. Agent Vault находится в активной разработке, и API может меняться. Пожалуйста, ознакомьтесь с документацией по безопасности перед развёртыванием.