
agent-vault-proxy v0.9.0
Just-in-time API-ключи для ИИ-агентов — и любого другого процесса, который вы через него маршрутизируете: вызывающая сторона видит только плейсхолдер.
agent-vault-proxy
API-ключи по требованию (just-in-time) для ИИ-агентов и любых других процессов, которые вы направляете через него: вызывающий код видит только заглушку.
AVP защищает вас от похитителей учётных данных (Shai-Hulud и подобных) и от агентов, которые из-за prompt-инъекций раскрывают ваши секреты. Это локальный прокси, который внедряет реальные секреты в запросы на лету, поэтому скомпрометированному агенту или агенту с prompt-инъекцией нечего красть.
Под капотом: 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.
Посмотрите в действии
Добавьте секрет с помощью вашего ИИ-агента — без правки конфигурации
Подключение нового проксируемого учётного данного не должно означать ручное написание 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.