Назад к обновлениям
New releaseJul 31, 2026

agent-vault-proxy v0.9.0

Just-in-time API-ключи для ИИ-агентов — и любого другого процесса, который вы через него маршрутизируете: вызывающая сторона видит только плейсхолдер.

Поделиться

agent-vault-proxy

API-ключи по требованию (just-in-time) для ИИ-агентов и любых других процессов, которые вы направляете через него: вызывающий код видит только заглушку.

AVP защищает вас от похитителей учётных данных (Shai-Hulud и подобных) и от агентов, которые из-за prompt-инъекций раскрывают ваши секреты. Это локальный прокси, который внедряет реальные секреты в запросы на лету, поэтому скомпрометированному агенту или агенту с prompt-инъекцией нечего красть.

PyPI License: MIT CI

How agent-vault-proxy substitutes secrets on the wire

Под капотом: loopback-HTTPS-прокси, который получает учётные данные из Bitwarden Secrets Manager — облачного или self-hosted — по требованию и внедряет их в исходящие запросы, так что в адресном пространстве вызывающего процесса реальные байты учётных данных никогда не хранятся.

Полностью открытый исходный код, намеренно простой

Все функции находятся в этом репозитории под лицензией MIT. Нет платного тарифа, нет enterprise-редакции, нет облака, которому нужно доверять, нет телеметрии — вы можете прочитать весь код целиком (несколько тысяч строк) и запускать его вечно.

Весь рабочий процесс — одно действие: попросите встроенный навык направить сервис через прокси, он подскажет единственную строку, которую нужно вставить в Bitwarden (или ваше хранилище), вы вставляете её — и агент подключён. Готово. Поскольку каждое проксируемое учётное данное — это одна привязка (binding), конфигурация и есть полный проверяемый список того, к каким именно секретам имеет доступ каждый агент: ничего неявного, ничего скрытого.

И дело не в привязке к продукту. Цель проста: чтобы реальных ключей внутри ИИ-агентов было меньше — везде. Если AVP подходит — используйте его; если один из альтернативных вариантов лучше подходит под вашу конфигурацию — используйте его. Любой инструмент, который не допускает попадания реального секрета в память агента, — это победа.

Попробуйте. 10 секунд.

1. Установка — Linux pipx, macOS brew:

pipx install agent-vault-proxy
# macOS: brew install inflightsec/avp/agent-vault-proxy
sudo avp setup --bws        # paste your Bitwarden token — generates the CA, starts the daemon

2. Установите навык (skill), чтобы агент сам создал привязку за вас:

/plugin marketplace add inflightsec/agent-vault-proxy
/plugin install avp@agent-vault-proxy

3. Попросите навык подключить сервис через прокси — например, скажите «направьте Stripe API через AVP». Он создаёт заглушку и выводит точную заметку для вставки в BitWarden; ваш ключ он не видит.

4. Поместите секрет в хранилище — добавьте реальный ключ в Bitwarden Secrets Manager (или Google Secret Manager) с этой заметкой, затем направьте агента через прокси:

avp env && avp run claude

Готово — агент отправляет только заглушку; AVP подставляет реальный ключ прямо в трафике.

Вместо avp run вы можете экспортировать переменные прокси и CA в ~/.zshrc вашего агента (или в любой shell-rc) — канонический блок приведён в Использование. Такой способ постоянный, но он направляет через AVP всю вашу оболочку целиком, а не только того агента, которого запускает AVP.

Посмотрите в действии

agent-vault-proxy demo: prompt injection vs. credential isolation

Добавьте секрет с помощью вашего ИИ-агента — без правки конфигурации

Подключение нового проксируемого учётного данного не должно означать ручное написание YAML-привязки. Встроенный навык avp позволяет ИИ-ассистенту (Claude Code или любому агенту, загружающему навыки) провести вас через весь процесс: вы говорите «направьте Acme API через AVP», он спрашивает о типе аутентификации и хосте, а затем говорит вам точно, что добавить, — имя секрета и аннотацию для вставки в поле Notes в Bitwarden Secrets Manager (или аннотацию avp-binding в Google Secret Manager, или метаданные конкретного секрета будущего бэкенда). Никакой правки конфигурации AVP, никакого повторного развёртывания — и ассистент никогда не видит и не сохраняет секрет; он предлагает, а вы применяете.

Сама заметка — это две строки, которые вставляются в поле Notes секрета:

# avp-binding
api.acme.com

Строка-маркер — это то, что превращает заметку в привязку: заметка, первая строка которой не является # avp-binding, остаётся тем, чем и была, — человеческим описанием и никогда не разбирается (ADR-0025).

Установка навыка

Claude Code (рекомендуется) — установите его как плагин, чтобы он был доступен в каждом проекте и обновлялся через /plugin marketplace update:

/plugin marketplace add inflightsec/agent-vault-proxy
/plugin install avp@agent-vault-proxy

Вызывайте его как /avp:avp или просто скажите «направьте Acme API через AVP» — и он сработает сам.

Вручную (любой агент, загружающий навыки в формате Anthropic) — скопируйте или создайте симлинк skills/avp/ в каталоге навыков вашего агента; Claude Code читает ~/.claude/skills/. Благодаря симлинку он остаётся актуальным при git pull:

ln -s "$PWD/skills/avp" ~/.claude/skills/avp

Документация

  • Подходит ли вам AVP? — что он делает, что он намеренно не делает, зачем и когда к нему обращаться (начните отсюда, если присматриваетесь)
  • Быстрый старт — первый запуск за 10 минут с видимой подстановкой в конце
  • Концепции — заглушка (placeholder), привязка (binding), CA, fail-closed — простыми словами
  • Предварительные требования — настройка Bitwarden Secrets Manager (сделайте это в первую очередь)
  • Установка на Linux · Docker · macOS
  • Использование — подключение вашего агента к прокси
  • Изоляция в Linux — совместное использование AVP с bubblewrap для песочницы на уровне файловой системы
  • bindings.example.yaml — полная схема конфигурации
  • Навык avp — позвольте ИИ-ассистенту создавать ваши привязки через заметки/аннотации (только предложения, без правки конфигурации, без повторного развёртывания)
  • Архитектура — модель угроз, инварианты G1–G9, hardening, остаточные риски
  • Архитектура адаптеров — бэкенды хранилищ (сегодня поставляются Bitwarden + Google Secret Manager, static — для разработки) и как добавить новый
  • Google Secret Manager — хранение секретов в GSM: настройка, аутентификация без ключей и сквозное тестирование
  • Сравнение — сравнение с Vault Agent, Doppler, op run, superfly/tokenizer, OneCLI и другими инструментами для учётных данных агентов (используйте то, что подходит, — цель в том, чтобы было защищено больше агентов, а не в привязке к продукту)
  • CHANGELOG · SECURITY · CONTRIBUTING · CREDITS

Прокси никогда не «звонит домой». Единственные исходящие соединения, которые он устанавливает, — это к настроенной вами конечной точке BWS и к вышестоящим API, которые вызывает ваш агент. Никакой телеметрии. Журнал аудита в /var/log/agent-vault-proxy/audit.jsonl по умолчанию хранится только локально; опциональная отправка за пределы машины пересылает его — из отдельного сайдкара, никогда из самого прокси — только коллектору, который вы запускаете и контролируете.

Лицензия

MIT — см. LICENSE. Все функции поставляются здесь: ни open-core, ни enterprise-уровня, ни облачного сервиса. Форкайте, читайте целиком, запускайте вечно. Предшествующие наработки отмечены в CREDITS.md.

Категории