
agent-vault-proxy v0.9.0
Chaves de API just-in-time para agentes de IA - e qualquer outro processo que você roteie através dela: o chamador só vê um placeholder.
agent-vault-proxy
Chaves de API just-in-time para agentes de IA e qualquer outro processo que você roteie por ele: o chamador só vê um placeholder.
O AVP protege você contra roubadores de credenciais (Shai-Hulud e similares) e agentes com injeção de prompt que vazam seus segredos. É um proxy local que injeta segredos reais em requisições em trânsito, de modo que um agente comprometido ou com injeção de prompt não tenha nada para roubar.
Sob o capô: um proxy HTTPS de loopback que busca credenciais do Bitwarden Secrets Manager — em nuvem ou self-hosted — just-in-time e as injeta em requisições de saída, de modo que o processo chamador nunca detenha os bytes reais da credencial em seu espaço de endereçamento.
Totalmente open source, deliberadamente simples
Cada recurso está neste repositório sob MIT. Não há camada paga, nem edição enterprise, nem nuvem em que você precise confiar, nem telemetria — você pode ler tudo de ponta a ponta (alguns milhares de linhas) e executá-lo para sempre.
Todo o fluxo de trabalho é um único movimento: peça à skill incluída para rotear um serviço, ela informa a linha única para colar no Bitwarden (ou no seu cofre), você cola, e o agente é intermediado. Pronto. Como cada credencial intermediada é um binding, a configuração é a lista completa e auditável de exatamente quais segredos cada agente pode acessar — nada implícito, nada oculto.
E o objetivo não é lock-in. A meta é simplesmente que menos chaves reais fiquem dentro de agentes de IA, em qualquer lugar. Se o AVP servir, use-o; se uma das alternativas se encaixar melhor no seu setup, use essa. Qualquer ferramenta que mantenha o segredo real fora da memória do agente é uma vitória.
Experimente. 10 segundos.
1. Instale — 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. Instale a skill para que seu agente escreva o binding por você:
/plugin marketplace add inflightsec/agent-vault-proxy
/plugin install avp@agent-vault-proxy
3. Peça à skill para intermediar um serviço — diga "roteie a API do Stripe pelo AVP." Ela gera o placeholder e imprime a nota exata para colar no Bitwarden; ela nunca vê sua chave.
4. Coloque o segredo no seu cofre — adicione a chave real ao Bitwarden Secrets Manager (ou Google Secret Manager) com essa nota e roteie seu agente pelo proxy:
avp env && avp run claude
Pronto — o agente só envia o placeholder; o AVP troca pela chave real no tráfego.
Em vez de avp run, você pode exportar as variáveis do proxy e da CA no ~/.zshrc do seu agente (ou em qualquer shell rc) — veja Uso para o bloco canônico. É persistente, mas roteia todo o seu shell pelo AVP, não apenas o agente que o AVP inicia.
Veja em ação
Adicione um segredo com seu agente de IA — sem editar configuração
Integrar uma nova credencial intermediada não deveria significar escrever YAML de binding à mão. A avp skill incluída permite que um assistente de IA (Claude Code, ou qualquer agente que carregue skills) te guie pelo processo: você diz "roteie a API da Acme pelo AVP", ele pergunta o formato de autenticação e o host, e então informa exatamente o que adicionar — o nome do segredo mais a anotação para colar no campo Notes do Bitwarden Secrets Manager (ou a anotação avp-binding do Google Secret Manager, ou os metadados por segredo de um backend futuro). Sem edição de configuração do AVP, sem redeploy — e o assistente nunca vê nem armazena o segredo; ele propõe, você aplica.
A nota em si são duas linhas coladas no campo Notes do segredo:
# avp-binding
api.acme.com
A linha de marcador é o que a torna um binding: uma nota cuja primeira linha não é # avp-binding permanece o que é — uma descrição humana, nunca interpretada (ADR-0025).
Instale a skill
Claude Code (recomendado) — instale-o como plugin, para que fique disponível em todos os projetos e seja atualizado com /plugin marketplace update:
/plugin marketplace add inflightsec/agent-vault-proxy
/plugin install avp@agent-vault-proxy
Invoque-o como /avp:avp, ou apenas diga "roteie a API da Acme pelo AVP" e ele será acionado sozinho.
Manual (qualquer agente que carregue skills no formato Anthropic) — copie ou crie um symlink de skills/avp/ para o diretório de skills do seu agente; o Claude Code lê ~/.claude/skills/. Um symlink o mantém atualizado no git pull:
ln -s "$PWD/skills/avp" ~/.claude/skills/avp
Documentação
- O AVP é para você? — o que ele faz, o que deliberadamente não faz, o porquê e quando recorrer a ele (comece aqui se estiver avaliando)
- Início rápido — primeira execução de 10 minutos que termina em uma substituição visível
- Conceitos — placeholder, binding, a CA, fail-closed — em termos simples
- Pré-requisitos — configuração do Bitwarden Secrets Manager (faça isso primeiro)
- Instalação no Linux · Docker · macOS
- Uso — apontando seu agente para o proxy
- Isolamento no Linux — compondo o AVP com
bubblewrappara sandboxing de filesystem - bindings.example.yaml — esquema completo de configuração
- avp skill — deixe um assistente de IA criar seus bindings de notas/anotações (somente proposta, sem edição de configuração, sem redeploy)
- Arquitetura — modelo de ameaça, invariantes G1–G9, hardening, riscos residuais
- Arquitetura de adaptadores — backends de cofre (Bitwarden + Google Secret Manager disponíveis hoje,
staticpara dev) e como adicionar outro - Google Secret Manager — mantenha segredos no GSM: configuração, autenticação sem chave e testes de ponta a ponta
- Comparação — vs. Vault Agent, Doppler,
op run,superfly/tokenizer, OneCLI e outras ferramentas de credenciais para agentes (use a que servir — o objetivo é mais agentes protegidos, não lock-in) - CHANGELOG · SECURITY · CONTRIBUTING · CREDITS
O proxy nunca "telefona para casa". As únicas conexões de saída que ele faz são para o endpoint BWS que você configura e para as APIs upstream que seu agente está chamando. Sem telemetria. O log de auditoria em /var/log/agent-vault-proxy/audit.jsonl é somente local por padrão; o envio off-box opcional o encaminha — de um sidecar separado, nunca do proxy — apenas para um coletor que você executa e controla.
Licença
MIT — veja LICENSE. Cada recurso é entregue aqui: sem open-core, sem camada enterprise, sem serviço hospedado. Faça um fork, leia de ponta a ponta, execute para sempre. Trabalhos anteriores reconhecidos em CREDITS.md.